亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Nginx技術(shù)的直播平臺(tái)

        2018-06-22 09:13:46連云港廣電傳媒集團(tuán)
        視聽界(廣播電視技術(shù)) 2018年3期
        關(guān)鍵詞:服務(wù)器模塊用戶

        陸 亮 連云港廣電傳媒集團(tuán)(臺(tái))

        1.引言

        在移動(dòng)互聯(lián)網(wǎng)快速發(fā)展的背景下,我國(guó)媒體融合發(fā)展已是大勢(shì)所趨。今年兩會(huì),直播成為人民日?qǐng)?bào)社新媒體中心的新亮點(diǎn)。人民日?qǐng)?bào)社全媒體記者密切分工配合,在兩會(huì)現(xiàn)場(chǎng)搭建自有的直播系統(tǒng),實(shí)時(shí)提供高清直播信號(hào),讓受眾直擊兩會(huì)現(xiàn)場(chǎng)。根據(jù)相關(guān)統(tǒng)計(jì),人民日?qǐng)?bào)新媒體中心共推出兩會(huì)直播48場(chǎng),總觀看量超4360萬(wàn),總直播時(shí)長(zhǎng)超50小時(shí)。直播無(wú)疑已成為媒體獲取觀看流量的主要抓手。

        直播流媒體服務(wù)架構(gòu)如圖1所示,主要由推流端、拉流端、媒體服務(wù)器所示,三者由推流協(xié)議、拉流播放協(xié)議依次連接。在推、拉流協(xié)議的應(yīng)用場(chǎng)景中,RTMP可以用在雙端,HLS只能用在拉流端。

        推流端即主播端,主要通過手機(jī)、攝像機(jī)、攝像頭采集視頻數(shù)據(jù),麥克風(fēng)采集音頻數(shù)據(jù),經(jīng)過一系列前端信號(hào)采集和處理、編碼、封裝,然后推流到直播流媒體平臺(tái),通過CDN網(wǎng)絡(luò)分發(fā),在拉流播放端的用戶可以通過多屏觀看及互動(dòng),直播流媒體服務(wù)組成如圖2所示。

        圖1 直播流媒體服務(wù)架構(gòu)

        圖2 直播流媒體服務(wù)組成

        2.關(guān)鍵技術(shù)協(xié)議

        直播流媒體業(yè)務(wù)有兩種協(xié)議可供選擇:HLS 和RMTP。HLS是蘋果公司基于 HTTP 的流媒體傳輸協(xié)議,可支持流媒體的直播和點(diǎn)播,主要應(yīng)用在iOS 系統(tǒng),為 iOS 設(shè)備(如 iPhone、iPad)提供音視頻直播和點(diǎn)播方案。RTMP是 Adobe Systems 公司為Flash 播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸開發(fā)的開放協(xié)議,RTMP 是一種設(shè)計(jì)用來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來(lái)在 Flash/AIR 平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。

        2.1 HLS ( HTTP Live Streaming基于 HTTP 的流媒體傳輸協(xié)議)

        2.1.1 HLS工作原理

        當(dāng)采集推流端將視頻流推送到流媒體服務(wù)器時(shí),服務(wù)器將收到的流信息每緩存一段時(shí)間就封包成一個(gè)新的ts文件,同時(shí)在服務(wù)器建立一個(gè)m3u8的索引文件來(lái)維護(hù)最新幾個(gè) ts 片段的索引。當(dāng)播放端獲取直播時(shí),從 m3u8 索引文件獲取最新的 ts 視頻文件片段播放,從而保證用戶在任何時(shí)候連接時(shí)都會(huì)看到較新的內(nèi)容,實(shí)現(xiàn)近似直播的體驗(yàn)。相對(duì)于常見的流媒體直播協(xié)議,HLS 最大的不同在于直播客戶端獲取到的并不是一個(gè)完整的數(shù)據(jù)流,而是連續(xù)的、短時(shí)長(zhǎng)的媒體文件,客戶端不斷地下載并播放這些小文件。這種方式的理論最小延時(shí)為一個(gè) ts 文件的時(shí)長(zhǎng),一般情況為 2-3 個(gè) ts 文件的時(shí)長(zhǎng)。HLS的分段策略,基本上推薦是 10 秒一個(gè)分片,因此,通常 HLS 直播延時(shí)會(huì)達(dá)到 20-30s,而高延時(shí)對(duì)于需要實(shí)時(shí)互動(dòng)體驗(yàn)的直播來(lái)說是不可接受的。HLS 基于短連接 HTTP,HTTP 是基于 TCP 的,這就意味著 HLS 需要不斷地與服務(wù)器建立連接,TCP 每次建立連接時(shí)的三次握手、慢啟動(dòng)過程、斷開連接時(shí)的四次揮手都會(huì)產(chǎn)生消耗。HLS的優(yōu)點(diǎn)是,數(shù)據(jù)通過HTTP 協(xié)議傳輸,所以采用 HLS 時(shí)不用考慮防火墻或者代理的問題;使用短時(shí)長(zhǎng)的分片文件來(lái)播放,客戶端可以平滑地切換碼率,以適應(yīng)不同帶寬條件下的播放。

        圖3 直播協(xié)議分類

        圖4 nginx環(huán)境搭建

        2.2 RTMP(Real Time Messaging Protocol,實(shí)時(shí)消息傳送協(xié)議)

        RTMP是Adobe Systems公司為Flash播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸開發(fā)的開放協(xié)議。它有以下三種變種:

        (1)工作在TCP之上的明文協(xié)議,使用端口1935;

        (2)RTMPT封裝在HTTP請(qǐng)求之中,可穿越防火墻;

        (3)RTMPS類似RTMPT,但使用的是HTTPS連接;

        RTMP協(xié)議被Flash用于對(duì)象、視頻、音頻的傳輸。這個(gè)協(xié)議建立在TCP協(xié)議或者輪詢HTTP協(xié)議之上。RTMP協(xié)議就像一個(gè)用來(lái)裝數(shù)據(jù)包的容器,這些數(shù)據(jù)既可以是AMF格式的數(shù)據(jù),也可以是FLV中的視音頻數(shù)據(jù)。一個(gè)單一的連接可以通過不同的通道傳輸多路網(wǎng)絡(luò)流,這些通道中的包都是按照固定大小的包傳輸?shù)?。圖3是直播協(xié)議的分類。

        3.直播平臺(tái)搭建

        近幾年,主流的開源直播軟件解決方案有Simple-RTMP-Server和nginx-rtmp-module。本文主要介紹nginx-rtmp-module,它依賴于nginx,以第三方模塊的形式提供直播功能,推流側(cè)使用RTMP協(xié)議,播放側(cè)使用HLS協(xié)議。

        3.1 Nginx

        圖5 RTMP statistics頁(yè)面

        圖6 OBS參數(shù)配置

        Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件代理服務(wù)器,并在一個(gè)BSD-like協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng)。為了方便闡述,本文使用Windows環(huán)境下的nginx(事實(shí)上,linux環(huán)境下更能體現(xiàn)nginx的優(yōu)越性能)。我們?cè)趎ginx官網(wǎng)下載nginx-1.8.1.zip,解壓在根目錄下。打開cmd命令窗口,進(jìn)入nginx所在目錄,輸入啟動(dòng)命令 start nginx ,在網(wǎng)頁(yè)中輸入localhost即可得nginx歡迎頁(yè),如圖4所示,至此,nginx服務(wù)器搭建成功。

        3.2 部署nginx-rtmp-module

        通過官網(wǎng)github下載nginx-rtmp-module軟件包,解壓放置在nginx目錄下,修改conf目錄下的nginx.conf文件。這些配置參數(shù)很重要,是直播功能能否實(shí)現(xiàn)的關(guān)鍵。為此,我們給出了詳細(xì)的參數(shù)配置。worker_processes 1;

        events {

        worker_connections 8192;

        }

        rtmp {

        server{

        listen 1935; #服務(wù)端口--默認(rèn)

        chunk_size 4096; #數(shù)據(jù)傳輸塊

        的大小--默認(rèn)

        application vod { #設(shè)置直播的application名稱是 live

        play /opt/video/vod;

        }

        application live{

        live on; #live on表示開啟直播模式

        }

        }

        }

        http {

        include mime.types;

        default_type application/octet-stream;

        sendfile off;

        圖8 VLC拉流直播視頻

        圖9 PC端直播頁(yè)面

        圖10 移動(dòng)端直播頁(yè)面

        server_names_hash_bucket_size 128;

        server {

        listen 80;

        server_name localhost;

        location /stat{

        rtmp_stat all;

        rtmp_stat_stylesheet stat.xsl;

        }

        location /stat.xsl{

        root nginx-rtmp-module/;

        }

        location / {

        root html;

        index index.html index.htm;

        }

        error_page 500 502 503 504 /50x.html;

        location = /50x.html {

        root html;

        }

        }

        }

        nginx.conf文件參數(shù)配置完成后,重啟nginx。訪問http://localhost/stat頁(yè)面,如果我們能得到圖5所示界面則配置成功。

        3.3 進(jìn)行直播

        直播推流的工具有很多,諸如編碼器、推流軟件等。本文使用OBS實(shí)現(xiàn)推流功能。打開OBS配置參數(shù),如圖6 所示。圖7為OBS推流界面。

        通過VLC軟件拉流,如果可以看到直播視頻,直播服務(wù)器的搭建配置成功,如圖8所示。3.4 播放端優(yōu)化

        以上操作是從功能上完成直播拉流。目前,終端設(shè)備屏幕尺寸越來(lái)越多,不同設(shè)備的交互特質(zhì)也有著巨大的差別,為了能夠快速部署以及在各種設(shè)備上都有良好的用戶體驗(yàn),我們搭建基于ThinkPHP框架的網(wǎng)站,配置PC、移動(dòng)兩個(gè)模塊。在ThinkPHP框架的入口文件index.php中添加is_mobile函數(shù),用來(lái)實(shí)現(xiàn)PC端,移動(dòng)端的自動(dòng)切換,下文代碼用以實(shí)現(xiàn)上述功能。

        function is_mobile(){

        $user_agent = $_SERVER['HTTP_USER_AGENT'];

        $mobile_agents = Array("240x320","acer","phone","sy mbian","windows ce","zte");

        //意在說明情況,移動(dòng)系統(tǒng)不做枚舉

        $is_mobile = false;

        foreach ($mobile_agents as $device) {

        //這里把值遍歷一遍,用于查找是否有上述字符串出現(xiàn)過

        if (stristr($user_agent, $device)) {

        //stristr 查找訪客端信息是否在上述數(shù)組中,不存在即為PC端

        $is_mobile = true;

        break;

        }

        }

        return $is_mobile;

        }

        //判斷

        if(is_mobile()){

        // 移動(dòng)端模塊

        define('BIND_MODULE','Mobile');

        }else{

        // PC端模塊

        define('BIND_MODULE','Home');

        }}

        當(dāng)用戶訪問網(wǎng)站時(shí),系統(tǒng)根據(jù)訪問終端類型自動(dòng)切換至相應(yīng)的模塊,模塊調(diào)出匹配設(shè)備屏幕尺寸的網(wǎng)頁(yè)。通過這樣的機(jī)制,可以為用戶提供良好的視聽感受。

        4. CDN分發(fā)

        直播流暢效果受人數(shù)、地域、網(wǎng)絡(luò)狀況等因素影響,本地介紹的直播平臺(tái)支持最大并發(fā)數(shù)也是有限的。為了應(yīng)對(duì)直播在線人數(shù)突增等諸多不穩(wěn)定因素,我們推薦使用CDN。

        CDN即Content Delivery Network (內(nèi)容分發(fā)網(wǎng)絡(luò)),是一種新型網(wǎng)絡(luò)構(gòu)建方式,它是為能在傳統(tǒng)的IP網(wǎng)發(fā)布寬帶豐富媒體而特別優(yōu)化的網(wǎng)絡(luò)覆蓋層。簡(jiǎn)單地說,CDN是一個(gè)經(jīng)策略性部署的整體系統(tǒng),通過用戶就近性和服務(wù)器負(fù)載的判斷,CDN確保內(nèi)容以一種極為高效的方式為用戶的請(qǐng)求提供服務(wù)。內(nèi)容服務(wù)基于緩存服務(wù)器,它位于網(wǎng)絡(luò)的邊緣,距用戶僅有“一跳”(Single Hop)之遙。同時(shí),代理緩存是內(nèi)容提供商源服務(wù)器(通常位于CDN服務(wù)提供商的數(shù)據(jù)中心)的一個(gè)透明鏡像。這樣的架構(gòu)使得CDN服務(wù)提供商能夠代表他們客戶,即內(nèi)容供應(yīng)商,向最終用戶提供盡可能好的體驗(yàn),為用戶提供盡可能少的網(wǎng)絡(luò)延遲服務(wù)。

        5.結(jié)束語(yǔ)

        網(wǎng)絡(luò)直播作為基于“互聯(lián)網(wǎng)+媒體”理念應(yīng)運(yùn)而生的新生事物,將互聯(lián)網(wǎng)技術(shù)運(yùn)用到內(nèi)容開發(fā)中來(lái),重新樹立“內(nèi)容為王”的傳播理念。網(wǎng)絡(luò)直播也使得媒體內(nèi)容擁有更強(qiáng)的針對(duì)性、時(shí)效性、吸引力、影響力和感染力。

        猜你喜歡
        服務(wù)器模塊用戶
        28通道收發(fā)處理模塊設(shè)計(jì)
        “選修3—3”模塊的復(fù)習(xí)備考
        通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        得形忘意的服務(wù)器標(biāo)準(zhǔn)
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        選修6 第三模塊 International Relationships
        如何獲取一億海外用戶
        国产自拍精品视频免费| 91中文人妻丝袜乱一区三区| 日本精品熟妇一区二区三区| 国产亚洲精品品视频在线| 97午夜理论片影院在线播放| 精品乱码一区二区三区四区| 国产精品,在线点播影院| 成人大片免费在线观看视频| 99无码熟妇丰满人妻啪啪| 久久这里只精品国产免费10| 成人综合亚洲欧美一区h| 亚洲国产精品激情综合色婷婷| 亚洲人成电影网站色| 丰满人妻熟妇乱又伦精品视| 热re99久久精品国产66热6| 国产性感午夜天堂av| 免费无码av一区二区三区| 国产欧美日韩视频一区二区三区| 白白青青视频在线免费观看 | 日本视频一区二区三区免费观看| 水蜜桃在线观看一区二区国产| 欲求不満の人妻松下纱荣子| 国产zzjjzzjj视频全免费| 精品日韩欧美一区二区三区在线播放| 国产精品亚洲综合久久| 国产三级av在线播放| 人妻无码中文人妻有码| 国产精品不卡在线视频| 在线免费观看一区二区| 国产精品亚韩精品无码a在线| 亚洲精品成人网线在线播放va| 日韩一级精品视频免费在线看| 欧美老妇多毛xxxxx极瑞视频| 夜色阁亚洲一区二区三区| 亚洲二区三区在线播放| 中国久久久一级特黄久久久| 麻豆精品传媒一二三区| 国产精品久久久久免费a∨不卡| 谷原希美中文字幕在线| 国产男女无遮挡猛进猛出| 国产亚洲精久久久久久无码苍井空|