999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

融媒直播間視頻直播平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2022-01-01 00:00:00張磊龍向東
傳播與制作 2022年4期

【摘要】 網(wǎng)絡(luò)直播技術(shù)是這兩年最受關(guān)注的互聯(lián)網(wǎng)技術(shù)之一。它也是融媒體發(fā)展和建設(shè)中必將使用到的技術(shù)。出于完善和擴(kuò)展湖北廣播電臺(tái)融媒體直播間現(xiàn)有制作、播出的功能,我們?cè)O(shè)計(jì)和建設(shè)了這個(gè)融媒體直播間視頻直播平臺(tái)。

【關(guān)鍵詞】網(wǎng)絡(luò)直播 流媒體 推拉流 FFmpeg NGINX

一.引言

在推動(dòng)媒體深度融合,做大做強(qiáng)主流輿論的目標(biāo)指引下,湖北廣播電臺(tái)的融媒體直播間近期已經(jīng)正式投入使用。作為傳統(tǒng)廣播向新媒體領(lǐng)域發(fā)展的重要平臺(tái),融媒體直播間成為了大家關(guān)注和使用的熱點(diǎn)。為了便于對(duì)直播間的使用進(jìn)行管理,提高直播間的使用效率,我們考慮需要一個(gè)對(duì)直播機(jī)房視頻節(jié)目信號(hào)實(shí)時(shí)遠(yuǎn)程監(jiān)看的系統(tǒng)。一來(lái)可以實(shí)時(shí)掌握當(dāng)前機(jī)房的使用情況,二來(lái)可以為節(jié)目制作人員提供多種終端的節(jié)目效果預(yù)覽的信號(hào)源。所以,一個(gè)基于流媒體直播技術(shù)的融媒體直播間視頻直播平臺(tái)的設(shè)計(jì)構(gòu)想應(yīng)運(yùn)而生。

二.需求分析

初步設(shè)想,需要實(shí)現(xiàn)在播出區(qū)和辦公區(qū)的任何可接入到辦公內(nèi)網(wǎng)的地點(diǎn),使用包括PC、手機(jī)、平板等可連接使用互聯(lián)網(wǎng)的設(shè)備對(duì)融媒直播間的多路視頻信號(hào)進(jìn)行監(jiān)看。具體的需求整理如下:

(1)能對(duì)融媒體直播間3個(gè)機(jī)位的拍攝畫(huà)面和一臺(tái)大洋全能機(jī)的PGM信號(hào)進(jìn)行監(jiān)看。

(2)在播出區(qū)和辦公區(qū)的任何可接入到辦公內(nèi)網(wǎng)的地點(diǎn)都可接入平臺(tái)進(jìn)行監(jiān)看。

(3)平臺(tái)系統(tǒng)能在包括PC、手機(jī)、平板等多種智能設(shè)備上使用,實(shí)現(xiàn)多屏融合。

(4)兼容ios、android、Windows系統(tǒng)。

(5)采用輕客戶端方案,使用H5技術(shù),可使用包括chrome、Safari、IE等瀏覽器以及微信進(jìn)行訪問(wèn)。

三.技術(shù)方案

一個(gè)完整的視頻直播過(guò)程,包括采集、處理、編碼、封裝、推流、傳輸、轉(zhuǎn)碼、分發(fā)、解碼、播放等環(huán)節(jié)。每個(gè)環(huán)節(jié)使用哪種技術(shù)去實(shí)現(xiàn),之間又要如何去銜接,這是我們?cè)谙到y(tǒng)設(shè)計(jì)之初需要確定的。一方面需要研究和對(duì)比分析各種技術(shù)的相關(guān)特性,另一方面還要綜合考慮現(xiàn)有設(shè)備、資源、需求等因素,然后才能設(shè)計(jì)出系統(tǒng)的技術(shù)方案。

本系統(tǒng)進(jìn)行直播的流程首先是通過(guò)攝像機(jī)、手機(jī)、攝像頭等設(shè)備將視頻數(shù)據(jù)經(jīng)過(guò)采集、處理、編碼、封裝等操作后,再基于直播協(xié)議發(fā)送到流媒體服務(wù)端,服務(wù)端接收到數(shù)據(jù)以后暫存到本地,另一端的用戶基于直播協(xié)議,請(qǐng)求服務(wù)端上的視頻數(shù)據(jù)到手機(jī)、平板或者PC,經(jīng)過(guò)解碼等操作后即可播放觀看。系統(tǒng)的組成結(jié)構(gòu)如下圖1:

