mencoder.exe在win10下將y4m轉換成yuv文件

最近在做有關視頻編解碼的工作,雖然還是小白,但是有一些進展可以和大家分享一下。
分享一個下載HEVC test sequence 的網址https://media.xiph.org/video/derf/
但是下載下來的序列都是y4m後綴名的文件,想轉到yuv文件。
第一步:裝個mencoder.exe
下載地址:http://download.csdn.net/download/chenbeihai/2989081
第二轉碼
其他博客裏分享的都是Linux 下的代碼,比如
命令如下:
“mencoder .y4m -ovc raw -of rawvideo -vf format=i420 -o .yuv ”
所以在這寫個在Windows下的命令行:
D:\Downloads\mencoder.exe -noodml “F:\akiyo_qcif.y4m” -ovc raw -of rawvideo -vf format=i420 -o “F:\akiyo_qcif.yuv”
圖如下:
y4m轉yuv命令行

接下來講講mencoder 其他知識補充一下
(一部分借鑑http://zoomq.qiniudn.com/ZQScrapBook/ZqFLOSS/data/20130529202055/index.html

mencoder 是一款命令行方式的視頻處理軟件,是Mplayer自帶的編碼工具,mencoder支持幾乎所有的格式的視頻轉換,可以將任意格式轉換到任意格式,轉換功能可以說是相當強大。目前市面上流行的格式轉換器,都是基於mencoder開發的GUI,比如暴風轉碼,格式工廠等。可以說轉換器能辦到的,mencoder都能辦到,但mencoder能辦到的,轉換器就不一定能辦到了。
很多初學者寧可去用轉換器,也不用mencoder的很大原因是mencoder只支持在命令行,mencoder命令行下操作,令很多初學都無所適從,不知如何開始.這也是mencoder不能流行開來的原因.
視頻格式轉換工具

基本用法:mencoder.exe -noodml “j:\工作區\01.wmv” -of avi -o “j:\工作區\b.avi” -ofps 20 -vf-add scale=224:176 -vf-add expand=224:176:-1:-1:1,rotate=2,flip -srate 44100 -ovc xvid -xvidencopts bitrate=350:max_bframes=0:quant_type=h263:me_quality=4 -oac lavc -lavcopts acodec=mp2:abitrate=96

舉例:把一個 MPEG-2 文件壓縮成一個 AVI 文件:以下命令中把一個 MPEG-2 文件(擴展名爲 MPG )轉換成一個 AVI 文件(Divx 視頻編碼,MP3 音頻編碼):
mencoder.exe input.mpg -oac mp3lame -lameopts aq=3:abr:br=128 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 -ffourcc DX50 -vf scale=480:360,crop=640:478:0:0,harddup -ofps 30 -o output.avi

1、-oac mp3lame:(output audio codec)指定輸出媒體文件的音頻編碼類型。此例中選擇的是 mp3lame。其它可以選擇的編碼如下表所示:
這裏寫圖片描述

2、-lameopts aq=3:abr:br=128:(lame options)指定 LAME 的編碼設置。aq 爲編碼質量,它的值爲 0~9,數字越小音頻的數字失真就越小,編碼的時間就越長;編碼方式包括有 abr(按平均碼率編碼)、cbr(指固定碼率編碼)、vbr(按動態碼率編碼)三種;br=128 則指定編碼碼率爲 128kbps。

3、-srate 44100:(sample rate)指定音頻的採樣頻率。頻率通常有 22050、32000、44100 等幾種。

4、-ovc lavc:(output video codec)指定輸出媒體文件的視頻編碼類型。此處選擇的是 Libavcodec 的視頻編碼,其它可以選擇的編碼如下表所示:
這裏寫圖片描述
5、-lavcopts vcodec=mpeg4:vbitrate=1200:(Libavcodec options)指定視頻編碼的設置。由於 Libavcodec 包含了多種視頻編碼,所以用 vcodec=mpeg4 來指定具體的使用 MPEG-4 編碼,vbitrate 是設定視頻編碼的碼率爲 1200kbps。

6、-fourcc DX50:(four character code)指定視頻數據流格式的四字符代碼。通常視頻播放軟件通過查詢 FourCC 代碼並且尋找與 FourCC 代碼相關聯的視頻解碼器來播放特定的視頻流。比如 DIV3 = DivX Low-Motion、DIV4 = DivX Fast-Motion、DIVX = DivX4、DX50 = Divx5 等等。

7、-vf scale=480:360,crop=640:478:0:0,harddup:(video filters)指定編碼的視頻濾鏡設置。scale=480:360 用於指定輸入媒體文件的畫面大小,寬度爲 480 像素,高度爲 360 像素。crop=638:477:1:2 是剪栽選項,從原始畫面的座標(1,2)爲起點,截取 638×477 像素的圖像。
  注意,命令裏的 scale 參數放在 crop 參數之前,表示“先縮放後剪栽”,如果 crop 參數放於 scale 參數之前,則表示“先剪栽後縮放”。
  
8、-ofps 30:(output fps)指定輸出媒體文件的幀速,30fps 指每秒種播放 30 個畫面。

9、-o output.avi:(output)指定轉換後輸入媒體的文件名。

基本參數:例如:mencoder input.avi -o output.avi -oac mp3lame -lameopts cbr:br=32 -ovc x264 -x264encopts bitrate=440 -vf scale=448:-3
input.avi 是指輸入的視頻,也就是你要轉換的視頻。
-o output.avi 中的“-o”是指你要輸出視頻,輸出的視頻名爲output.avi。
-oac 設置音頻編碼器。
mp3lame 設置音頻編碼器爲mp3lame,也是就mp3。
-lameopts 設置mp3lamer的相關參數。
cbr:br=32 設置音頻的碼率爲32。
-ovc 設置視頻編碼器。
x264 設置視頻編碼器爲x264。
-x264encopts 設置x264的參數。
bitrate-440 設置x264的視頻的碼率爲440。
-vf scale=448:-3 設置視頻的寬爲448,高爲-3,-3的意思就是讓mencoder來設置最佳高度。

這只是一部分,如果想更深入瞭解,還是要多積累,所使用搜索引擎。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章