溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ffmpeg使用

發(fā)布時間:2020-04-02 12:13:38 來源:網(wǎng)絡(luò) 閱讀:2300 作者:曾永剛 欄目:軟件技術(shù)
使用ffmpeg解碼X264產(chǎn)生的編碼文件s1.yuv,命令如下:ffmpeg -s 352x288 -i s1.yuv s1.mpg,則可以將s1.yuv解碼成mpg文件,可以使用暴風(fēng)影音播放,上面的352x288是原始序列的大小,"x"是英文字母,而不是"*".
附:FFMPEG功能
 
yuv420p原始圖像 到 264文件
ffmpeg -i test.yuv  test.h364  注意要是以h364結(jié)尾才可以哦
 
 
 

1. 視頻音頻格式轉(zhuǎn)換
Ffmpeg能使用任何支持的格式和協(xié)議作為輸入:
*比如你可以輸入YUV文件:ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
它將要使用如下文件:
       /tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V,等等…
    *你能輸入原始的YUV420P文件:ffmpeg -i /tmp/test.yuv /tmp/out.avi
    原始的YUV420P文件包含原始的YUV極性,每幀以Y平面開始,跟隨U和V平面,它們是Y平面水平垂直的一半分辨率
    *你能輸出原始的YUV420P文件
    ffmpeg -i mydivx.avi -o hugefile.yuv
       *你能設(shè)置幾個輸入文件和輸出文件
       ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
       上面的命令行轉(zhuǎn)換音頻文件a.wav和原始的YUV 視頻文件 a.yuv到mpeg文件a.mpeg
      
       *你也能同時轉(zhuǎn)換音頻和視頻
ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
上面的命令行轉(zhuǎn)換a.wav的采樣率到22050HZ并編碼為mpeg音頻
*你也能同時編碼到幾種格式并且在輸入流和輸出流之間建立映射
       ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0
       上面的命令行轉(zhuǎn)換一個64Kbits 的a.wav到128kbits的a.mp2 ‘-map file:index’在輸出流的順序上定義了那一路輸入流是用于每一個輸出流的,
      
       轉(zhuǎn)碼解密的VOB:
       ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp3 -ab 128 snatch.avi
       上面的命令行將vob的文件轉(zhuǎn)化成avi文件,mpeg4的視頻和mp3的音頻。注意命令中使用了B幀,所以mpeg4流是divx5兼容的。GOP大小是300意味著29.97幀頻下每10秒就有INTRA幀。該映射在音頻語言的DVD轉(zhuǎn)碼時候尤其有用