依據(jù)視頻數(shù)據(jù)傳輸過(guò)程,我們可以將視頻直播平臺(tái)簡(jiǎn)單的分為推流端、流媒體服務(wù)器、拉流端三大部分構(gòu)成。

1.推流端

該項(xiàng)目中的推流端包括了融媒直播間的3臺(tái)松下AJ-PX298MC攝像機(jī)、大洋全能機(jī)eStudio Go以及安裝了推流APP的手機(jī)或者平板等。這些設(shè)備作為本系統(tǒng)的推流端,將會(huì)負(fù)責(zé)完成以下功能:

(1)采集

圖像的采集過(guò)程主要由攝像機(jī)或者手機(jī)拍攝成 YUV 編碼的原始音視頻數(shù)據(jù)。

(2)處理

通過(guò)手機(jī)APP或者大洋全能機(jī)的編導(dǎo)軟件,可以對(duì)采集到的視頻或者音頻原始數(shù)據(jù)增加一些例如降噪、美顏、水印等額外的效果,一般會(huì)在將其編碼壓縮前進(jìn)行處理。

(3)編碼

對(duì)流媒體傳輸來(lái)說(shuō),編碼非常重要,它的編碼性能、編碼速度和編碼壓縮比會(huì)直接影響整個(gè)流媒體傳輸?shù)挠脩趔w驗(yàn)和傳輸成本。常見(jiàn)的視頻編碼器有H.264/AVC、HEVC/H.265、VP8、VP9、FFmpeg。音頻編碼器有MP3、AAC等。

(4)封裝

把編碼器生成的多媒體內(nèi)容(視頻,音頻,字幕,章節(jié)信息等)混合封裝在一起。幾種常見(jiàn)的封裝格式包括有:AVI格式(后綴為.avi)、DV-AVI格式(后綴為.avi)、QuickTime File Format格式(后綴為.mov)、MPEG格式(文件后綴可以是.mpg.mpeg.mpe. dat.vob.asf.3gp.mp4等)、WMV格式(后綴為.wmv.asf)、Real Video格式(后綴為.rm.rmvb)、Flash Video格式(后綴為.flv)、Matroska格式(后綴為.mkv)、MPEG2-TS格式(后綴為.ts)。

目前,我們?cè)诹髅襟w傳輸,尤其是直播中主要采用的就是FLV和MPEG2-TS 格式,分別用于RTMP/ HTTP-FLV和HLS協(xié)議。

(5)推流

推流是指使用帶有推流功能或軟件的設(shè)備把直播內(nèi)容傳輸?shù)椒?wù)器的過(guò)程。松下的AJ-PX298MC攝像機(jī)具有RTMP直推功能,可以將廣電級(jí)專業(yè)視頻直接推送到直播平臺(tái)。大洋全能機(jī)eStudio Go同樣也具備了RTMP的推流功能,可以將PGM信號(hào)推送到流媒體服務(wù)器上。而蘋果或安卓手機(jī)在安裝了相應(yīng)的直播推流APP后也可對(duì)系統(tǒng)的流媒體服務(wù)器進(jìn)行推流。所以以上提到的包括采集、處理、編碼、封裝、推流在內(nèi)的幾個(gè)流程都可以由現(xiàn)有軟硬件直接完成,無(wú)需再進(jìn)行開(kāi)發(fā)。

2.流媒體服務(wù)器

流媒體服務(wù)器在本系統(tǒng)中的作用主要是轉(zhuǎn)碼和分發(fā)。

(1)轉(zhuǎn)碼

視頻直播拉流端的碼率是根據(jù)推流端決定的,即拉流端的碼率在理想情況下是與推流端的碼率保持一致的。但是在實(shí)際的應(yīng)用中,如果遇到網(wǎng)絡(luò)帶寬低于所選碼率的最低要求網(wǎng)絡(luò)帶寬時(shí),就需要調(diào)整拉流端或者推流端的相應(yīng)設(shè)置。如果是推流端與流媒體服務(wù)器間的網(wǎng)絡(luò)帶寬過(guò)低,那么將導(dǎo)致視頻出現(xiàn)卡頓的現(xiàn)象。需要調(diào)低推流端的拍攝分辨率和碼率。同時(shí),如果拉流端所設(shè)置的分辨率和碼率高于推流端的設(shè)置,那么播放效果必然無(wú)法達(dá)到預(yù)期值。反之,如果是拉流端與流媒體服務(wù)器間的網(wǎng)絡(luò)帶寬過(guò)低,那么就需要流媒體服務(wù)器提供多種碼率的播流地址以供拉流端播放器切換使用。所以,流媒體服務(wù)器的轉(zhuǎn)碼過(guò)程可以理解為將視頻源轉(zhuǎn)換成多種碼率和分辨率的視頻數(shù)據(jù)的過(guò)程。

