1、FFmpeg理解
(1)FFmpeg是一個視屏、音頻編碼工具
(2)x項目名稱mpeg來源mpeg編碼標准,但不局限只能使用mpeg編碼標准、FF 表示fast forward
(3)被廣泛使用、QQ影音、暴風影音、VLC
2、下載(window)
(1) 地址:https://www.ffmpeg.org/download.html#build-windows
(2) 解壓、配置環境變量
(3)查看是否安裝成功: 管理員打開cmd -> ffmpeg -version
3、使用ffmpeg轉換視屏文件格式
(1)將avi轉成MP4
ffmpeg -i test.avi test.mp4
(2)將avi轉成MP3
ffmpeg -i test.avi test.mp3
(3)將avi轉成gif
ffmpeg -i test.avi test.gif
4、生成m3u8 、ts文件
(1)第一步轉MP4
ffmpeg.exe -i lucene.avi -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k ‐b:v 753k -r 18 .\lucene.mp4
參數說明:
-i lucene.avi : 指定源文件
-c:v libx264: 指定編碼格式 ,x264是開源編碼格式
-s 1280x720 : 設置分辨率
-pix_fmt: yuv420p : 設置像素采樣方式 有 yuv444p 、yuv422p 、yuv420p ,yuv可以簡單理解成亮度與色彩的比值
-b:a 63k : 設置碼率,-b:a 設置視屏碼率、-b:v 設置音頻碼率
-r 18 : 設置幀數,大於24幀人眼感受不到了
lucene.mp4: target文件
(2) 將MP4轉成m3u8文件 、ts文件
ffmpeg -i lucene.mp4 -hls_time 10 -hls_list_size 0 -hls_segment_filename ./hls/lucene_%05d.ts ./hls/lucene.m3u8
參數說明:
-i lucene.mp4 : 指定源文件
-hls_time: 每個ts文件(分片)的時長,單位為秒,常用10秒
-hls_list_size:保存分片的個數,0 表示保存全部
-hls_segment_filement : ts分片文件的文件名、%05d表示5位數的序列數
4、碼率
(1)碼率又稱為比特率,單位bps(bit per second) 、碼率越大傳輸速度越快
(2)計算公式: 文件大小(轉成bit) /時長(秒)/1024 = xxxkbps
(3) 碼率設置要結合實際情況,過大對帶寬有要求、達到視屏清晰度滿足業務要求即可
(4)優酷視屏對碼率的要求