![](/img/trans.png)
[英]How to extract frames from a .yuv video file (YUV420) using python and openCV?
[英]How to extract frames from a YUV file?
我有一個YUV文件,我想以BMP文件的形式獲取每個幀,怎么做呢? 我可以使用FFMPEG和MPlayer。
我建議您首先使用此代碼將.yuv文件轉換為.mp4格式。
ffmpeg -s 640x480 -i input.yuv -ss 00:00:00 -c:v libx264 -s:v 640x480 -preset slow -t 00:00:20 output.mp4
現在使用此代碼將圖像從output.mp4提取為.bmp格式
ffmpeg -i output.mp4 images%03d.bmp
這將起作用。
以上代碼略有解釋,以便您可以根據自己的需要更改代碼。
-s 640x480設置mp4的分辨率(您可以將其更改為您的要求)
-c:v libx264將編碼器設置為在libx264中進行編碼
-預設慢(這又將其更改為您對超快,中等等的要求)
-t設置輸出文件時間。 在這里我將其設置為20秒。(記住格式為hh:mm:ss.ms,其中ms為毫秒)
image%03d.bmp作為輸出給出。 因此這意味着輸出文件將另存為image001.bmp,image002.bmp ...
或只是image%d.bmp輸出為image1.bmo,image2.bmp等
希望這可以幫助
您可以使用以下命令:
ffmpeg -s widthxheight -i input.yuv image%05d.bmp
請確保以像素為單位定義寬度和高度。 例如,對於Full HD,它將是-s 1920x1080
,這是必需的,因為yuv格式不存儲視頻本身的任何元數據,並且您需要指定yuv文件的分辨率。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.