(2)分發(fā)

流媒體服務(wù)器的另一個(gè)作用是負(fù)責(zé)直播流的發(fā)布和轉(zhuǎn)播分發(fā)功能。根據(jù)前文所列需求,用戶能在包括PC、手機(jī)、平板等多種智能設(shè)備上使用,實(shí)現(xiàn)多屏融合的需求可以看出,拉流終端的設(shè)備硬件、操作系統(tǒng)、播放軟件都存在多種可能性。那么首先是在RTMP、RTSP以及HLS這三種常用流媒體直播協(xié)議中選擇合適的使用。它們其各自都具有不同的優(yōu)缺點(diǎn)和適用的場(chǎng)景。

RTMP(Real Time Message Protocol實(shí)時(shí)信息傳輸協(xié)議)協(xié)議是由Adobe公司提出的一種應(yīng)用層的協(xié)議,用來(lái)解決多媒體數(shù)據(jù)傳輸流的多路復(fù)用(Multiplexing)和分包(packetizing)的問(wèn)題。其特點(diǎn)是穩(wěn)定性高,在PC平臺(tái)上flash播放的最穩(wěn)定方式是RTMP,而且一般主流編碼器都支持該協(xié)議,使用較為方便。加上推流使用的協(xié)議也是RTMP,所以在服務(wù)器端無(wú)需進(jìn)行轉(zhuǎn)換。做為本系統(tǒng)PC機(jī)(windows系統(tǒng))拉流端的協(xié)議是合適的。

HLS(HTTP Live Streaming)是一個(gè)由蘋果公司提出的基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議。是蘋果公司QuickTime X和iPhone軟件系統(tǒng)的一部分。它的工作原理是把整個(gè)流分成一個(gè)個(gè)小的基于HTTP的文件來(lái)下載,每次只下載一些。當(dāng)媒體流正在播放時(shí),客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會(huì)話適應(yīng)不同的數(shù)據(jù)速率。在開(kāi)始一個(gè)流媒體會(huì)話時(shí),客戶端會(huì)下載一個(gè)包含元數(shù)據(jù)的extended M3U(m3u8) playlist文件,用于尋找可用的媒體流。其基于HTTP協(xié)議的特性使其在與H5技術(shù)結(jié)合后具有不錯(cuò)的跨平臺(tái)特性。對(duì)于iOS和Android上的瀏覽器都可實(shí)現(xiàn)拉流播放。甚至在PC上亦可通過(guò)相應(yīng)的插件使其支持HLS協(xié)議。當(dāng)然,其延遲較長(zhǎng)的缺點(diǎn)也是比較突出的。不過(guò)綜合來(lái)看,對(duì)于本系統(tǒng)的移動(dòng)端需求而言,目前沒(méi)有更好的直播協(xié)議可以選擇;再者,本系統(tǒng)對(duì)于直播的延時(shí)并沒(méi)有很高的要求。所以,本系統(tǒng)的移動(dòng)端拉流的直播協(xié)議選擇采用HLS協(xié)議。

綜合以上要素,考慮通用性、穩(wěn)定性因素,流媒體服務(wù)器將使用FFmpeg+NGINX+RTMP模塊的組建方案。

FFmpeg是一套可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為視頻流的開(kāi)源計(jì)算機(jī)程序。FFmpeg有非常強(qiáng)大的功能,包括視頻采集功能、視頻格式轉(zhuǎn)換、視頻編碼、視頻抓圖、視頻加水印等。不僅可以采集視頻采集卡或USB攝像頭的圖像,還可以進(jìn)行屏幕錄制,同時(shí)還支持以RTP方式將視頻流傳送給支持RTSP的流媒體服務(wù)器,支持直播應(yīng)用。

Nginx是一款輕量級(jí)服務(wù)器、反向代理服務(wù)器及電子郵件代理服務(wù)器。其特點(diǎn)是占用內(nèi)存少,并發(fā)能力強(qiáng)。與apache相比,其占用更少的內(nèi)存及資源。nginx處理請(qǐng)求是異步非阻塞的,而apache則是阻塞型的,在高并發(fā)下,nginx能保持低資源低消耗高性能,用它來(lái)做hls或者rtmp流媒體服務(wù)器是非常不錯(cuò)的選擇。

本系統(tǒng)的可使用范圍被限定于本地的辦公網(wǎng),用戶數(shù)和并發(fā)量都比較有限,所以沒(méi)有做CDN的配置和部署。

