我使用 FFMpeg 并处理一些可以包含多个视频流的 .mkv 视频。我如何从其他视频流中提取帧(而不是从主视频流中)?我想使用 FFMPeg 从每个视频流中提取一帧。有任何想法吗?
最佳答案
输入文件布局示例:
示例:从视频 #0:2 输出屏幕截图
从 30 秒时间戳 (
-ss 30
)。绝对 map
ffmpeg -ss 30 -i input.mkv -map 0:2 -frames:v 1 output.jpg
相对图使用此特定输入的结果与上述相同。
0:v:1
被翻译为“从输入#0 选择视频流#1”。 请注意 ffmpeg
从 0 开始计数,所以视频流 #1 实际上是第二个视频流。ffmpeg -ss 30 -i input.mkv -map 0:v:1 -frames:v 1 output.jpg
我更喜欢使用这种方法,因为您可以很懒惰并且不必知道实际的流图编号。示例:从每个视频流中输出屏幕截图
ffmpeg -ss 30 -i input.mkv -map 0:v:0 -frames:v 1 output0.jpg -map 0:v:1 -frames:v 1 output1.jpg -map 0:v:2 -frames:v 1 output2.jpg
另见-map
option documentation ffmpeg
? 关于video - 从辅助视频流 FFMpeg 中提取帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63923301/