[英]How to extract frames(or a perticular frame) from a YUV video using ffmpeg
這是從MP4
視頻中提取幀的代碼。 ffmpeg -i above_marathon_250.mp4 images%03d.bmp
但相同的代碼不適用於YUV
格式的視頻。 有誰知道如何從YUV
格式視頻中提取幀?
它不起作用,因為yuv文件沒有頭,因此ffmpeg不知道文件的大小/ pixfmt。 您需要手動指定分辨率和pixmt:
ffmpeg -video_size 1920x1080 -r 25 -pixel_format yuv422p -i file.yuv output-%d.png
然后調整大小/ pixfmt以匹配您的特定視頻。
[編輯]我還建議將來在超級用戶上發布此類問題,這與編程無關。
ffmpeg.org中給出的命令是
ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
這將每秒從視頻中提取一個視頻幀,並將其輸出到名為foo-001.jpeg,foo-002.jpeg等的文件中。圖像將被重新縮放以適應新的WxH值。
您可以將上述命令修改為
ffmpeg -i inputfile.yuv -r 1 -f image2 images%05d.png
其中r是幀速率,應將其設置為1,以從yuv中提取單幀
您必須指定視頻大小-video_size
和幀速率-r
因此請使用以下腳本:
ffmpeg.exe -video_size 720x576 -r 25 -ss 00:00:00 -i video_input_720x576_25.yuv -vframes 1 -q:v 1 frame_output_720x576_25.jpg
如果你想指定輸入視頻格式包括-pixel_format yuv420p
或除任何其他格式yuv420p
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.