3.拉流端

拉流端即用戶用來(lái)播放視頻的移動(dòng)終端或PC。用戶要獲取直播視頻資源時(shí),首先使用終端的瀏覽器或者微信APP訪問(wèn)本系統(tǒng)的內(nèi)容發(fā)布服務(wù)器。在通過(guò)身份驗(yàn)證后,服務(wù)程序會(huì)返回相應(yīng)的直播拉流地址與播放頁(yè)面給用戶所使用的客戶端。

因?yàn)椴捎昧嘶贖T TP協(xié)議的HLS協(xié)議,HLS只請(qǐng)求基本的HTTP報(bào)文,與實(shí)時(shí)傳輸協(xié)議(RTP)不同,HLS可以穿過(guò)任何允許HTTP數(shù)據(jù)通過(guò)的防火墻或者代理服務(wù)器,無(wú)論是iOS還是Android系統(tǒng)的手機(jī)都可以支持。再加上這些年HTM5技術(shù)的不斷發(fā)展和完善,我們現(xiàn)在完全可以使用H5頁(yè)面來(lái)完成流媒體的播放功能,同時(shí)也實(shí)現(xiàn)了輕客戶端的設(shè)計(jì)。這樣既免去了用戶下載安裝APP的麻煩,也實(shí)現(xiàn)了一次開(kāi)發(fā),多平臺(tái)共用的便利。而對(duì)于PC端而言,在安裝了Flash 視頻播放插件后,就可以支持RTMP協(xié)議的流媒體視頻播放。如前文所提到的,這將帶來(lái)更低的直播延時(shí)。不過(guò),對(duì)于服務(wù)器端來(lái)說(shuō),雖然PC端同樣是采用H5頁(yè)面播放的形式,但在頁(yè)面中還需要內(nèi)嵌video.js播放器的方式才能完成拉流播放。Video. js是一款優(yōu)秀的HTML5 Web視頻播放器。它同時(shí)支持HTM5和Flash視頻,支持在桌面和移動(dòng)設(shè)備上的視頻播放,截至目前,大概有40W的站點(diǎn)在使用Video.js作為web播放器。

依照以上方案內(nèi)容,系統(tǒng)架構(gòu)將如下圖2所示:

四.系統(tǒng)功能實(shí)現(xiàn)

1.流媒體服務(wù)器的安裝與配置

本系統(tǒng)使用的是F F m p e g + NGINX+RTMP模塊組建的流媒體服務(wù)器。雖然可以跨平臺(tái)安裝使用,但Linux在性能、安全性、易于維護(hù)、開(kāi)源等方面都具有明顯的優(yōu)勢(shì)。所以本系統(tǒng)使用了Ubuntu 18.10作為流媒體服務(wù)器的操作系統(tǒng)。

在安裝完NGINX、FFmpeg以及其相關(guān)依賴后,再通過(guò)配置nginx. conf文件,就可以設(shè)定需要的推流地址以及轉(zhuǎn)碼參數(shù)。本系統(tǒng)的部分配置內(nèi)容如下圖3所示:

文件中通過(guò)application開(kāi)啟了數(shù)個(gè)直播通道并以live_加數(shù)字命名。同時(shí),還用exec加入了命令行的執(zhí)行,調(diào)用FFmpeg對(duì)原rtmp協(xié)議直播流進(jìn)行分辨率和碼率重設(shè)后,作為HLS協(xié)議直播流的數(shù)據(jù)源。

2.拉流端的實(shí)現(xiàn)

如前文所述,因?yàn)槭褂昧薍LS協(xié)議,在移動(dòng)終端的拉流播放就完全可以使用HTML5的頁(yè)面播放流媒體視頻了。這意味著我們開(kāi)發(fā)的程序天然地兼容ios、android兩大手機(jī)操作系統(tǒng)的瀏覽器,甚至可以使用包括微信在內(nèi)的支持網(wǎng)頁(yè)瀏覽的APP也能播放本系統(tǒng)的直播視頻。我們省去了在大量可能要花在重復(fù)開(kāi)發(fā)個(gè)兼容性調(diào)試方面的時(shí)間。也給用戶的使用上帶來(lái)很大的便利。

在具體開(kāi)發(fā)中,我們使用了MUI框架,以求在最終效果與體驗(yàn)上能最接近原生APP,同時(shí)也不會(huì)消耗終端太多性能。部分代碼如圖4所示。在代碼中只需使用

