玩轉音頻、視頻的利器:FFmpeg

導語

當下直播平臺發展十分迅猛,依靠遊戲內直播平臺的發展帶動遊戲活躍提高收入,那麼對於咱們開發來講如何玩轉視頻呢?下面就來介紹一個音頻、視頻處理利器——FFmpeg。javascript

FFmpeg 簡介

FFmpeg 是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。採用 LGPL 或 GPL 許可證。它提供了錄製、轉換以及流化音視頻的完整解決方案。java

FFmpeg 使用

  • 格式轉換:將文件 test.flv 轉換成 output.mp4
 # 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

  • 壓縮 mp3 文件:經過改變比特率,能夠調整 mp3 文件的大小
# ffmpeg -i test.mp3 -ab 96 output.mp3 

-ab 設置比特率,單位:bit/s視頻

  • 從視頻中截取圖片:從視頻第 8 秒處截圖,圖片尺寸大小:480x320,截圖文件名:test.jpg
# 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 跟標準的嚴格性

  • 轉換 ts 文件並生成 m3u8

將 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 功能的一些簡單的介紹,它的功能遠遠不止這些,還十分強大,有興趣的小夥伴能夠後續一塊兒研究探討,充分利用好這一個強大的利器。

相關文章
相關標籤/搜索