啊用力?嗯?轻一点原神宵宫,尿口扩张videos,国产精品久久久久精品爆乳接种 ,荡公乱妇HD电影中文字幕


微博

QQ

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

2022-04-24 張磊 龍向東 湖北廣播電視臺(tái) 依馬獅視聽工場


【摘要】 網(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)。一來可以實(shí)時(shí)掌握當(dāng)前機(jī)房的使用情況,二來可以為節(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ī)位的拍攝畫面和一臺(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)行訪問。

三.技術(shù)方案

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

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

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

1.推流端

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

(1)采集

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

(2)處理

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

(3)編碼

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

(4)封裝

把編碼器生成的多媒體內(nèi)容(視頻,音頻,字幕,章節(jié)信息等)混合封裝在一起。幾種常見的封裝格式包括有: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ù)器的過程。松下的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)有軟硬件直接完成,無需再進(jìn)行開發(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ò)帶寬過低,那么將導(dǎo)致視頻出現(xiàn)卡頓的現(xiàn)象。需要調(diào)低推流端的拍攝分辨率和碼率。同時(shí),如果拉流端所設(shè)置的分辨率和碼率高于推流端的設(shè)置,那么播放效果必然無法達(dá)到預(yù)期值。反之,如果是拉流端與流媒體服務(wù)器間的網(wǎng)絡(luò)帶寬過低,那么就需要流媒體服務(wù)器提供多種碼率的播流地址以供拉流端播放器切換使用。所以,流媒體服務(wù)器的轉(zhuǎn)碼過程可以理解為將視頻源轉(zhuǎn)換成多種碼率和分辨率的視頻數(shù)據(jù)的過程。

(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)和適用的場景。

