最近需要用到視頻文件mp4和音頻文件wav之間的轉換,蒐集了一些資料 mark一下
1.雙聲道合併單聲道
ffmpeg -i music.mp3 -ac 1 music.aac
當中 -ac 1 代表的是合併成單聲道
2.分離視頻音頻流
ffmpeg -i input_file -vcodec copy -an output_file_video //分離視頻流
ffmpeg -i input_file -acodec copy -vn output_file_audio //分離音頻流
3.視頻解複用
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264
4.視頻轉碼
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 分辨率控制
5.視頻封裝
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
6.視頻剪切
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 持續時間
7.視頻錄製
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
8.YUV序列播放
ffplay -f rawvideo -video_size 1920x1080 input.yuv
9.YUV序列轉AVI
ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi
常用參數說明:主要參數:
-i 設定輸入流
-f 設定輸出格式
-ss 開始時間
視頻參數:
-b 設定視頻流量,默認爲200Kbit/s
-r 設定幀速率,默認爲25
-s 設定畫面的寬與高
-aspect 設定畫面的比例
-vn 不處理視頻
-vcodec 設定視頻編解碼器,未設定時則使用與輸入流相同的編解碼器
音頻參數:
-ar 設定採樣率
-ac 設定聲音的Channel數
-acodec 設定聲音編解碼器,未設定時則使用與輸入流相同的編解碼器
-an 不處理音頻