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

Linux下基于Gstreamer的流媒體播放器設計

2014-04-29 10:36:17秦端振
科學大眾·教師版 2014年3期

秦端振

摘 要:本文設計了一種Linux系統下的流媒體播放器。該播放器基于Gstreamer架構進行設計,通過RTSP插件和RTP/RTCP插件等的構建,實現了多媒體數據流的接收、解碼、回放以及控制等功能。

關鍵詞:Gstreamer; 流媒體; RTSP; RTP/RTCP

中圖分類號:TN919.8 文獻標識碼:A 文章編號:1006-3315(2013)03-149-002

1.前言

流媒體技術以流的方式在網絡中傳輸媒體,具有良好的實時性和交互性。隨著3G、4G等高速移動通信技術的發展成熟和多媒體智能移動設備的普及,流媒體技術獲得了廣泛應用和迅速發展。本文基于GStreamer架構,采用RTP/RTCP協議實現數據傳輸,設計了一種流媒體播放器,處理芯片采用OMAP3430,操作系統為嵌入式Linux系統,借助高速網絡,可以實現高質量的流媒體播放。

2.相關技術介紹

2.1流媒體技術。流媒體是指以流的方式在網絡中傳輸音頻、視頻和多媒體文件的形式。流媒體文件格式是支持采用流式傳輸及播放的媒體格式。流式傳輸方式是將視頻和音頻等多媒體文件經過特殊的壓縮方式分成一個個壓縮包,由服務器向用戶計算機連續、實時傳送。用戶采用內容緩存的方式,只需要進行很短時間的緩沖,就可以一邊播放一邊下載,而不需要提前下載整個文件。

流媒體傳輸一般都是采用建立在udp協議上的rtp/rtsp實時傳輸協議。相對于注重傳輸質量的tcp協議來說,udp協議更加注重傳輸速度,這種協議對于實時性要求很高的流媒體文件來說,無疑是更加合適的。

2.2Gstreamer概述。GStreamer是一種流媒體應用框架,采用了基于插件(plugin)和管道(pipeline)的體系結構,框架中的所有的功能模塊都被實現成可以插拔的組件(component),并且在需要的時候能夠很方便地安裝到任意一個管道上,由于所有插件都通過管道機制進行統一的數據交換,因此很容易利用已有的各種插件“組裝”出一個功能完善的多媒體應用程序。其主要功能模塊包括元件、襯墊、箱柜等。

元件(Elements)是Gstreamer框架中所有可用組件的基礎,是組成管道的基本構件。元件可以分為數據源元件、過濾器元件、接收器元件等,實現數據的輸入、處理和輸出等功能。

襯墊(pad)是元件(element)與外界的連接通道,每個襯墊都帶有特定的功能信息,通過將不同元件的襯墊依次連接起來構成一條媒體處理管道,使數據在流經管道的過程能夠被各個元件正常處理,最終就可以實現特定的多媒體功能。

箱柜(Bins):箱柜是一個可以裝載元件的容器,同時其自身也是一個GstElement對象,也能夠被用來容納其他的箱柜對象。

2.3實時傳輸協議(RTP/RTCP)。RTP/RTCP協議棧由兩個相互緊湊的協議組成,其中RTP協議負責傳送具有實時特征的多媒體數據,而RTCP協議負責反饋控制、監測QoS、監視和傳遞相關信息。由于流媒體數據傳輸對于傳輸實時性的要求遠高于傳輸可靠性,RTP/RTCP數據通常采用UDP/IP封裝,它們共同完成網絡傳輸層的功能。

2.4實時流媒體協議(RTSP)。RTSP協議是一種對流媒體數據的傳輸進行控制的應用級協議。通過RTSP協議,可以實現音視頻的控制、點播等功能。

3.流媒體播放器的實現

本文設計的流媒體播放器,可以分為以下幾個模塊:用戶界面、RTSP控制模塊、RTP/RTCP傳輸模塊、數據轉換模塊、解碼模塊、視音頻輸出模塊。如圖1所示。用戶通過用戶界面與客戶端交互,RTSP模塊響應用戶界面發送的命令,建立RTP數據傳輸會話,會話建立之后,由RTP/RTCP模塊循環接收RTP數據包并進行排序,然后轉換模塊對RTP數據進行解包,轉換成原始的音視頻數據,然后送入解碼模塊進行解碼,最后通過音視頻輸出模塊將媒體展示給用戶。

圖1流媒體播放器架構

用戶界面是客戶端跟用戶之間交互的界面,它包括兩部分內容:一是媒體播放控制,比如暫停、快進等;二是媒體內容的展示,比如視頻畫面的顯示等。在Linux系統下,本文利用GTK+庫開發GUI框架。

RTSP模塊用于會話的建立和控制,它提供響應界面操作的接口,直接響應界面發送的命令。RTSP也提供互聯的雙方或多方的一個傳輸方式和編碼方式的協商操作,在網絡允許的情況下,建立一條最佳的傳輸通道。當客戶端用戶選擇服務器上某項流媒體內容的時候,播放器會通過RTSP協議,與服務器建立會話,通知服務器往本地RTP接收端口發送音視頻數據。

RTP/RTCP模塊為流媒體播放器的核心組成部分,當RTSP建立傳輸會話之后,RTP和RTCP會各使用一個端口,RTP端口會循環接收RTP數據包,同時RTCP端口會周期性的發送RTCP報,RTCP包中包含已發送的數據包的數量、丟失的數據包的數據等統計資料,因此,服務器可以利用這些信息動態的改變傳輸速率,甚至改變有效載荷類型。RTP包由RTP包頭和RTP數據構成,RTP包頭中包含了一些可以較好保證流數據連續性實時性的信息,如序列號、時間戳等。序列號可以保證到達客戶端的RTP包的連續,而時間戳可以同步音視頻包。根據包頭中的時間戳接收的數據包進行重新排序,然后傳送到轉換模塊進行處理。

4.小結

本文采用Gstreamer架構,對RTP/RTCP/RTSP協議進行了深入研究,設計了一種基于Linux系統的流媒體播放器,通過構建RTP/RTCP流媒體傳輸插件,實現了流媒體數據的實時傳輸和播放,在終端設備中可以取得良好的流媒體播放效果。

這種基于Gsreamer的媒體播放器具備良好的靈活性和可移植性,借助高速傳播網絡,特別適合在各種不同類型的智能終端實現流媒體的接收和播放等功能,在視頻監控、遠程會議、視頻教學、多媒體娛樂等多種不同場合都可以獲得廣泛應用。

參考文獻:

[1]孫弼陽,李虹,王穎.移動流媒體業務的技術與應用[J]現代電信科技,2008(06):13-18

[2]陳丹,郭先會.RTP/RTCP協議在3GPP移動流媒體業務中的研究與應用[J]山西電子技術,2010(06):65-66

[3]陳洪敏.基于RTP/RTCP協議流媒體傳輸的研究[J]福建電腦.2010(02):93-94

[4]王蕊,劉衛東,王金童.基于GStreamer的媒體播放研究[J]電子設計工程.2012(03):34-36

[5]劉尚麟,劉軍.GStreamer RTP插件的改進及應用[J]信息安全與通信保密,2009,(01):91-95

[6]趙進,葉梧,馮穗力.基于RTP/RTCP的流媒體服務器技術研究[J]中國有線電視.2004(01):3-6

主站蜘蛛池模板: 手机在线看片不卡中文字幕| 国产第一页免费浮力影院| 久草网视频在线| 亚洲网综合| 国产欧美自拍视频| 精久久久久无码区中文字幕| 精品一区二区久久久久网站| 日韩在线中文| 亚洲精品国产自在现线最新| 中文字幕中文字字幕码一二区| 国产免费一级精品视频| 无码福利日韩神码福利片| 久久亚洲国产一区二区| 国产综合亚洲欧洲区精品无码| 中文无码伦av中文字幕| 国产成熟女人性满足视频| 国产麻豆永久视频| 国产毛片高清一级国语 | 97影院午夜在线观看视频| 91成人精品视频| 国产真实乱子伦精品视手机观看| 黄色三级网站免费| jizz国产视频| 国产理论最新国产精品视频| 97国产精品视频人人做人人爱| 亚洲精品色AV无码看| 久久99国产乱子伦精品免| 国产日韩精品欧美一区喷| 亚洲精品无码成人片在线观看| 九九视频免费看| 免费全部高H视频无码无遮掩| 亚洲日产2021三区在线| 伊人成人在线| 日本一本在线视频| 亚洲第一天堂无码专区| 黄色福利在线| 欧美在线视频a| 一本无码在线观看| 毛片最新网址| 亚洲精品福利视频| 国产剧情国内精品原创| 一本大道香蕉中文日本不卡高清二区 | 午夜天堂视频| 无码人妻免费| 一本综合久久| 日本精品视频| 国产精品片在线观看手机版 | 在线国产毛片| 99久久国产精品无码| 无码精品国产dvd在线观看9久 | 免费a级毛片视频| 91久久偷偷做嫩草影院| 亚洲香蕉久久| 永久免费av网站可以直接看的 | 99久久精品免费看国产免费软件| 欧美天堂久久| 亚洲男人在线天堂| 亚洲一区二区精品无码久久久| 国产精品嫩草影院视频| 中文字幕不卡免费高清视频| 国产肉感大码AV无码| 中文字幕自拍偷拍| 亚洲成人黄色在线| 亚洲男人的天堂久久精品| 亚洲最大综合网| 92精品国产自产在线观看| 国产一区二区精品福利| 国产免费网址| 91九色视频网| 色一情一乱一伦一区二区三区小说| 九九精品在线观看| 日韩人妻少妇一区二区| 亚洲欧美日韩天堂| 成人午夜视频在线| 国产成人精品视频一区视频二区| 欧美日韩精品一区二区在线线 | 日韩在线视频网| 国产内射在线观看| 在线人成精品免费视频| 国产日本一区二区三区| 女人爽到高潮免费视频大全| 国产精品视频观看裸模|