目錄
背景:
一、什么是m3u8:
二、為什么使用m3u8:
三、安裝ffmpeg:
1、下載后直接解壓:
2、配置環(huán)境變量:
四、開始轉(zhuǎn)換m3u8:
五、視頻添加水印和壓縮:
1. 給視頻加上水印圖片
2.輸出視頻的尺寸
3.輸出文件的起始文件
4.輸出文件的最小大小 和 最大的大?。〞?huì)影響視頻質(zhì)量)
背景:
????????近期公司購買了海外課程,面向高校推廣;因此需要開發(fā)點(diǎn)播平臺(tái),但是面對錯(cuò)綜復(fù)雜的客戶群體,需要解決用戶體檢以及防盜鏈問題;因此,我們選擇了m3u8。
一、什么是m3u8:
????????M3U8視頻格式也是一種M3U,只是它的編碼格式是UTF-8格式。M3U用Latin-1字符集編碼。M3U8格式特點(diǎn)是帶有一個(gè)目錄信息或文件。
二、為什么使用m3u8:
????????隨著客戶在移動(dòng)端播放的需求日益強(qiáng)烈,我們的轉(zhuǎn)碼軟件開始輸出mp4格式文件,經(jīng)過測試,發(fā)現(xiàn)優(yōu)秀的軟件壓縮mp4跟flv壓縮率幾乎相差無幾,于是我們把輸出格式統(tǒng)一為mp4,經(jīng)過我們軟件處理后的mp4文件能實(shí)現(xiàn)無緩沖拖拽播放(快進(jìn)播放),也解決了部分視頻文件有聲音無畫面的問題,贏得了客戶的好評。
????????隨著客戶的增加,mp4文件播放的弊端也日益凸顯,主要集中在兩個(gè)方面,一是當(dāng)視頻時(shí)長比較長的時(shí)候,mp4的關(guān)鍵幀元素往往很大,需要加載很長時(shí)間才能開始播放,網(wǎng)速不好的情況緩沖加載就要20多秒的時(shí)間,客戶早已急不可耐。二是當(dāng)用戶打開一個(gè)視頻播放的時(shí)候,瀏覽器會(huì)持續(xù)請求下載mp4文件直到下載完成,就算是用戶暫停視頻播放瀏覽器也會(huì)持續(xù)這種下載狀態(tài),如果這個(gè)視頻文件是500M則會(huì)請求服務(wù)器下載500M文件,是1G則會(huì)不停下載1G,給服務(wù)器硬盤和寬帶造成很大浪費(fèi)和壓力。
????????于是我們參考優(yōu)酷土豆等大型視頻網(wǎng)站系統(tǒng)的播放文件,發(fā)現(xiàn)他們的視頻文件都是分段播放的,即把一個(gè)大的視頻文件按照一定大小或時(shí)長把一個(gè)視頻分為N段播放,這樣的優(yōu)勢是打開視頻加載速度快,可以達(dá)到秒播,另外一個(gè)優(yōu)勢是當(dāng)視頻播放第N段的時(shí)候,瀏覽器會(huì)下載N+1段,N+2則不會(huì)下載,大大緩解了服務(wù)器硬盤和寬帶壓力,可知道高昂的寬帶成本才是視頻網(wǎng)站的最大壓力。這樣的視頻文件處理方式得到了大量客戶的一致好評。
????????可是很快我們又發(fā)現(xiàn)了一個(gè)很嚴(yán)重的問題,xml分段列表的視頻在IOS上面也是一籌莫展,為了讓視頻在IOS設(shè)備播放還得保留mp4文件給IOS設(shè)備播放。于是m3u8播放列表登場了。
????????m3u8是蘋果公司開發(fā)的一項(xiàng)新型播放格式,這種播放格式支持目前市面的windows、androis、ios設(shè)備主流的瀏覽器,同樣的視頻文件既可以在flash環(huán)境播放,又能在無flash的html5環(huán)境播放,它的優(yōu)勢還不止于此,它可以實(shí)現(xiàn)多種碼率在不同網(wǎng)速下的自動(dòng)切換,網(wǎng)速好自動(dòng)切換高清晰度視頻,網(wǎng)速慢自動(dòng)播放低清晰度文件,還可以實(shí)現(xiàn)流加密(視頻文件本身加密)、分段下載播放、任意時(shí)間點(diǎn)拖拽播放、隨機(jī)視頻文件廣告插入等等優(yōu)勢,所以最新版的云轉(zhuǎn)碼視頻系統(tǒng)僅把m3u8作為唯一的播放格式而放棄了其他格式的輸出。
三、安裝ffmpeg:
首先下載windows 可用的ffmpeg文件(Linux環(huán)境其他章節(jié)再講講)
網(wǎng)址為:https://github.com/BtbN/FFmpeg-Builds/releases
1、下載后直接解壓:
下載完成后解壓壓縮包,完成后bin目錄下ffmpeg.exe文件是之后程序啟動(dòng)時(shí)需要使用的
2、配置環(huán)境變量:
在Windows系統(tǒng)變量的path中添加ffmpeg文件夾中 bin 的路徑
配置完成后檢測是否配置成功
在CMD中輸入 ffmpeg -version 出現(xiàn)如下信息則配置成功
四、開始轉(zhuǎn)換m3u8:
準(zhǔn)備Mp4文件
打開CMD
根據(jù)文件位置在CMD中執(zhí)行以下命令
ffmpeg -i E:\demo\demo.MP4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls E:\demo\demo.m3u8
如出現(xiàn)以下提示則轉(zhuǎn)換成功
我們看一下轉(zhuǎn)換m3u8文件夾中的文件
文件中包括一個(gè)m3u8文件和多個(gè)ts文件
我們打開m3u8文件
發(fā)現(xiàn)文件中其實(shí)就是指定了其他視頻文件的路徑
當(dāng)我們需要訪問當(dāng)前視頻的時(shí)候只需要將地址直接指向當(dāng)前m3u8文件地址即可
五、視頻添加水印和壓縮:
ffmpeg -i E:\videos\video.mp4 -i E:\videos\logo.png -filter_complex overlay -profile:v baseline -level 3.0 -s 1024x1080 -start_number 0 -hls_time 0.5 -b:v 125k -bufsize 150k -hls_list_size 0 -f hls E:\videos\video\video.m3u8
1. 給視頻加上水印圖片
-i E:\videos\logo.png 給視頻加上水印圖片 -filter_complex overlay 位置位于視頻左上角
左上角: -filter_complex overlay
左下角: -filter_complex overlay=0:H-h右上角: -filter_complex overlay=W-w
右下角: -filter_complex overlay=W-w:H-h
2.輸出視頻的尺寸
-s 1024x1080
3.輸出文件的起始文件
-start_number 0
4.輸出文件的最小大小 和 最大的大?。〞?huì)影響視頻質(zhì)量)
-b:v 125k -bufsize 150k
參考鏈接:FFmpeg常用命令匯總_ffmpeg -i input.ts_梧桐樹下的博客-CSDN博客
參考鏈接:https://www.jianshu.com/p/e3f6c3705033
參考鏈接:https://www.jianshu.com/p/36475d6f4558
?
如果本篇文章對你有幫助的話,很高興能夠幫助上你。文章來源:http://www.zghlxwxcb.cn/news/detail-733600.html
當(dāng)然,如果你覺得文章有什么讓你覺得不合理、或者有更簡單的實(shí)現(xiàn)方法又或者有理解不來的地方,希望你在看到之后能夠在評論里指出來,我會(huì)在看到之后盡快的回復(fù)你。文章來源地址http://www.zghlxwxcb.cn/news/detail-733600.html
到了這里,關(guān)于windows使用ffmpeg將MP4轉(zhuǎn)m3u8使用參數(shù)詳解,視頻添加水印和壓縮的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!