2. Ffmpeg使用語法
        ffmpeg [[options][`-i' input_file]]... {[options] output_file}...
      如果沒有輸入文件,那么視音頻捕捉就會起作用。
      作為通用的規(guī)則,選項一般用于下一個特定的文件。如果你給 –b 64選項,改選會設(shè)置下一個視頻速率。對于原始輸入文件,格式選項可能是需要的。
      缺省情況下,ffmpeg試圖盡可能的無損轉(zhuǎn)換,采用與輸入同樣的音頻視頻參數(shù)來輸出。
3.選項
a) 通用選項
      -L license
      -h 幫助
      -fromats 顯示可用的格式,編解碼的,協(xié)議的。。。
      -f fmt 強迫采用格式fmt
      -I filename 輸入文件
   -y 覆蓋輸出文件
        -t duration 設(shè)置紀(jì)錄時間 hh:mm:ss[.xxx]格式的記錄時間也支持
        -ss position 搜索到指定的時間 [-]hh:mm:ss[.xxx]的格式也支持
        -title string 設(shè)置標(biāo)題
        -author string 設(shè)置作者
        -copyright string 設(shè)置版權(quán)
        -comment string 設(shè)置評論
       -target type 設(shè)置目標(biāo)文件類型(vcd,svcd,dvd) 所有的格式選項(比特率,編解碼以及緩沖區(qū)大?。┳詣釉O(shè)置 ,只需要輸入如下的就可以了:
ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
        -hq 激活高質(zhì)量設(shè)置
        -itsoffset offset 設(shè)置以秒為基準(zhǔn)的時間偏移,該選項影響所有后面的輸入文件。該偏移被加到輸入文件的時戳,定義一個正偏移意味著相應(yīng)的流被延遲了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
        b) 視頻選項
               -b bitrate 設(shè)置比特率,缺省200kb/s
               -r fps 設(shè)置幀頻 缺省25
               -s size 設(shè)置幀大小 格式為WXH 缺省160X128.下面的簡寫也可以直接使用:
                      Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576
               -aspect aspect 設(shè)置橫縱比 4:3 16:9 或 1.3333 1.7777
               -croptop size 設(shè)置頂部切除帶大小 像素單位
               -cropbottom size –cropleft size –cropright size
               -padtop size 設(shè)置頂部補齊的大小 像素單位
               -padbottom size –padleft size –padright size –padcolor color 設(shè)置補齊條顏色(hex,6個16進制的數(shù),紅:綠:蘭排列,比如 000000代表黑色)
               -vn 不做視頻記錄
               -bt tolerance 設(shè)置視頻碼率容忍度kbit/s
               -maxrate bitrate設(shè)置最大視頻碼率容忍度
               -minrate bitreate 設(shè)置最小視頻碼率容忍度
               -bufsize size 設(shè)置碼率控制緩沖區(qū)大小
               -vcodec codec 強制使用codec編解碼方式。 如果用copy表示原始編解碼數(shù)據(jù)必須被拷貝。
               -sameq 使用同樣視頻質(zhì)量作為源(VBR)
               -pass n 選擇處理遍數(shù)(1或者2)。兩遍編碼非常有用。第一遍生成統(tǒng)計信息,第二遍生成精確的請求的碼率
               -passlogfile file 選擇兩遍的紀(jì)錄文件名為file
               -
       c)高級視頻選項
              -g gop_size 設(shè)置圖像組大小
              -intra 僅適用幀內(nèi)編碼
              -qscale q 使用固定的視頻量化標(biāo)度(VBR)
              -qmin q   最小視頻量化標(biāo)度(VBR)
              -qmax q 最大視頻量化標(biāo)度(VBR)
              -qdiff q 量化標(biāo)度間最大偏差 (VBR)
              -qblur blur 視頻量化標(biāo)度柔化(VBR)
              -qcomp compression 視頻量化標(biāo)度壓縮(VBR)
              -rc_init_cplx complexity 一遍編碼的初始復(fù)雜度
              -b_qfactor factor 在p和b幀間的qp因子
              -i_qfactor factor 在p和i幀間的qp因子
              -b_qoffset offset 在p和b幀間的qp偏差
              -i_qoffset offset 在p和i幀間的qp偏差
              -rc_eq equation 設(shè)置碼率控制方程 默認tex^qComp
              -rc_override override 特定間隔下的速率控制重載
              -me method 設(shè)置運動估計的方法 可用方法有 zero phods log x1 epzs(缺省) full
              -dct_algo algo 設(shè)置dct的算法 可用的有 0 FF_DCT_AUTO 缺省的DCT 1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5 FF_DCT_ALTIVEC
              -idct_algo algo 設(shè)置idct算法??捎玫挠?0 FF_IDCT_AUTO 缺省的IDCT 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9 FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM
              -er n 設(shè)置錯誤殘留為n 1 FF_ER_CAREFULL 缺省 2 FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE
-ec bit_mask 設(shè)置錯誤掩蔽為bit_mask,該值為如下值的位掩碼 1 FF_EC_GUESS_MVS (default=enabled) 2 FF_EC_DEBLOCK (default=enabled)
              -bf frames 使用frames B 幀,支持mpeg1,mpeg2,mpeg4
              -mbd mode 宏塊決策 0 FF_MB_DECISION_SIMPLE 使用mb_cmp 1 FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD
              -4mv 使用4個運動矢量 僅用于mpeg4
              -part 使用數(shù)據(jù)劃分 僅用于mpeg4
              -bug param 繞過沒有被自動監(jiān)測到編碼器的問題
              -strict strictness 跟標(biāo)準(zhǔn)的嚴格性
              -aic 使能高級幀內(nèi)編碼 h363+
              -umv 使能無限運動矢量 h363+
              -deinterlace 不采用交織方法
              -interlace 強迫交織法編碼 僅對mpeg2和mpeg4有效。當(dāng)你的輸入是交織的并且你想要保持交織以最小圖像損失的時候采用該選項??蛇x的方法是不交織,但是損失更大
              -psnr 計算壓縮幀的psnr
              -vstats 輸出視頻編碼統(tǒng)計到vstats_hhmmss.log
              -vhook module 插入視頻處理模塊 module 包括了模塊名和參數(shù),用空格分開
       D)音頻選項
              -ab bitrate 設(shè)置音頻碼率
              -ar freq 設(shè)置音頻采樣率
              -ac channels 設(shè)置通道 缺省為1
              -an 不使能音頻紀(jì)錄
              -acodec codec 使用codec編解碼
       E)音頻/視頻捕獲選項
              -vd device 設(shè)置視頻捕獲設(shè)備。比如/dev/video0
              -vc channel 設(shè)置視頻捕獲通道 DV1394專用
              -tvstd standard 設(shè)置電視標(biāo)準(zhǔn) NTSC PAL(SECAM)
              -dv1394 設(shè)置DV1394捕獲
              -av device 設(shè)置音頻設(shè)備 比如/dev/dsp
             
      F)高級選項
              -map file:stream 設(shè)置輸入流映射
              -debug 打印特定調(diào)試信息
              -benchmark 為基準(zhǔn)測試加入時間
              -hex 傾倒每一個輸入包
              -bitexact 僅使用位精確算法 用于編解碼測試
              -ps size 設(shè)置包大小,以bits為單位
              -re 以本地幀頻讀數(shù)據(jù),主要用于模擬捕獲設(shè)備
              -loop 循環(huán)輸入流。只工作于圖像流,用于ffserver測試
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI