ffmpeg編碼YUV420視頻序列



依舊是這里的測試序列 http://www.cnblogs.com/zzugyl/p/3678865.html
測試了JM和libx264的編解碼質量
后來用ffmpeg轉碼 發現忘記了命令行轉碼的命令
網上搜來的很多都是復制粘貼 完全不考慮真實性 讓我測試半天

我想把YUV測試序列 720p50_parkrun_ter.yuv 720p50_shields_ter.yuv編碼成h264文件。
這里使用的ffmpeg是zeranoe編譯的 http://ffmpeg.zeranoe.com/builds/
ffmpeg version N-62509-g97751e1 Copyright (c) 2000-2014 the FFmpeg developers
  built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC)

第一次使用命令:

ffmpeg -i 720p50_parkrun_ter.yuv 720p50_parkrun_ter.h264

提示錯誤:
[rawvideo @ 003a7b40] Could not find codec parameters for stream 0 (Video: rawvideo (I420 / 0x30323449), yuv420p, -4 kb/s):
unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
720p50_parkrun_ter.yuv: could not find codec parameters

第二次使用命令:

ffmpeg -pix_fmt yuv420p -i 720p50_parkrun_ter.yuv 720p50_parkrun_ter.h264

依然是同樣的錯誤提示

第三次使用命令:

ffmpeg -pix_fmt yuv420p -i 720p50_parkrun_ter.yuv -vcodec libx264 -r  50 -s 128 0x720 720p50_parkrun_ter.h264

依然是同樣的錯誤提示

我很納悶了,該傳的參數,我都傳進去了。還需要什么呢?
最后經過qq群好友的提示,修正參數第四次嘗試。

第四次使用命令:

ffmpeg -s 128 0x720 -pix_fmt yuv420p -f rawvideo -i 720p50_parkrun_ter.yuv -vcodec libx264 -r  50 720p50_parkrun_ter.h264

這次順利進行了。
其實ffmpeg會根據后綴自行判斷編解碼方式。
進而可以簡化為:

ffmpeg -s 128 0x720 -i 720p50_parkrun_ter.yuv -r  50 720p50_parkrun_ter.h264

而且編碼出來的文件 連MD5都一樣。算法可真嚴謹。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM