不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 論文大全 > 學(xué)科論文 > 計(jì)算機(jī)論文 > 淺談基于MPLAYER 的RTSP客戶端設(shè)計(jì)與實(shí)現(xiàn)論文

淺談基于MPLAYER 的RTSP客戶端設(shè)計(jì)與實(shí)現(xiàn)論文

時(shí)間: 謝樺657 分享

淺談基于MPLAYER 的RTSP客戶端設(shè)計(jì)與實(shí)現(xiàn)論文

  RTSP即實(shí)時(shí)流傳輸協(xié)議,是一種控制實(shí)時(shí)流傳輸?shù)膽?yīng)用級協(xié)議。RTSP協(xié)議控制流媒體數(shù)據(jù)的傳輸,此協(xié)議主要應(yīng)用于IPTV(交互式網(wǎng)絡(luò)電視)系統(tǒng)。以下是學(xué)習(xí)啦小編為大家精心準(zhǔn)備的:淺談基于MPLAYER 的RTSP客戶端設(shè)計(jì)與實(shí)現(xiàn)相關(guān)論文。內(nèi)容僅供參考,歡迎閱讀!

  淺談基于MPLAYER 的RTSP客戶端設(shè)計(jì)與實(shí)現(xiàn)全文如下:

  近年來,流媒體技術(shù)越來越多的被用到諸如視頻會議、視頻監(jiān)控等諸多領(lǐng)域。盡管流媒體技術(shù)在PC 領(lǐng)域的發(fā)展已經(jīng)較為成熟,但是在嵌入式領(lǐng)域,仍然有著重要的研究意義。

  文章在arm-linux 上,通過移植開源庫LIVE555 和開源播放器MPLAYER,并將兩者聯(lián)合編譯,實(shí)現(xiàn)了RTSP 的客戶端軟件設(shè)計(jì)。實(shí)現(xiàn)通過IP 地址接受服務(wù)器端傳輸過來的RTSP 碼流,并解碼播放。

  1 需求分析

  RTSP 協(xié)議,即實(shí)時(shí)流傳輸協(xié)議,定義了一對多應(yīng)用程序如何有效地通過IP 網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。RTSP 協(xié)議以客戶端和服務(wù)器方式工作,要實(shí)現(xiàn)RTSP 的控制功能,需要有專門的媒體播放器(mediaplayer)和媒體服務(wù)器(media server)。媒體服務(wù)器與媒體播放器的關(guān)系是服務(wù)器與客戶端的關(guān)系。

  文章系統(tǒng)針對的是RTSP 客戶端軟件設(shè)計(jì)。需要能接收到網(wǎng)絡(luò)傳過來的碼流數(shù)據(jù),并進(jìn)行RTP 解包,H264 解碼,并實(shí)時(shí)播放。考慮到實(shí)際情況,采用了LIVE555+MPLAYER 的方案。

  2 LIVE555 及其移植

  LIVE555 是一個(gè)為流媒體技術(shù)提供解決方案的跨平臺開源項(xiàng)目,它采用了C/S 架構(gòu),能夠支持廣播、單播和組播等通信模式,同時(shí)支持RTP/RTCP,RTSP 等高效流媒體傳輸協(xié)議,它是目前實(shí)現(xiàn)rtsp協(xié)議最高效的開源代碼,能很方便的移植到各種嵌入式系統(tǒng)中,而且該開源項(xiàng)目更新速度很快,所以文章選擇了LIVE555 作為解決方案。

  本系統(tǒng)在設(shè)計(jì)時(shí)使用LIVE555 的官方源代碼live.2015.02.01.tar.gz,下面介紹LIVE555 的配置、安裝、移植步驟:

  (1)下載LIVE555 源文件live.2015.04.01.tar.gz,并解壓到/usr/local/lib/目錄中。(2)修改編譯器。修改config.armlinux 文件,替換為ARM 版本的編譯器,CROSS_COMPILE=arm-none-linux-gnueabi-。(3)生成makefile。./genMakefile config.armlinux.(4)Make。可以看到開發(fā)包中多了很多新文件,至此,移植完成。編譯完成后,找到Test-Progs 文件夾中的文件openrtsp 和testRTSPclient,將其拷貝到ARM中。

  ARM 上電后,執(zhí)行./openrtsp rtsp://192.168.1.100/Stream1.h264,可以看到能接收到服務(wù)器端發(fā)送過來的視頻流,并將接收到的視頻流的幀率,時(shí)間戳等信息打印到了屏幕上。

  執(zhí)行./openRTSP -F microcreat- rtsp://192.168.196.100/1.h264,可以看到LIVE555 將接收到的碼流以H264 格式將數(shù)據(jù)保存了下來,此H264 文件是可以直接播放的。

  3 MPLAYER 及其移植

  文章選擇了用開源播放器對RTSP 碼流進(jìn)行RTP 拆包的設(shè)計(jì)方案。而作為目前最優(yōu)秀的播放器之一的MPLAYER,能夠播放大部分流行的音視頻格式文件,如MP3,WMV,RM,MPEG,VOB,AVI 等,同時(shí)支持嵌入式linux 系統(tǒng),可移植性強(qiáng),占用資源少,播放效果佳,因此文章選擇了MPLAYER 作為解決方案。

  本系統(tǒng)在設(shè)計(jì)時(shí)使用Mplayer 最新的官方源代碼MPlayer-1.Orc2.tar.bz2,下面介紹Mplayer 的配置、安裝、移植步驟:

  (1)下載壓縮文件,并解壓MPlaye:源文件MPlayer-1.Orc2.tar.bz2。

  (2)在MPlayer-1.Orc2 文件夾下執(zhí)行如下配置文件,如下:

  ./configure-host-cc=gcc-cc=arm-none-linux-gnueabi-gcc-target=arm-linux-enable-static l-disable-dvdnav-disable-libdvdcss-internal-enable-fbdev-enaable-live-enable-x264-prefix==/opt/arm_mplayerdisable-ivtv-codecsdir= /home/mplayer/essential-20071007

  其中:-cc=arm-none-linux-gnueabi-gcc 是用來指定編譯器的,-target=arm-linux 是用來指出所編譯的是目標(biāo)版本是ARM-LINUX版本的,需要特別指出的是,enable-x264 是用來使能X264 編碼庫的,如果不使能則不能播放H264 視頻,-enaable-live 這個(gè)選項(xiàng)是用來使能LIVE555 庫的,一定不能少,否則不能接受碼流。同時(shí)注意查看是否支持LIVE555,如果不支持,則需要執(zhí)行:

  ./configure -extracflags=-I

  (3)執(zhí)行命令:make。至此,得到了mplayer 可執(zhí)行文件。將其拷貝到目標(biāo)版arm 上即可。

  由于mplayer 默認(rèn)使用fb0 進(jìn)行播放,而本課題系統(tǒng)標(biāo)清顯示接口所對應(yīng)的驅(qū)動為fb2,所以在運(yùn)行示例程序前需要告知mplayer使用哪個(gè)fb 驅(qū)動,執(zhí)行命令修改fb 默認(rèn)使用通道,如下:

  #export FRAMEBUFFER=/dev/fb2

  #./mplayer -vo lbdev <播放文件名> //播放本地視頻文件

  #./mplayer -vo lbdev rtsp://192.168.196.100/1.h264 //接收網(wǎng)絡(luò)碼流并播放

  通過以上方法,就得到了RTSP 的客戶端軟件,可以通過以上命令播放本地視頻文件。同時(shí)也通過url(rtsp://192.168.196.100/1.h264)接收網(wǎng)絡(luò)傳過來的碼流,并進(jìn)行RTP 解包播放。

  4 結(jié)束語

  RTSP 的客戶端設(shè)計(jì)有各種各樣的方法,但是大部分都是針對不同的平臺有著不同的解決方案,而文章所設(shè)計(jì)的系統(tǒng)具有很強(qiáng)的移植性,所有的ARM-LINUX 均可以采用文章所設(shè)計(jì)的系統(tǒng)建立RTSP 客戶端,為相關(guān)應(yīng)用提供了參考解決方案,有著重要的研究和應(yīng)用意義。

相關(guān)文章:

1.淺談多校區(qū)視頻交互教學(xué)系統(tǒng)的構(gòu)建和使用分析(2)

455320