一、什么是微信直播
微信直播是基于云數據流媒體的傳輸、編輯、分發平臺,創建直播頻道后將直播地址嵌入到對應的微信公眾號,即可發起微信直播。接入直播系統后,任何人可以通過微信好友轉發、朋友圈分享等方式觀看直播視頻。微信直播打造了全新的用戶體驗,利用微信裂變,指數級成倍放大了活動的影響力。
二、微信直播應用場景
在直播風口下,直播與微信的結合是連接用戶、提升影響力和傳播度的全新媒介形式,可廣泛應用于企業年會、體育賽事、演唱會、婚禮現場、產品發布、營銷推廣、峰會論壇、項目推介、渠道招商業務例會、互動培訓、遠程教育、用戶大會、視頻會議、眾籌路演等各行業。
三、微信視頻直播的特點
1、微信直播表現形式豐富,互動性、實時性強,相比傳統電視直播更具有人際傳播和大眾傳播的特點;
2、相比點播,微信直播有更高的穩定性要求;
3、致力于良好用戶體驗的低延遲要求直播技術底層更高;
4、觀眾對于微信直播卡頓非常敏感,因而微信直播對網絡和碼率要求比較高;
5、其傳播性只有1次,這意味著點播直播必須打通以最大化直播內容的價值,即微信直播功能需要更完善。
四、微信直播的優勢
1、省去下載APP的麻煩,可以直接在微信端觀看;
2、微信直播沒有地域限制,可以實現全球同步直播;
3、微信直播鏈接一鍵輕松分享,可迅速零成本裂變式推廣傳播;
4、直播嵌入到微信公眾號中,可輕松搭建專屬的企業直播間;
5、微信直播表現形式豐富,互動性、實時性強。
五、微信直播流程:
微信直播的過程包括采集-編碼-傳輸-分發-播放-互動-回看。其中采集、編碼、傳輸和分發是構成微信直播系統最重要的環節。
1、采集。根據直播內容需求的三種采集方式:
A、攝像機是采集的通用設備。專業高清攝像機保證原始畫畫清晰度,用戶可以選用多種型號的攝像機;
B、通過實體導播臺切換輸出視頻源;
C、如果對視頻質量沒有嚴格的考量,可以選擇用電腦連接攝像頭、手機作為采集前端,借助軟件編碼可以直接進行視頻信號傳輸。
2、編碼。編碼即視頻壓縮技術,是計算機處理視頻的前提。視頻信號數字化后數據帶寬很高,通常在20MB/秒以上,因此計算機很難對之進行保存和處理。采用壓縮技術通常數據帶寬降到1-10MB/秒,這樣就可以將視頻信號保存在計算機中并作相應的處理。這一工作可以傳輸。
3、傳輸。將視頻碼流上傳僅通過連接編碼器的網線即可(無線編碼器則直接通過無線網絡傳輸),上傳的視頻文件將通過云服務器進行處理和儲存。對于網絡的要求根據設定的上行碼率確定,為了保障傳輸穩定,通常要求上行速度是設定碼率的2倍。比如4M上行速度的網絡最高可支持2000kbps碼率視頻格式上傳。
4、分發。分發機制主要處理觀眾高并發訪問視頻直播。在直播觀看中會有觀眾大量涌入,由此產生巨大的帶寬流量需要有強大的服務器支持。CDN分發網絡能夠提供穩定的直播觀看,支持無上限級觀眾觀看請求。
六、專有名詞解釋
1、RTMP地址
RTMP是Real Time Messaging Protocol(實時消息傳輸協議)的首字母縮寫,是一種設計用來進行實時數據通信的網絡協議。
在微信直播平臺中,Rtmp地址是直播數據上傳地址,唯一指向單個的直播活動。它由rtmp://開頭,包含了上傳服務地址、上傳目錄名(APP)和上傳節點(stream)三部分組成。
2、VOD
VOD (Video On Demand)即視頻點播技術的簡稱,也稱為交互式電視點播系統。視頻點播是計算機技術、網絡技術、多媒體技術發展的產物,是一項全新的信息服務。它擺脫了傳統電視受時空限制的束縛,解決了一個想看什么節目就看什么,想何時看就何時看的問題。有線電視視頻點播,是指利用有線電視網絡,采用多媒體技術,將聲音、圖像、圖形、文字、數據等集成為一體,向特定用戶播放其指定的視聽節目的業務活動。包括按次付費、輪播、按需實時點播等服務形式。
3、碼率
碼率又叫做比特率,是指每秒傳送的比特(bit)數。單位為bps(Bit Per Second),比特率越高,傳送數據速度越快。聲音中的比特率是指將模擬聲音信號轉換成數字聲音信號后,單位時間內的二進制數據量,是間接衡量音頻質量的一個指標。 視頻中的比特率(碼率)原理與聲音中的相同,都是指由模擬信號轉換為數字信號后,單位時間內的二進制數據量。
通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的文件就越接近原始文件,但是文件體積與取樣率是成正比的,所以幾乎所有的編碼格式重視的都是如何用最低的碼率達到最少的失真,圍繞這個核心衍生出來的cbr(固定碼率)與vbr(可變碼率),都是在這方面做的文章,不過事情總不是絕對的,舉例來看,對于一個音頻,其碼率越高,被壓縮的比例越小,音質損失越小,與音源的音質越接近。
碼率影響體積,與體積成正比:碼率越大,體積越大;碼率越小,體積越小。
4、幀率(Frame rate)是用于測量顯示幀數的量度。所謂的測量單位為每秒顯示幀數(Frames per Second,簡稱:FPS)或“赫茲”(Hz)。
影響畫面流暢度,與畫面流暢度成正比:幀率越大,畫面越流暢;幀率越小,畫面越有跳動感。如果碼率為變量,則幀率也會影響體積,幀率越高,每秒鐘經過的畫面越多,需要的碼率也越高,體積也越大。
5、關鍵幀間隔
一幀就是視頻中的一個畫面。視頻編碼是按“組”進行的,每一組也叫一個GOP,GOP與GOP之間是沒有聯系的,編碼關系只在GOP中間產生。每一個GOP組都從一個關鍵幀開始。
關鍵幀是一輻完整的畫面,GOP中間的那些幀都是不完整的,需要由關鍵幀、前面的幀或者也包括后面的幀一起,運算后得到。
對于普通視頻文件,加大GOP長度有利于減小體積;從原理上可知,GOP長度也不能過大,太大則會導致GOP后部幀的畫面失真。一般建議GOP長度在250幀以下為宜。
由于PAL制式每秒有25幀(N制為30幀),如果是用于實時視頻,如電視、網上視頻等,GOP長度應在15至25之間。這樣可以在一秒內完成視頻快進或回退。
6、分辨率
分辨率可以從顯示分辨率與圖像分辨率兩個方向來分類。
顯示分辨率(屏幕分辨率)是屏幕圖像的精密度,是指顯示器所能顯示的像素有多少。由于屏幕上的點、線和面都是由像素組成的,顯示器可顯示的像素越多,畫面就越精細,同樣的屏幕區域內能顯示的信息也越多,所以分辨率是個非常重要的性能指標之一。可以把整個圖像想象成是一個大型的棋盤,而分辨率的表示方式就是所有經線和緯線交叉點的數目。顯示分辨率一定的情況下,顯示屏越小圖像越清晰,反之,顯示屏大小固定時,顯示分辨率越高圖像越清晰。
圖像分辨率則是單位英寸中所包含的像素點數,其定義更趨近于分辨率本身的定義。分辨率影響圖像大小,與圖像大小成正比:分辨率越高,圖像越大;分辨率越低,圖像越小。
7、清晰度
清晰度指影像上各細部影紋及其邊界的清晰程度。
在碼率一定的情況下,分辨率與清晰度成反比關系:分辨率越高,圖像越不清晰,分辨率越低,圖像越清晰。
在分辨率一定的情況下,碼率與清晰度成正比關系,碼率越高,圖像越清晰;碼率越低,圖像越不清晰。
8、帶寬
數字信號系統中,帶寬用來標識通訊線路所能傳送數據的能力,即在單位時間內通過網絡中某一點的最高數據率,常用的單位為bps(又稱為比特率—bit per second,每秒多少比特)。在日常生活中中描述帶寬時常常把bps省略掉,例如:帶寬為4M,完成的稱為應為4Mbps。
一般來說,帶寬是以 bit(比特)表示,而電信,聯通,移動等運營商在推廣的時候往往忽略了這個單位。
正常換算情況如下:
1Mbit=128KB
2Mbit=256KB
(以此類推)
而換算后的速度才是用戶真實上網的速度,比如運營商開通的帶寬是10M,那么10/8=1.25M,也就是說如果用戶開通10M帶寬,可以達到最高1.25M的速度。
七、視頻直播嵌入到微信公眾號的方式
視頻直播嵌入到微信公眾號有三個方式:
1.把直播間連接放到微信公眾號的自定義菜單鍵里;
2.圖文的閱讀原文或者圖片文字的超鏈接;
3.自定義回復發送直播間連接。
八、微信直播與傳統電視直播的不同
微信直播可搭建專屬的企業直播間,直播用戶可以自主配置多種形式的互動工具,擴展觀眾的參與性。傳統電視直播的功用很有限。
微信直播區別于傳統電視直播的另一個優勢在于數據反饋,基于電視信號的收視率不能全面反應觀看行為的真實數量和時長。比如實時查看觀看人次、峰值、時長等,通過數據分析得到用戶的觀看時段、所在區域、觀看終端等。
九、微信直播與互動
在微信直播的互動中,真實的不同直播場景會吸引不同的人群,用戶對直播內容的認同會產生用戶粘性。在直播與用戶的互動碰撞中即時的反饋又能拉近空間距離,而金錢打賞的商業模式又能在更深一步推動直播的火熱的同時產生市場經濟效應。
微信直播互動方式包括簽到、聊天、投票、發言、點名、問答、打分、彈幕、抽獎、踢人、點贊、打賞等形式。微信直播界面可自定義裝飾、直播倒計時、互動留言、嵌入第三方WEB網頁、嵌入第三方移動WEB頁面、廣告自由植入、云導播、直播視頻實時儲存、分嘉賓打賞、全場打賞、紅包搖一搖、手機端觀看、電腦端觀看、手機觀看、打賞觀看、主流在線投票、粉絲意見反饋、節目投票等互動應用。
十、微信直播系統開發
目前市場上的微信直播,一種只能看視頻不能評論打賞的娛樂直播,另一種是能夠微信登陸,在微信里進行觀看視頻、評論和打賞等操作。
微信中是不能發起直播的,這些直播的發起端都是第三方發起,把直播平臺上直播間的鏈接放到微信公眾號里,頁面會跳轉至h5的直播頁面,然后就可以進行微信公眾號的視頻直播。
微信開發是基于H5來做的,直播也得用h5來開發。直播中常用的協議比如rtmp、http在h5上都是需要做插件才能使用的,唯一不使用插件就能進行開發的協議是hls協議,hls協議能直接支持h5,但延時比較高,在5-20s之間。
h5上直播頁面開發成本較低,目前各平臺上提供的拉流地址一般都支持三種格式:
1、rtmp(h5中不支持這樣的協議)
2、http+flv
3、hls (一般手機都支持這樣協議)
只需要h5頁面中加入一個支持hls(.m3u8格式)的直播播放器即可:
以免費開源的videojs為例,safari的h5原生支持hls(m3u8)播放,chrome等瀏覽器需要安裝videojs-contrib-hls插件自己寫解碼。
關于評論點贊這塊,可以利用微信登陸做為評論的用戶來源;如果需要結合自己平臺上的會員,只需要做一個簡單的登錄即可,評論可通過第三方的IM工具來做實現。
解決了直播播放互動的問題,那么如何實現直播的推流呢?
各大云平臺提供的推薦SDK和播放器SDK在微信中都是不能調用的,如需要發起直播,可以選用第三方的PC端的推流工具(OBS、XSplit、wireCast等)或者手機端推流工具(live:Air Solo 下載地址Live:Air Solo – Stream Live Video On The Go!:在 App Store 上的內容);
目前如阿里云,金山云,騰訊云是以接口的方式來產生推流地址的,這會給技術帶來一定的學習過程以及開發過程;目前專門做直播SAAS應用的平臺,可以比較方便的在控制臺中直播生成直播推流地址,這樣一來,非技術人員也可以比較簡單的獲取推流地址:如 http://play.lss.qupai.me/niuba/niuba-21EKA.m3u8
這個地址就是在1中在h5直播頁面的直播URL,將這個地址在自己業務后臺輸入并重新生成即可;
產生的推流地址主要是在OBS、XSplit、wireCast、live:Air Solo等使用。
OBS:OBS是Open Broadcaster Software的簡稱,它是一款永久免費的直播軟件。OBS直播軟件相比XSplit占用資源相對較少,對配置要求相對要低一點,是目前最好用的第三方直播軟件,并且支持MAC的OSX系統。
live:Air Solo:此軟件支持使用手機進行直播,并可以將直播視頻推送到專業直播平臺,支持直播手機本地視頻,攝像頭拍攝內容,支持添加本地圖片、logo、文字、標題、比分等功能,應用場景廣泛。
下圖是以保利威視為例的微信直播系統及其他相關系統開發。