在PC端的拉流播放因?yàn)槭褂玫氖荝TMP協(xié)議,需要使在網(wǎng)頁(yè)中內(nèi)嵌Video. js來(lái)實(shí)現(xiàn)播放。效果如下圖6所示:

3.手機(jī)直播推流

除了融媒直播間的攝像機(jī)和大洋全能機(jī)可以直接推流以外,目前在蘋果和安卓手機(jī)上都有免費(fèi)的推流APP可以安裝使用。配合融媒體直播間的直播平臺(tái)就可以將手機(jī)的直播畫(huà)面?zhèn)骰氐饺诿街辈ラg的大洋全能機(jī)上了。效果下如圖7所示,其中手機(jī)采用豎屏模式拍攝。

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

可以說(shuō)網(wǎng)絡(luò)直播技術(shù)是這兩年最受關(guān)注的互聯(lián)網(wǎng)技術(shù)之一。傳統(tǒng)媒體要走向融合,走向互聯(lián)網(wǎng),那么對(duì)網(wǎng)絡(luò)直播技術(shù)的應(yīng)用就不可或缺。那么作為媒體技術(shù)工作者,對(duì)網(wǎng)絡(luò)直播技術(shù)的學(xué)習(xí)和了解無(wú)疑會(huì)對(duì)今后在融媒時(shí)代的工作有所幫助。開(kāi)發(fā)組人員起初是出于完善湖北廣播電臺(tái)融媒直播間日常制作播出業(yè)務(wù)功能的目的而提出了這個(gè)融媒體直播間節(jié)目信號(hào)監(jiān)看系統(tǒng)的開(kāi)發(fā)構(gòu)想。而整個(gè)開(kāi)發(fā)過(guò)程也是我們對(duì)融媒相關(guān)技術(shù)的探索和實(shí)踐。BP

主站蜘蛛池模板: 国产综合精品日本亚洲777| 久久婷婷色综合老司机| 又猛又黄又爽无遮挡的视频网站| 国产网站免费观看| 国产区网址| 视频国产精品丝袜第一页| 欧洲一区二区三区无码| 永久免费无码成人网站| 热这里只有精品国产热门精品| 中文字幕 91| 99久久精品国产精品亚洲 | 精品国产三级在线观看| 亚洲日韩高清无码| 呦视频在线一区二区三区| 久久性视频| 丰满人妻被猛烈进入无码| 一本无码在线观看| 尤物国产在线| 久久情精品国产品免费| 亚洲精品国产精品乱码不卞| 日韩精品一区二区三区中文无码| 无码高潮喷水专区久久| 亚洲精品福利网站| 丰满人妻中出白浆| 黑人巨大精品欧美一区二区区| 大学生久久香蕉国产线观看| 亚洲第一成网站| 免费在线国产一区二区三区精品| 精品国产成人av免费| 国产91小视频| 国产香蕉一区二区在线网站| 国产高清色视频免费看的网址| 丝袜美女被出水视频一区| 色吊丝av中文字幕| 高清欧美性猛交XXXX黑人猛交| 国产日韩欧美在线播放| 多人乱p欧美在线观看| 欧美成人A视频| 欧美特黄一免在线观看| 国产精品永久免费嫩草研究院| 国产福利免费视频| 欧美www在线观看| 欧美日韩精品综合在线一区| 国产在线精彩视频二区| 中国精品自拍| 91久久偷偷做嫩草影院免费看| 久久精品一卡日本电影| 日韩福利在线观看| 国产网友愉拍精品| 波多野结衣一区二区三区88| 无码高潮喷水专区久久| 国产一级在线播放| 欧美α片免费观看| 精品一区二区久久久久网站| 国产乱人激情H在线观看| 色欲色欲久久综合网| 91无码人妻精品一区二区蜜桃| 色九九视频| 色AV色 综合网站| 亚洲天堂视频在线播放| 2024av在线无码中文最新| 日韩在线播放欧美字幕| 亚洲无码高清免费视频亚洲 | 亚洲成aⅴ人片在线影院八| 国产打屁股免费区网站| 亚洲第一精品福利| 亚洲第一av网站| 日韩中文字幕免费在线观看| 看看一级毛片| 亚洲综合色吧| 好紧好深好大乳无码中文字幕| 色综合婷婷| 亚洲国产亚洲综合在线尤物| 秋霞午夜国产精品成人片| 香港一级毛片免费看| 啪啪免费视频一区二区| 国产精品页| 秋霞午夜国产精品成人片| 91美女视频在线| 四虎国产永久在线观看| 亚洲毛片网站| 久久人人妻人人爽人人卡片av|