<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          FFmpeg常用命令行

          共 5958字,需瀏覽 12分鐘

           ·

          2021-12-29 01:19

          ????????本文收集記錄了筆者使用過的FFmpeg命令,親測可用,并不是簡單的copy別人的FFmpeg大全,下面的命令大部分都是本人測試成功過的,大家可以放心使用。


          ????????音視頻技術是程序員日常生活中經常用到的,比如轉碼需求,同事下載的avi視頻,電腦上沒有播放器可以播放此格式的視頻文件,那你就可以幫他把avi轉成mp4格式,你兩個就可以愉快的觀看了;截取視頻需求,錄制視頻后,可能不需要前面3秒和后面5秒,那就需要剪切或者拼接視頻;想提取視頻中的某一幀畫面出來;不想看到視頻畫面,只想聽到里面的聲音,那就提取視頻中的音頻轉為mp3;出于某種特殊的需求,你想倒著播放一段視頻等等,太多太多了,再比如視頻中加GIF,視頻中加文字,抖音合拍功能,視頻加速播放。上面的這些需求或者是想法,都可以用命令行輕松搞定,F(xiàn)Fmpeg的強大,只有你想不到,沒有他做不到。下面就列舉了一些常用的簡單命令,讓我們一起看一下吧,另外看完后,最好是動手去實踐一番。


          一、獲取視頻信息


          ffmpeg -i video.avi //查看本地的視頻信息

          ffmpeg -i http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4//查看遠程http視頻信息


          二、分離視頻音頻流


          ffmpeg -i input_file -vcodec copy -an output_file_video  //分離視頻流

          ffmpeg -i input_file -acodec copy -vn output_file_audio  //分離音頻流

          ffmpeg -i input.mp4 -an output.mp4             //去掉視頻中的音頻

          ffmpeg -i test.avi -vcodec copy -an output.avi //去掉視頻中的音頻


          三、視頻轉碼相關


          ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 output.mp4//ts視頻流轉mp4

          ffmpeg -i test.h264 -vcodec copy -f mpegts output.ts//h264視頻轉ts視頻流

          ffmpeg -i test.h264 -vcodec copy -f mp4 output.mp4//h264視頻轉mp4

          ffmpeg -i test.mp4 -b:v 640k output.flv //mp4轉flv

          ffmpeg -i test.mp4 -acodec copy -vcodec copy -f flv output.flv //mp4轉flv

          ffmpeg -i test.flv -b:v 640k output.mp4 //flv轉mp4

          ffmpeg -i test.mp4 -s 176x144 -vcodec h263 -r 25 -b 12200 -ab 12200 -ac 1 -ar 8000 output.3gp //mp4轉3gp

          ffmpeg -i test.avi -s aqif -vcodec -acodec mp3 -ac 1 -ar 8000 -r 25 -ab 32 -y output.3gp //avi轉3gp

          ffmpeg -i test.3gp -f avi -vcodec xvid -acodec mp3 -ar 22050 output.avi //3gp轉flv

          ffmpeg -i test.flv -s 176x144 -vcodec h263 -r 25 -b 200 -ab 64 -acodec mp3 -ac 1 -ar 8000 output.3gp //flv轉3gp

          ffmpeg -i test.mp4 output.avi //mp4轉avi

          ffmpeg -i test.flv -vcodec h264 -r 25 -b 200 -ab 128 -acodec mp3 -ac 2 -ar 44100 output.mp4 //flv轉mp4

          ffmpeg -i test.mp4 -c:v libx264 -ar 22050 -crf 28 output.flv //mp4轉flv

          ffmpeg -i test.avi -c copy -map 0 output.mp4 //avi轉mp4


          ffmpeg -i ?http://vfile1.grtn.cn/2018/1542/0254/3368/154202543368.ssm/154202543368.m3u8 -c copy -bsf:a aac_adtstoasc -movflags +faststart test.mp4 //m3u8資源鏈接直接轉mp4


          ffmpeg -i test.mkv -y -vcodec copy -acodec copy output.mp4 //mkv轉mp4

          ffmpeg -i test.mkv -vcodec copy -acodec copy output.avi  //mkv轉avi


          四、圖像處理相關


          ffmpeg –i test.mp4 -y -f image2 -ss 8 -t 0.001 -s 350x240 testImage.jpg //截取指定時間的縮略圖,-ss后跟的時間單位是秒

          ffmpeg -i input.mp4 -vf "movie=logo.png?[logo];?[in][logo]?overlay=10:10:1?[out]" output.mp4//添加圖片水印

          ffmpeg -i input.mp4 -i logo.png -filter_complex overlay test1.mp4//添加圖片水印

          ffmpeg –i input.mp4 -acodec copy-vcodec copy -vf "movie=test.png[watermark];[in][watermark]overlay=10:10:1[out]" output.mp4//添加圖片水印

          ffmpeg -y -i test2.mp4 -ignore_loop 0 -i test.gif -filter_complex overlay=0:H-h test_out2.mp4//添加GIF

          ffmpeg -i input.flv -vf "drawtext=fontfile=simhei.ttf: text='抖音':x=100:y=10:fontsize=24:fontcolor=yellow:shadowy=2" drawtext.mp4//添加文字水印


          五、視頻方向處理相關


          ffmpeg -i test.mp4 -metadata:s:v rotate="90" -codec copy out.mp4//旋轉90°

          ffmpeg -i test.mp4 -vf "transpose=1" out.mp4//順時針旋轉90°

          ffmpeg -i test.mp4 -vf "transpose=2" out.mp4//逆時針旋轉90°

          ffmpeg -i test.mp4 -vf "transpose=3" out.mp4//順時針旋轉90°后再水平翻轉

          ffmpeg -i test.mp4 -vf "transpose=0" out.mp4//逆時針旋轉90°后再水平翻轉

          ffmpeg -i test.mp4 -vf hflip out.mp4//水平翻轉視頻畫面

          ffmpeg -i test.mp4 -vf vflip out.mp4//垂直翻轉視頻畫面


          六、視頻剪切相關


          ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg//提取圖片

          ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi ? ?//-r 提取圖像的頻率,-ss 開始時間,-t 持續(xù)時間

          //從10s處開始剪切,持續(xù)15秒(此方法有時候會遇到視頻第一幀黑屏,就是未播放時候的封面是黑色的,原因是未定位到關鍵幀I幀)
          ffmpeg -i test.mp4 -ss 10 -t 15 -codec copy cut.mp4

          //從10s處開始剪切,持續(xù)15秒(此方法為優(yōu)化后的方法,此剪切視頻的方法可以解決第一幀黑屏問題,但是可能切割的時間落點稍稍的有一丟丟的不準確,但是應該可以落在誤差范圍之內)
          ffmpeg -ss 10 -t 15 -i test.mp4 -codec copy cut.mp4


          七、倒放音視頻&加速視頻&減速視頻


          ffmpeg.exe -i inputfile.mp4 -filter_complex [0:v]reverse[v] -map [v] -preset superfast reversed.mp4 //視頻倒放,無音頻

          ffmpeg.exe -i inputfile.mp4 -vf reverse reversed.mp4//視頻倒放,音頻不變

          ffmpeg.exe -i inputfile.mp4 -map 0 -c:v copy -af "areverse" reversed_audio.mp4//音頻倒放,視頻不變

          ffmpeg.exe -i inputfile.mp4 -vf reverse -af areverse -preset superfast reversed.mp4//音視頻同時倒放

          ffmpeg -i inputfile.mp4 -vf setpts=PTS/2 -af atempo=2 output.mp4//視頻加速,幀速率變?yōu)?倍,調整倍速范圍【0.25,4】

          ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv//視頻減速播放
          八、視頻拼接


          這里全部以mp4文件為例子,介紹兩種方法,如果不是mp4文件,可以嘗試先轉碼為mp4后再拼接起來


          1、?mp4?先轉碼為?mpeg文件,mpeg是支持簡單拼接的,然后再轉回?mp4。

          ffmpeg -i 1.mp4 -qscale 4 1.mpg 
           
          ffmpeg -i 2.mp4 -qscale 4 2.mpg 

          cat 1.mpg 2.mpg | ffmpeg -f mpeg -i - -qscale 6 -vcodec mpeg4 output.mp4             


          2、使用ts拼接

          先將 mp4 轉化為同樣編碼形式的 ts 流,因為 ts流是可以 concate 的,先把 mp4 封裝成 ts ,然后 concate ts 流, 最后再把 ts 流轉化為 mp4。


          ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts  

          ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts

          ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4             



          九、視頻的合并


          下面通過動手實現(xiàn)抖音合拍功能來演示命令行的使用,首先準備好兩個文件input1和input2,都是用手機拍攝的,高度相同;


          1、兩個視頻的合并(注意參數hstack代表是橫向合并,也就是左右合并,橫向合并的形象類比為“川”;如果是豎向合并,也就是上下合并,用參數vstack,豎向或者縱向合并的形象類比為“三”)


          ffmpeg?-i input1.mp4 -i input2.mp4 -lavfi hstack output.mp4


          注意:經過此命令處理后的視頻output.mp4只會保留input1的音頻


          2、提取視頻中的音頻并合并音頻


          ffmpeg -i input1.mp4 -vn -y -acodec copy audio1.m4a

          ffmpeg -i input2.mp4 -vn -y -acodec copy audio2.m4a

          ffmpeg -i audio1.m4a -i audio2.m4a -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 audio3.mp3


          3、把audio3.mp3文件合并到output.mp4中去


          ffmpeg -i output.mp4 -i?audio3.mp3?-c:v copy -c:a aac -strict experimental success.mp4


          最后我們得到的success.mp4就是合拍視頻,包含了兩個視頻的音頻。


          三個視頻合并input=3表示希望合并的視頻的個數

          ffmpeg -i input1.mp4 -i input2.mp4 -i input3.mp4 -lavfi hstack=inputs=3 output.mp4




          常用參數說明:

          命令格式:
          ? ? ffmpeg -i [輸入文件名] [參數選項] -f [格式] [輸出文件]
          ? ? ffmpeg [[options][`-i' input_file]]... {[options] output_file}...
          ? ? (1) h264: 表示輸出的是h264的視頻裸流
          ? ? (2) mp4: 表示輸出的是mp4的視頻
          ? ? (3)mpegts: 表示ts視頻流

          主要參數:
          -i 設定輸入流
          -f 設定輸出格式
          -ss 開始時間
          視頻參數:
          -b 設定視頻流量,默認為200Kbit/s
          -r 設定幀速率,默認為25
          -s 設定畫面的寬與高
          -aspect 設定畫面的比例
          -vn 不處理視頻
          -vcodec 設定視頻編解碼器,未設定時則使用與輸入流相同的編解碼器,一般后面加copy表示拷貝

          音頻參數:
          -ar 設定采樣率
          -ac 設定聲音的Channel數
          -acodec 設定聲音編解碼器,未設定時則使用與輸入流相同的編解碼器,一般后面加copy表示拷貝

          -an 不處理音頻


          本文章未取得本人同意情況下禁止轉載。


          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产97色在线 | 国产 | 国产精品一区二区黑人巨大 | av午夜探花 | 欧美黑人XXXX高潮交 | 夫妻操逼|