我正在尝试从mjpeg视频中提取帧,并使用ffmpeg同时获取单个帧的时间戳。
我可以用
做到ffmpeg.exe" -i mjpegvideo.avi -filter:v "showinfo" frame%d.jpg
但与
相比,这是非常缓慢的ffmpeg.exe" -i mjpegvideo.avi -vcodec copy frame%d.jpg
因为在第一个命令中,转换完成。但是,如果我尝试将-filter:v "showinfo
与-vcodec copy
一起使用,则会收到错误消息:Filtering and streamcopy cannot be used together.
使用vcodec copy
时有没有办法获取帧时间戳?
答案 0 :(得分:2)
如果您只是复制输入的编码,时间戳应该保持不变,这样您就可以这样做:
ffprobe -select_streams v -show_frames mjpegvideo.avi
该命令还可以输出JSON或XML,请参阅documentation。对于大型文件,这可能需要一段时间,但至少它不会转码。