pc/移動端(手機端)瀏覽器的直播rtmp hls(適合入門者快速上手)


一、直播概述

關於直播,大概的過程是:推流端——>源站——>客戶端拉流,用媒介播放

客戶端所謂的拉流就是一個播放的地址url,會有多種類型的流:

視頻直播服務目前支持三種直播協議,分別是RTMP、HLS、FLV :

(1)RTMP: 實時消息傳輸協議,但是需要 flash 插件的支持,則是,手機瀏覽器是無法支持的。跟其他因素無關,這種類型的流就是無法在手機瀏覽器播放

(2)HLS 協議:基於HTTP協議的流直播(wikipedia)。它可以基於h5的video標簽播放,所以只要支持h5就能支持hls這種推流,就是說它在大部分手機瀏覽器的支持度是很好的,但是有個致命的痛點就是延遲很大,會是10S以上,所以要實現在直播的過程中實現互動就很尷尬,所以適合僅僅看直播的業務。(文件是m3u8格式)

(3)HTTP-FLV :協議由 Adobe 公司主推,格式極其簡單,只是在大塊的視頻幀和音視頻頭部加入一些標記頭信息,由於這種極致的簡潔,在延遲表現和大規模並發方面都很成熟。唯一的不足就是在手機瀏覽器上的支持非常有限,但是用作手機端 APP 直播協議卻異常合適。

 

綜上:  你可以用rtmp協議的流實現在pc端的直播,用hls協議實現在手機端瀏覽器的直播。   畢竟rtmp的延時小,所以能用rtmp就不要hls

視頻的在客戶端的優先順序最好是:

* mobile :m3u8>mp4
* PC :RTMP>flv>m3u8>mp4

 

二、后台給你一個健康的流地址

本人被坑了半天,后台給了一個在騰訊雲生成的拉流地址,結果用了各種方式去播放,還是播放不了,問了騰訊雲的技術人員無結果,騰訊雲人還給網頁端的demo,在各個demo上去測試,其實。。。。。。。。。

你只要下載VLC一個軟件,支持多種類型的流播放器,你把地址放到這上面,就能檢測出給你拉流地址是否健康。

而后,后台通過在騰訊雲提交工單,才發現pc的推流,需要加防盜鏈,推流跟拉流都需要。

 

三、客戶端怎么去播放

有了以上的基本知識,有了多種類型的推流地址,

這個時候就是,你要怎么去播放這些流了,怎么讓播放器根據客戶端的類型,去選擇最優類的流去播放,

比如在pc,即使rtmp和hls都可以播放,但是hls延遲高,還是選擇rpmp播放

這個時候vedio.js  跟騰訊雲的兩個播放器早就幫你做好了這些事:

1、videojs

關於videojs,網上有很多demo,本人百度了那么多后,比較直接的資料如下:

videojs:   (1)官方文檔:http://docs.videojs.com/tutorial-options.html#height    

     (2)vue總應用:https://www.npmjs.com/package/vue-video-player  https://github.com/savokiss/vue-videojs-demo

     (3)播放需要flash的流:https://github.com/videojs/videojs-flash 

     (4)播放hls的流:https://github.com/videojs/videojs-contrib-hls

 

2、騰訊的TCplayer,還有Web直播播放器1.0

 (1)TCplayer:  https://cloud.tencent.com/document/product/267/7479

 (2)Web直播播放器1.0:  https://cloud.tencent.com/document/product/267/5704

備注:

  目前為止,咨詢了騰訊雲的技術人員,暫時這兩個播放器都可以實現直播,但是坑的是:

  TCplaer沒有彈幕功能,但是有controls參數,可以隱藏視頻底部的工具欄,而

  Web直播播放器1.0有彈幕,但沒有controls參數

 

 

總結:

  試過了這幾種播放效果,最后還是選擇了TCplaer,而沒有用vediojs,因為在手機播放的時候,vediojs出現開始播放的播放按鈕一直卡住loding的狀態,而TC比較順暢,不知道是不是跟我們后台的流是后台推流的有關,待驗證

  稍微,可能會做一個demo,可以讓大家直觀的看到兩個播放器的差別

  

  現在看來,大家只要把騰訊雲關於直播的文檔認真看一兩遍,估計很多就理清了https://cloud.tencent.com/document/product/267

 

借鑒:WEB直播技術入門及在 Vue 中應用 video.js

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM