如何使用ffmpeg从YUV视频中提取帧(或特定帧)

mra*_*ana 2 video ffmpeg yuv

这是从MP4视频中提取帧的代码. ffmpeg -i above_marathon_250.mp4 images%03d.bmp 但是相同的代码不适用于YUV格式视频.有谁知道如何从YUV格式视频中提取帧?

Ron*_*tje 6

它没有用,因为yuv文件没有标题,所以ffmpeg不知道文件的大小/ pixfmt.您需要手动指定分辨率和pixmt:

ffmpeg -video_size 1920x1080 -r 25 -pixel_format yuv422p -i file.yuv output-%d.png

然后调整size/pixfmt以匹配您的特定视频.

[编辑]我还建议将来在超级用户上发布此类问题,这与编程无关.


小智 1

ffmpeg.org 中给出的命令是

ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
Run Code Online (Sandbox Code Playgroud)

这将从视频中每秒提取一个视频帧,并将其输出到名为 foo-001.jpeg、foo-002.jpeg 等的文件中。图像将重新缩放以适应新的宽x高值。

根据您的情况,您可以将上面的命令修改为

ffmpeg -i inputfile.yuv -r 1 -f image2 images%05d.png 
Run Code Online (Sandbox Code Playgroud)

其中 r 是帧速率,应设置为 1,以从 yuv 中提取单帧