• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            【流媒體】live555—VS2010 下live555編譯、使用及測試

            轉載自:http://www.cnblogs.com/skyseraph/archive/2012/04/11/2442840.html

            【流媒體】live555—VS2010 下live555編譯、使用及測試

            SkySeraph Apr 11st 2012

            Email:zgzhaobo@gmail.com    QQ:452728574



            Ⅰ live555簡介

              Live555 是一個為流媒體提供解決方案的跨平臺的C++開源項目,它實現了對標準流媒體傳輸協議如RTP/RTCP、RTSP、SIP等的支持。Live555實現了對多種音視頻編碼格式的音視頻數據的流化、接收和處理等支持,包括MPEG、H.263+、DV、JPEG視頻和多種音頻編碼。同時由于良好的設計,Live555非常容易擴展對其他格式的支持。目前,Live555已經被用于多款播放器的流媒體播放功能的實現,如VLC(VideoLan)、MPlayer。

              該項目的源代碼包括四個基本的庫,各種測試代碼以及IVE555 Media Server。四個基本的庫分別是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。


            Ⅱ 下載

            live555源碼http://www.live555.com/(官網)

             


            Ⅲ 編譯步驟

            方法一(Win7下命令方式)

             綜述:利用genWindowsMakefiles.cmd生成VS可用的makefile

             修改win32config。打開live\win32config文件,修改如下

            TOOLS32 = c:\Program Files\DevStudio\Vc

            TOOLS32 =  E:\Program   Files\Microsoft Visual Studio 10.0\VC

            將TOOLS32修改為你的VS2010路徑

            LINK_OPTS_0   =        $(linkdebug) msvcirt.lib

            LINK_OPTS_0   =   $(linkdebug)  msvcrt.lib

            編譯器索要的LINK運行庫不同,原本以為可以改為msvcrt100.lib,但沒找著

             新增Makefile設定。打開live\groupsock\Makefile.head,修改如下

            INCLUDES =   -Iinclude -I../UsageEnvironment/include

            INCLUDES =   -Iinclude -I../UsageEnvironment/include   -DNO_STRSTREAM

             建立makefile

              方法:運行live\genWindowsMakefiles.cmd,生成VS能夠編譯的*.mak文件

             建立build.bat命令

              新建live\complie.bat,并添加內容如下:

            復制代碼
            call "E:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
            cd liveMedia
            nmake /B -f liveMedia.mak
            cd ../groupsock
            nmake /B -f groupsock.mak
            cd ../UsageEnvironment
            nmake /B -f UsageEnvironment.mak
            cd ../BasicUsageEnvironment
            nmake /B -f BasicUsageEnvironment.mak
            cd ../testProgs
            nmake /B -f testProgs.mak
            cd ../mediaServer
            nmake /B -f mediaServer.mak
            復制代碼

             開始編譯:(命令行下)執行complie.bat

             編譯結果

            6-1  在對應的文件下,如下圖

             生成與cpp文件對應的obj文件(Object File中間代碼文件,源文件complie生成,在linux下為o文件

             生成lib庫: libBasicUsageEnvironment.lib、libgroupsock.lib、libUsageEnvironment.lib、libliveMedia.lib

             

            6-2 在對應的文件下,如下圖:生成對應的obj文件和exe文件

             

            :若要用VS2010對代碼進行調試跟蹤,那么編譯時需要做相應修改,修改方法如下:

              方法一:修改*.mak文件下的NODEBUG 。不帶DEBUG,NODEBUG=1(默認);帶DEBUG,DEBUG=1

              方法二:在win32config加入一行 "NODEBUG=1" (不推薦)

             

            方法二(Win7+VS2010方式)

              如果需要自己調試修改源碼,采用編譯器的方式會更好些,這種方式也更利于源碼分析,步驟如下:

             綜述:分別為每個庫單獨編譯生成lib

             

             新建解決方案和lib工程,分別如下:

            E:\My Document\Visual Studio 2010\Projects\myLive555\BasicUsageEnvironment
            E:\My Document\Visual Studio 2010\Projects\myLive555\liveMedia
            E:\My Document\Visual Studio 2010\Projects\myLive555\groupsock
            E:\My Document\Visual Studio 2010\Projects\myLive555\BasicUsageEnvironment

              完整解決方案的結構如下圖

             添加頭文件

              方法1:采用全局包含方式(絕對路徑)。需要添加的include文件包括

            E:\My Document\Visual Studio 2010\Projects\myLive555\BasicUsageEnvironment\include
            E:\My Document\Visual Studio 2010\Projects\myLive555\liveMedia\include
            E:\My Document\Visual Studio 2010\Projects\myLive555\groupsock\include
            E:\My Document\Visual Studio 2010\Projects\myLive555\BasicUsageEnvironment\include

              方法2:采用局部(當前工程)包含方式(相對路徑)。推薦

              描述工程->屬性->配置屬性->C/C++->常規->附加包含目錄

            ..\BasicUsageEnvironment\include
            ..\groupsock\include
            ..\liveMedia\include
            ..\UsageEnvironment\include

             

            3  添加文件

                在上述lib工程中添加對應的所有的cpp文件。

            4  設置工程的輸出目錄

              路徑:E:\My Document\Visual Studio 2010\Projects\myLive555\lib

              方法:項目-》屬性-》常規-》輸出目錄

            5  編譯解決方案

              結果:在lib目錄下生成 BasicUsageEnvironment.lib、groupsock.lib、UsageEnvironment.lib、liveMedia.lib

             

            下載編譯好的live555(lib和頭文件)

              方式一,環境為Win7,包含編譯好的live555、提取的4libmyLive555Header和截圖下載猛擊

              方式二環境win7+VS2010,包含整個工程,下載猛擊

             


            Ⅳ 使用實例

            1   添加庫

            ①步驟一:

              方法1. 將編譯生成的四個lib庫庫拷貝到“*:\Program Files\Microsoft Visual Studio 10.0\VC\lib”下面

              方法2. 將編譯生成的四個lib庫庫拷貝到當前工程的cpp文件下

              方法3. 將編譯生成的四個lib庫作為全局庫的形式添進工程

            ②步驟二

              方法1. [菜單]“項目->屬性->配置屬性->連接器->輸入->附加依賴項”里填寫

                  “libUsageEnvironment.lib;libliveMedia.lib;libgroupsock.lib;libBasicUsageEnvironment.lib;Ws2_32.lib

              再次溫馨提醒VS2010中,多個lib之間需要用分號或者回車隔開,用空格行不通,切記!信不信由你了,我在這個地方又折騰了一會了,青春不在啊~

              方法2.  pragma 方式  

            #pragma comment (lib, "Ws2_32.lib")  
            #pragma comment (lib, "libBasicUsageEnvironment.lib")
            #pragma comment (lib, "libgroupsock.lib")
            #pragma comment (lib, "libliveMedia.lib")
            #pragma comment (lib, "libUsageEnvironment.lib")


             添加頭文件

            說明:如果采用方式二編譯的,那么此步驟可以省去

            ①步驟一:將所有的.h文件放到一起,myLive555Header里面,再添加include

            ②步驟二

              方法1. “項目->屬性->配置屬性->C/C++->常規->附加包含目錄”

              方法2. “工具->選項->項目和解決方案->C++ 目錄”,選擇對應平臺,然后添加所需“包括文件”目錄(此法VS2010不通)

             

            3  測試代碼

              直接用testProgs里面的例子,我用的是testOnDemandRTSPServer.cpp,測試成功,如下圖

             

             


            Ⅴ 測試live555服務器

            方式一:(利用ffplay.exe播放)

            1 把媒體文件放到和live555MediaServer.exe同一目錄

            2 運行live555MediaServer.exe,彈出的dos框里面有地址,如下圖

            3 客戶端,dos下進入到ffplay所在文件夾下,然后輸入如下命令

                ffplay.exe rtsp://10.120.2.18/<媒體文件名>

              彈出視頻播放畫面,如下圖

             

            方式二:(直接vlc中播放網絡流)

            1 把媒體文件放到和live555MediaServer.exe同一目錄

            2 打開vlc plaer,打開網絡串流,輸入rtsp,如下圖

            3 點播放,開始播放,如下圖

             


            《本篇完》 謝謝閱讀!


            作者:skyseraph 
            出處:http://www.cnblogs.com/skyseraph/ 
            Email/GTalk: zgzhaobo@gmail.com 
            本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


            posted on 2013-09-10 03:59 楊粼波 閱讀(1798) 評論(0)  編輯 收藏 引用

            国产精品久久久99| 久久亚洲熟女cc98cm| 精品久久久久久综合日本| 久久久精品人妻一区二区三区四| 少妇熟女久久综合网色欲| 人妻丰满AV无码久久不卡| 狠狠色婷婷综合天天久久丁香 | 国产999精品久久久久久| 久久国产成人精品国产成人亚洲| 久久夜色精品国产亚洲| 久久午夜电影网| 一本久道久久综合狠狠爱| 一本久久久久久久| 色偷偷偷久久伊人大杳蕉| 久久精品国产只有精品66 | 久久99精品久久久久子伦| 国产精品九九久久免费视频| 亚洲国产欧美国产综合久久| 精品久久久久久久久久中文字幕| 久久久亚洲欧洲日产国码二区| 色综合合久久天天给综看| 97久久综合精品久久久综合| 久久青青草视频| 久久久久亚洲av成人无码电影| 精品免费tv久久久久久久| 狠狠色婷婷久久一区二区| 无码8090精品久久一区| 久久e热在这里只有国产中文精品99| 亚洲国产一成人久久精品| 久久婷婷五月综合97色直播| 精品水蜜桃久久久久久久| 99久久国产主播综合精品| 国产精品九九九久久九九| 久久久久无码精品国产不卡| 色综合久久无码五十路人妻| 久久人人爽人人爽人人片AV高清 | 久久棈精品久久久久久噜噜| 99久久国产宗和精品1上映 | 999久久久无码国产精品| 久久久久久久久久久久中文字幕 | 精品久久8x国产免费观看|