RTMP(Real Time Message Protocol實(shí)時(shí)信息傳輸協(xié)議)協(xié)議是由Ad o be公司提出的一種應(yīng)用層的協(xié)議,用來解決多媒體數(shù)據(jù)傳輸流的多路復(fù)用(Multiplexing)和分包(packetizing)的問題。其特點(diǎn)是穩(wěn)定性高,在PC平臺(tái)上flash播放的最穩(wěn)定方式是RTMP,而且一般主流編碼器都支持該協(xié)議,使用較為方便。加上推流使用的協(xié)議也是RTMP,所以在服務(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的文件來下載,每次只下載一些。當(dāng)媒體流正在播放時(shí),客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會(huì)話適應(yīng)不同的數(shù)據(jù)速率。在開始一個(gè)流媒體會(huì)話時(shí),客戶端會(huì)下載一個(gè)包含元數(shù)據(jù)的extended M3U(m3u8) playlist文件,用于尋找可用的媒體流。其基于HT TP協(xié)議的特性使其在與H5技術(shù)結(jié)合后具有不錯(cuò)的跨平臺(tái)特性。對(duì)于iOS和Android上的瀏覽器都可實(shí)現(xiàn)拉流播放。甚至在PC上亦可通過相應(yīng)的插件使其支持HLS協(xié)議。當(dāng)然,其延遲較長的缺點(diǎn)也是比較突出的。不過綜合來看,對(duì)于本系統(tǒng)的移動(dòng)端需求而言,目前沒有更好的直播協(xié)議可以選擇;再者,本系統(tǒng)對(duì)于直播的延時(shí)并沒有很高的要求。所以,本系統(tǒng)的移動(dòng)端拉流的直播協(xié)議選擇采用HLS協(xié)議。

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

FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為視頻流的開源計(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能保持低資源低消耗高性能,用它來做hls或者rtmp流媒體服務(wù)器是非常不錯(cuò)的選擇。
本系統(tǒng)的可使用范圍被限定于本地的辦公網(wǎng),用戶數(shù)和并發(fā)量都比較有限,所以沒有做CDN的配置和部署。

3.拉流端

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

因?yàn)椴捎昧嘶贖T T P協(xié)議的HLS協(xié)議,HLS只請(qǐng)求基本的HTTP報(bào)文,與實(shí)時(shí)傳輸協(xié)議(RTP)不同, HLS可以穿過任何允許HTTP數(shù)據(jù)通過的防火墻或者代理服務(wù)器,無論是iOS還是Android系統(tǒng)的手機(jī)都可以支持。再加上這些年HTM5技術(shù)的不斷發(fā)展和完善,我們現(xiàn)在完全可以使用H5頁面來完成流媒體的播放功能,同時(shí)也實(shí)現(xiàn)了輕客戶端的設(shè)計(jì)。這樣既免去了用戶下載安裝APP的麻煩,也實(shí)現(xiàn)了一次開發(fā),多平臺(tái)共用的便利。而對(duì)于PC端而言,在安裝了Flash 視頻播放插件后,就可以支持RTMP協(xié)議的流媒體視頻播放。如前文所提到的,這將帶來更低的直播延時(shí)。不過,對(duì)于服務(wù)器端來說,雖然PC端同樣是采用H5頁面播放的形式,但在頁面中還需要內(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ái)的設(shè)計(jì)與實(shí)現(xiàn)

圖2

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

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

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

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

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

圖3

文件中通過application開啟了數(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的頁面播放流媒體視頻了。這意味著我們開發(fā)的程序天然地兼容ios、android兩大手機(jī)操作系統(tǒng)的瀏覽器,甚至可以使用包括微信在內(nèi)的支持網(wǎng)頁瀏覽的APP也能播放本系統(tǒng)的直播視頻。我們省去了在大量可能要花在重復(fù)開發(fā)個(gè)兼容性調(diào)試方面的時(shí)間。也給用戶的使用上帶來很大的便利。

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

圖4

在具體開發(fā)中,我們使用了MUI框架,以求在最終效果與體驗(yàn)上能最接近原生APP,同時(shí)也不會(huì)消耗終端太多性能。部分代碼如圖4所示。在代碼中只需使用<video>標(biāo)簽即可調(diào)用播放插件,非常簡便。同時(shí)配合相應(yīng)的js代碼實(shí)現(xiàn)分布加載,減少頁面空白時(shí)間。而最終的使用效果也是令人滿意的。移動(dòng)端客戶端頁面及拉流播放效果如圖5所示:

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

圖5

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

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

圖6

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

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

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

圖7

五.結(jié)束語

可以說網(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í)和了解無疑會(huì)對(duì)今后在融媒時(shí)代的工作有所幫助。開發(fā)組人員起初是出于完善湖北廣播電臺(tái)融媒直播間日常制作播出業(yè)務(wù)功能的目的而提出了這個(gè)融媒體直播間節(jié)目信號(hào)監(jiān)看系統(tǒng)的開發(fā)構(gòu)想。而整個(gè)開發(fā)過程也是我們對(duì)融媒相關(guān)技術(shù)的探索和實(shí)踐。B&P

網(wǎng)絡(luò)直播 流媒體 推拉流 FFmpeg NGINX

視聽科技視頻號(hào) 廣告
發(fā)表評(píng)論
主站蜘蛛池模板: 第一次处破女18分钟之| 国产?婬片A片A片动漫| 国产黃色AAAA免费下载| 辣妞范免费视频观看1000| 韩宝贝18?仙女屋Tv| 日韩精品无码一二区色情明星| 学长被C哭爬走又被拉回来文| 又色又爽又黄的视频 新闻 | 日本工番口番H漫画人妻| 在线观看日韩www视频免费| bl文库h啊好涨粗bl| 成人精品99| 成人精品在线免费观看| 一级全黄60分钟免费视频| 国产?婬片A片A在线播放| 啊?好痛?嗯?小龙女| 波多野结衣120分钟AV作品| 国产精品av| 国产精品国产精品国产专区不卡| 婷婷99| 无码少妇一二三区免费| 免费高清日本中文| 人人澡人人爽精品AV视频| 大伊香蕉在线精品不卡视频| 张悠雨大胆两腿玉门打开| 免费一级AAA毛片观看| 2023av网站| 男主和女配啪慎入h| 高H全肉NP双龙男男| 边摸边亲奶边做爽视频免费看 | 无翼乌邪恶彩色无摭挡的图片| 欧美videosfree性喷潮| 污污动态图| 看着娇妻被一群人蹂躏| 欧美做真爱免费观看| 91精品国产黑色瑜伽裤| 欧美成人日韩| 男女又爽?又黄?免费韩国| 无码粉嫩小泬在线观看红桃视频| 强行扒开双腿舔上高潮学生视频| 欧美黄色影片|