溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是flv、MP4 視頻播放

發(fā)布時(shí)間:2021-09-10 10:18:55 來源:億速云 閱讀:170 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)什么是flv、MP4 視頻播放,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

      我們平?;\統(tǒng)說的「視頻格式」其實(shí)包含三個(gè)部分:視頻編碼、音頻編碼、容器格式。其中「編碼」這個(gè)概念其實(shí)又包含兩個(gè)方面:編碼和解碼?!敢曨l編碼」作為動(dòng)詞指的是將動(dòng)態(tài)的圖像信息轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)的過程;其逆過程稱為「視頻解碼」。「視頻編碼」作為名詞則通常指的是某種特定的編碼方式。同樣的概念也適用于「音頻編碼」,只不過它轉(zhuǎn)化的是聲音信息。大多數(shù)「視頻文件」都同時(shí)包含視頻和音頻,因此編碼后至少都有兩組二進(jìn)制數(shù)據(jù),并且兩組數(shù)據(jù)必須按照特定的方式同步起來,否則我們看到的畫面和聽到的聲音將不吻合。為了解決編碼后多組不同類型的的數(shù)據(jù)的存儲(chǔ)、傳輸問題,需要將他們按照一定的規(guī)律組織起來,這種組織方式即是「容器格式」。
      我們常見的視頻文件擴(kuò)展名包括 .avi, .rmvb, .mp4, .mkv 等。其實(shí)擴(kuò)展名都是指的某種容器格式。這些容器里面存放的數(shù)據(jù)可能采用了多種不同的編碼方式。例如,常見的 avi 文件里面存放的通常是 xvid 或 divx 編碼的視頻和 mp3 編碼的音頻。rmvb 文件里面存放的通常是 RV40 編碼的視頻和 cook 編碼的音頻。mp4 文件里面通常存放的是 H.264 編碼的視頻和 AAC 編碼的音頻。mkv 文件里面存放的則可能包含前面各種。
       目前業(yè)界主流的封裝是MP4.因?yàn)镸P4有著良好的特性,并對(duì)HTML5友好。mp4新規(guī)范實(shí)際已經(jīng)支持無縫拼接,真正流媒體封裝器。封裝格式一般都對(duì)應(yīng)的有很多編碼格式,目前主流的H264編碼器是 開源的x264,完美的平衡了各種因素。
       其實(shí)flv也是流式文件,比其它格式更簡(jiǎn)單,但是apple同樣不支持。android ice cream也已經(jīng)原生支持 hls.而且 使用ts切片方式 可以很容易實(shí)現(xiàn)流加密處理。不過HLS它有一個(gè)缺點(diǎn),那就是Chrome(PC)迄今為止內(nèi)建不支持HLS(m3u8),但是Android/iOS的瀏覽器支持m3u8.
rtmp和rtsp都要求特殊的服務(wù)器,例如rtmp要求FMS/red5, rtsp要求darwin等,hls只要普通的server。
       視頻監(jiān)控和視頻通話。這類流媒體采用HLS明顯是不合適的,一般采用HTTP progressive streaming,Android在4.0開始支持這種流媒體格式。能夠支持HPS的容器必須是流式的,如FLV, MKV, Android將支持WEM(即MKV)容器,攜帶VP8視頻格式。因此選擇流媒體傳輸方式還有一個(gè)就是 HPS .
       國(guó)內(nèi)的很多視頻網(wǎng)站都支持自動(dòng)切換的,例如在普通PC瀏覽器上使用傳統(tǒng)的flv播放,在Android/iOS上使用m3u8,在Chrome(PC/Android)上使用mp4,方法就是video里提供多個(gè)source.
HTTP Live Streaming技術(shù),Adobe 的 Flash 流媒體服務(wù)器的新版本也要支持這個(gè)技術(shù)。有一個(gè)巨大優(yōu)勢(shì):自適應(yīng)碼率流播(adaptive streaming)。效果就是客戶端會(huì)根據(jù)網(wǎng)絡(luò)狀況自動(dòng)選擇不同碼率的視頻流,條件允許的情況下使用高碼率,網(wǎng)絡(luò)繁忙的時(shí)候使用低碼率,并且自動(dòng)在二者間隨意切換。這對(duì)移動(dòng)設(shè)備網(wǎng)絡(luò)狀況不穩(wěn)定的情況下保障流暢播放非常有幫助。實(shí)現(xiàn)方法是服務(wù)器端提供多碼率視頻流,并且在列表文件中注明,播放器根據(jù)播放進(jìn)度和下載速度自動(dòng)調(diào)整。
特點(diǎn)是將流媒體切分為若干 TS 片段(比如每10秒一段),然后通過一個(gè)擴(kuò)展的 m3u 列表文件將這些 TS 片段集中起來供客戶端播放器接收。一旦切分完成,之后的分發(fā)過程完全不需要額外使用任何專門軟件,普通的網(wǎng)絡(luò)服務(wù)器即可,大大降低了 CDN 邊緣服務(wù)器的配置要求,可以使用任何現(xiàn)成的 CDN。分發(fā)使用的協(xié)議是最常見 HTTP,代理服務(wù)器對(duì)這個(gè)協(xié)議的緩存優(yōu)化相當(dāng)成熟,而很少有代理服務(wù)器對(duì) RTSP 的進(jìn)行緩存優(yōu)化。這對(duì)播放(軟)實(shí)時(shí)視頻有相當(dāng)大的優(yōu)勢(shì),因?yàn)檫@樣分發(fā)后,對(duì)源服務(wù)器的負(fù)載壓力小得多。同樣的好處也是存在的:如果你要在一段長(zhǎng)達(dá)一小時(shí)的視頻中跳轉(zhuǎn),如果使用單個(gè) MP4 格式的視頻文件,并且也是用 HTTP 協(xié)議,那么需要代理服務(wù)器支持 HTTP range request 以獲取大文件中的一部分。不是所有的代理服務(wù)器都對(duì)此有良好的支持。而 HTTP Live Streaming 則只需要根據(jù)列表文件中的時(shí)間軸找出對(duì)應(yīng)的 TS 片段下載即可,不需要 range request,對(duì)代理服務(wù)器的要求小很多。所有代理服務(wù)器都支持小文件的高效緩存。
解決方案:
統(tǒng)一使用主流的H264編碼器。
1、上傳的視頻,用ffmepg檢測(cè)編碼,例如:MP4 編碼轉(zhuǎn)成H264. web端播放轉(zhuǎn)碼后的 flv\mp4.通過nginx代理,安裝flv\mp4 擴(kuò)展。nginx中的Flv Stream模塊能實(shí)現(xiàn)flv流媒體的功能,而且支持flv視頻進(jìn)度條拖拽,可以安裝yadmi,yadmi的作用是為flv文件添加關(guān)鍵幀,實(shí)現(xiàn)拖動(dòng)播放。另外nignx還可以作為方向代理服務(wù)器代理后端基于Flash Media Server或者Red5的RTMP/RTMP流媒體服務(wù)器
2、轉(zhuǎn)碼后的flv\mp4, 生成TS 片段,擴(kuò)展的 m3u 列表文件, 支持android客戶端和IOS客戶端。
3、Android/iOS的瀏覽器支持m3u8,同時(shí)也支持標(biāo)準(zhǔn)的mp4.

看完上述內(nèi)容,你們對(duì)flv、MP4 視頻播放有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

mkv
AI