我们有一个.ts
输入文件,其中包含(以及其他流)视频流和符合 MISB 0604 的 KLV 数据流。这些流的输出ffprobe
是:
Stream #0:0[0x111]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
...
Stream #0:2[0x1001]: Data: klv (KLVA / 0x41564C4B)
我们希望将视频的每 N 帧提取为.tiff
. 我们还需要将这些帧中的每一个与来自 MISB 0604 兼容数据流的相应 KLV 数据包相关联。
以下选择过滤器并按相应比率调整原始 FPS 的命令确实会导致将预期帧保存为 TIFF(在这种情况下,原始视频有 1187 帧,我希望从选择过滤器中获得 12 帧)。
ffmpeg -y -i 2205Z.ts -map 0:0 -vf "select='not(mod(n,100))'",fps=30000/1001/100 -compression_algo raw -pix_fmt rgb24 %05d.tif
但是,我似乎无法让任何过滤器处理数据流。例如 usingfilter:d
不会引发错误,但似乎也没有实际过滤。我的问题是是否ffmpeg
可以用来保存与上面对视频流执行的下采样操作相对应的“下采样”数据流?