1. 程式人生 > >live555直播usb 攝像頭實現流媒體服務

live555直播usb 攝像頭實現流媒體服務

題記:本篇部落格是根據http://blog.csdn.net/nieyongs/article/details/17919325,的基礎上,對於其環境的搭建做一闡述,記之防止遺忘。首先感謝博主,能夠將自己除錯的原碼分享,但是下載的程式碼是不能執行的,缺少庫的支撐。下面就將環境的搭建包括庫函式的引用及標頭檔案,做一說明。

1 庫檔案。

a:首先要先安裝ffmpeg和x264編碼。網上有很很多教程,但是我忘了用哪個了,建議多找及篇講的比較細的。注意一般安裝完ffmpeg後會放在./usr/local/ffmpeg/中。在這裡面既有庫檔案也有標頭檔案。另外x.264也要解除安裝然後編譯(make)安裝,網上應該都有教程。

b:安裝完ffmpeg後,需要在eclipse的工程設定中設定相應的庫檔案路徑。設定結果如下,注意在Libraries(-l)裡面的關於Live555的幾個順序不要弄錯,因為是相互依賴的關係,順序不對的話程式處錯誤。我的關於ffmpeg的庫是動態庫放在./usr/local/ffmpeg/lib裡面,關於其他的Live555和x.264的靜態庫放在了./usr/local/lib,如果不理解關於靜態庫和動態庫請察看


c:然後再編譯的時候遇到一些問題,舉例一下我遇到的問題及解決方法:

問題1:x264和FFMPEG 編譯後遇到的一些問題:UINT64_C。可以參照http://blog.csdn.net/topurce/article/details/7258143

http://www.cnblogs.com/dyllove98/archive/2013/06/07/3125111.html

問題2:如下描述

  

解決方法:

$ gedit  /etc/ld.so.conf,編輯然後在這裡面加上一下幾句程式碼

include /etc/ld.so.conf.d/*.conf  
/usr/local/ffmpeg/lib 
/usr/local/lib 

然後千萬不要忘了# ldconfig 用這個命令生效。可參考:http://blog.csdn.net/ming470612141/article/details/3348063 

http://www.cnblogs.com/dyllove98/archive/2013/06/07/3125111.html

問題3:如右圖

說明x264沒有編譯和安裝好,進入x264的目錄,參照圖http://blog.csdn.net/commshare/article/details/18453963 用命令 ./configure --enable-static --disable-opencl --disable-asm 重新再編譯安裝一邊後生成新的靜態庫函式,libx264.a,用命令cp -r ./home/frank/x264/libx264.a ./usr/local/lib/ 複製到相應目錄即可。然後run下:


執行成功,然後再區域網內可以通。

注意以上檔案需要在超級使用者的前提下,為了方便採用命令sudo -i,即可變成超級使用者

2 標頭檔案。程式中有很多引用標頭檔案,並且程式是通過標頭檔案來引用庫函式。需要在./usr/local/include中分別將相關的.h檔案加進來。live包含四個庫的所有標頭檔案。


接下來的任務就是將程式碼看懂,然後再這個程式碼的基礎上,去實現海思hi3518c平臺上採集視訊用Live555傳輸

3 之前已經除錯好了,今天除錯的時候又出現一個問題

直接上圖:

按照網上的方法:在相應的Debug目錄下 make clean 但是還是不行

最後又把/usr/local/lib下的libliveMedia.a刪除掉,然後又複製一個過來,就可以了