簡體   English   中英

如何使用ffmpeg從YUV視頻中提取幀(或垂直幀)

[英]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文件沒有頭,因此ffm​​peg不知道文件的大小/ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM