簡體   English   中英

如何從YUV文件中提取幀?

[英]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.

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