自己開發搭建直播賣貨系統源碼,推流分發怎麼做?

一個完整的直播過程包括:採集、處理、編碼、推流、分發、解碼和播放。其中,推流對整個直播流程和質量影響非常大。前端推流指:將直播中採集到的數據包從終端推到服務器的過程,是搭建直播賣貨系統源碼的一大難題之一,如果想自己開發搭建直播系統,最好先把這種基礎難題克服,解決方案如下:

採用命令:  ffmpeg -i input -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0input 可以推送實時流和文件,在推薦文件時,需要加上-re。在實際操作中需要將127.0.0.1換成rtmp所在機器的ip地址。

採用命令的方式進行推流,不能任意修改時間戳信息,需要用代碼進行調整,代碼如下:

  1. 打開視頻流,filename可以是文件名稱也可以是實時流url.
  2. 創建輸出上下文以及輸出流,輸出流的格式需要設置成flv
  3. 從輸入流中讀音視頻包

常見的推流協議有這些:

1、 RTMP協議

該協議基於 TCP,包括 RTMP/ RTMPT/RTMPS/RTMPE 等多種變種。廣泛應用於直播領域,大多數直播軟件推流都會使用它,所以如果要開發直播賣貨系統源碼的APP,推薦選擇它,它對CDN非常友好,協議簡單並且支持絕大多數CDN 廠商。

2、 WebRTC

它支持網頁,本身以API的形式存在着,對主流瀏覽器支持程度高,弱網情況下表現良好,可以實現點對點通信因此非常適用於連麥,廣泛應用於視頻會議和連麥中,它最大的優點在於低延時,但缺點是不支持CDN

3、 HLS切片式傳輸

HLS是切片式傳輸,微信端常用,用它的話,用戶可以在客戶端自主切換碼率流以獲得更好的觀看體驗,如果要開發微信端的直播賣貨系統源碼,可以考慮使用它。

CDN分發

CDN是“內容分發網絡”,是由無數個服務器連成的一張網絡,在音視頻數據包被推流到服務器上後,服務器會通過CDN分發網絡把數據包分發出去,這樣在用戶想要觀看時,打開手機,就會自動尋找到最近最流暢的節點服務器,進行拉流工作。

使用CDN分發的好處就是,降低主服務器壓力,提高系統反應速度,通過降低網絡堵塞,把視頻儘快送到用戶眼前,它很重要,因爲直播賣貨系統源碼在運營後期所承受的壓力是非常大的。

解碼方式

推薦使用H.264/H.265編碼方式+軟硬結合的解碼方式,H.264和H.265是壓縮率很高,音質損失較小的編碼壓縮方式,以前大學的時候,我去蹭過隔壁後期製作班的課,他們也是使用H.264導出片子。

而軟硬解碼方式則是:軟解碼是使用CPU解碼,對cpu要求高,解碼出來的視頻畫質清晰、細節清楚,但對處理器佔用率較大,對一些機型很不友好,尤其是直播賣貨系統源碼的運行本身就要佔用大量CPU資源,而硬解碼則是使用GPU進行解碼,相較而言更快些,對處理器要求更低。

聲明:本文聲明原創,轉載請註明

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章