關於ffmpeg工具的使用總結
阿新 • • 發佈:2017-09-24
rim 比較 ref 分辨率 靜音 rotate art lte scale FFmpeg官網:
http://ffmpeg.org/
安裝ffmpeg:
http://www.cnblogs.com/freeweb/p/6897907.html
主要參數:
-i 設定輸入流
-f 設定輸出格式
-ss 開始時間
視頻參數:
-b 設定視頻流量,默認為200Kbit/s
-r 設定幀速率,默認為25
-s 設定畫面的寬與高
-aspect 設定畫面的比例
-vn 不處理視頻
-vcodec 設定視頻編解碼器,未設定時則使用與輸入流相同的編解碼器
音頻參數:
-ar 設定采樣率
-ac 設定聲音的Channel數
-acodec 設定聲音編解碼器,未設定時則使用與輸入流相同的編解碼器
-an 不處理音頻
拓展:
-strict -2 之前是實驗參數表示 aac音頻編碼 如果不使用aac音頻編碼使用使其的編碼好像還需要導入第三方的音頻編碼庫 比較麻煩 使用FFmpeg自帶的aac音頻編碼要帶上-strict -2 參數就可以了。帶這個參數是為了使用aac音頻編碼。
-sameq 指相同的量級數,常被誤用成“相同的畫質”,所以被取消。官方推薦用-qscale和-qmax替代 ffmpeg不支持libfaac庫,faac庫音質也一般。 另支持2套AAC音頻編碼, -acodec aac 是ffmpeg自制的AAC編碼器,處在實驗階段,需要開啟"-strict experimental"參數,音質也不差。 -acodec libvo_aacenc 是移植自安卓系統的AAC編碼器,比較成熟。
=>m4a轉wav
ffmpeg.exe -i input.m4a -ac 2 -ar 44100 -acodec pcm_s16le -f wav output.wav
=>從視頻中提取聲音
ffmpeg -i [input].mp4 -vn -ab 128k [output].mp3
=>分離視頻音頻流
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 [input].mp4 -s 640x480 -c:a copy [output].mp4
=>截取一段音頻
ffmpeg -ss 00:00:15 -t 45 -i sampleaudio.mp3 croppedaudio.mp3
ffmpeg -i [input].mp4 -ss 00:00:00 -codec copy -t 15 [output].mp4
-ss:截取開始時間點, -t:要截取的視頻長度(15秒)
=>視頻剪切
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 持續時間
=>把一個視頻分成多個部分
0-59秒一部分,59秒以後一部分
ffmpeg -i [input].mp4 -t 00:00:59 -c copy [part1].mp4 -ss 00:00:59 -codec copy [part2].mp4
=>查看ffmpeg支持的視頻格式:
ffmpeg -formats
=>mp4到wmv格式轉換
ffmpeg -i [input].mp4 -c:v libx264 [output].wmv
=>webm轉為mp4
ffmpeg -i [input].webm -qscale 0 [output].mp4
=>視頻文件名寫入txt
ffmpeg -f concat -i file-list.txt -c copy outputfile.mp4
=>對音頻加減速
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
=>對視頻加減速
ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4
=> 旋轉視頻
ffmpeg -i input.mp4 -filter:v ‘transpose=1‘ rotated-video.mp4
ffmpeg -i input.mp4 -filter:v ‘transpose=2,transpose=2‘ rotated-video.mp4
=>改變聲音大小
ffmpeg -i input.wav -af ‘volume=0.5‘ output.wav
=>加入字幕
ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv
=> 把單獨的一個圖片轉為視頻
ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4
=>把視頻文件轉為圖片
ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png
=>視頻中提取幀
ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg
=>把視頻轉為GIF動態圖
ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif
=>左右聲道的錄音合成為立體聲
ffmpeg -i 1.wav -i 2.wav -filter_complex "amovie=1.wav [l]; amovie=2.wav [r]; [l] [r] amerge" 1_2.mp3
=>從視頻裏截圖
ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
=>音視頻文件的切割
ffmpeg -ss 00:00:10 -t 00:01:22 -i input.mp3 output.mp3
=>視頻解復用
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264
=>視頻轉碼
ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264 //轉碼為碼流原始文件
ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //轉碼為碼流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //轉碼為封裝文件
//-bf B幀數目控制,-g 關鍵幀間隔控制,-s 分辨率控制
=>視頻封裝
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
關於ffmpeg工具的使用總結