當下直播平臺發展十分迅猛,依靠遊戲內直播平臺的發展帶動遊戲活躍提高收入,那麼對於咱們開發來講如何玩轉視頻呢?下面就來介紹一個音頻、視頻處理利器——FFmpeg。javascript
FFmpeg 是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。採用 LGPL 或 GPL 許可證。它提供了錄製、轉換以及流化音視頻的完整解決方案。java
# ffmpeg -i test.flv output.mp4
-i 表示輸入文件ide
# ffmpeg -i test.flv -vn music.mp3
-vn 表示忽略視頻編碼
# ffmpeg -i test.flv -an video.flv
-an 表示忽略音頻spa
# ffmpeg -i test.mp3 -ab 96 output.mp3
-ab 設置比特率,單位:bit/s視頻
# ffmpeg -i test.flv -f image2 -ss 5 -t 0.01 -s 480x320 test.jpg
-f 強制選擇格式token
-ss 搜索到指定時間,支持格式:[-]hh:mm:ss[.xxx],時間單位:秒遊戲
-t 設置記錄時間圖片
-s 設置幀的大小ip
# ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
# ffmpeg -i test.flv -strict -2 -c:v libx264 -c:a aac -f hls output.m3u8
-strict 跟標準的嚴格性
將 mp4 文件轉換成 ts 文件
# ffmpeg -i test.mp4 -c copy -bsf h264_mp4toannexb output.ts
將 ts 切片,而且生成 m3u8 文件
# ffmpeg -i output.ts -c copy -map 0 -f segment -segment_list 'list.m3u8' -segment_time 10 'output0d.ts'
ts 文件:傳輸流文件,視頻編碼主要格式 h264/mpeg4,音頻爲 acc/mp3。
m3u8 文件:用文本方式對媒體文件進行描述,由一系列標籤組成。
以上是對 FFmpeg 功能的一些簡單的介紹,它的功能遠遠不止這些,還十分強大,有興趣的小夥伴能夠後續一塊兒研究探討,充分利用好這一個強大的利器。