當前位置:首頁 » 操作系統 » linuxlive555

linuxlive555

發布時間: 2023-02-09 18:05:18

① 怎樣編譯live555 openrstp

1: 編譯
(1): ./genMakefiles linux
(2): make

2: 伺服器環境
伺服器端是一個支持RTSP server的H.264的攝像頭;

3: 運行 openRTSP
./openRTSP -d 20 -f 20 -w 640 -h 480 -b 400000 "rtsp://192.168.2.239/id=0"
或 ./openRTSP -f 20 -w 640 -h 480 -b 400000 "rtsp://192.168.2.239/id=0"
參數解釋; -d 20 --->程序運行時間,如果沒有程序持續從伺服器獲取視頻;
-f 20 ----> 幀率
-w 640 -h 480 -----> 幀解析度
-b 400000 ---->碼率
4: 如果不修改playCommon.cpp的代碼,openRTSP將獲取的視頻數據通過stdout直接列印到屏幕

5: 如果是自己取裸碼流,則可以調用SPS相關的函數,將H264的幀信息告訴解碼器,否則無法解碼
unsigned int num=1;
SPropRecord * sps = parseSPropParameterSets(subsession->fmtp_spropparametersets(),num);
fileSink = H264VideoFileSink::createNew(*env, outFileName,
subsession->fmtp_spropparametersets(),
fileSinkBufferSize, oneFilePerFrame);
struct timeval tv={0,0};
unsigned char start_code[4] = {0x00, 0x00, 0x00, 0x01};
fileSink-> addData(start_code, 4, tv);
fileSink->addData(sps[0].sPropBytes,sps[0].sPropLength,tv);
delete[] sps;

6: 稍微修改代碼讓openRTSP只錄視頻,且保存到指定的文件
streamURL = argv[1];
// add by Andy_xi
createReceivers = True; // 保存視頻
outputAVIFile = False; //因為是H264
videoOnly = True;
singleMedium = "video"; //只要視頻
//<------end

7: 調試記錄
啟動openRTSP後,一定的看到SDP信息中的SPS信息,否則解碼器可能不能解碼
a=fmtp:106 profile-level-id=42001E;sprop-parameter-sets=Z0KAKNoB4AiXlQ==,aM48gA==;packetization-mode=0

只要有這個信息,用file 命令看生成h264文件顯示如下:

new.h264: JVT NAL sequence, H.264 video, baseline @ L 40

② 開源的視頻傳輸框架 linux下可調 像live555 ffmpeg 之類的 還有那些 具體是什麼 最好有對比的文章資料

gstreamer
不是很懂流媒體,不過以前用過gstreamer 做rtsp伺服器

③ live555的性能不給力,該怎麼處理

我在開發板上移植了live555MediaServer,可以實現正常的傳輸。但似乎性能很不高,當進行16路D1的數據傳輸時,系統從硬碟上讀取視頻文件,CPU的idle時間幾乎為0,以下是我用top命令看到的系統性能:
Live555MediaServer 進程佔用CPU-- 50%
用戶態時間: 17%
內核態時間: 23%
idle時間: 0%
io時間 : 50%
如此,還沒運行其他應用,CPU就已經被全部占滿了,顯然無法工作。
各位幫幫忙,告訴我有沒有改進的方法(代碼最好),或者其他的替代live555的方案(除了gstreamer)
------解決方案--------------------------------------------------------
提高硬碟IO的效率,你不妨做個測試,只是硬碟讀取38M數據看看佔用多少cpu。
如果確認是IO的問題,不妨嘗試採用dio來提高讀取的效率。
可參考 基於Linux的Socket網路編程的性能優化。 我以前就對live555的接收模塊做了優化,CPU佔用小30%。

④ 在Linux環境下如何調試live555

(1)先下載live555的源碼如:live.2011.06.14a.tar.gz(2)解壓源碼tar -zxvf live.2011.06.14a.tar.gz(3)cd live(4)./genMakefiles linux-gdb(5)make經過以上步驟生成的live555MediaServer可以用於gdb調試,如果要使源代碼中的DEBUG宏有效,還需要修改live/config.linux-gdb文件,在COMPILE_OPTS一行中添加-DDEBUG即可。

⑤ 如何使用vim交叉編譯live555

去live555 官網
下載live555-latest.tar.gz

解壓後 運行 ./genMakefiles linux-64bit //這個時在pc上編譯
如果想交叉編譯 cp config.armlinux config.zxl
並修改CROSS_COMPILE?= arm-hisiv100-linux-uclibcgnueabi-

./genMakefile zxl (只寫後綴名即可)
再make即可

測試是否好使
server端 運行 live555MediaServer

⑥ live555、jrtplib、ortp、gstreamer,用哪一個比較好呢解決方法

接收端想在WindowsPC機上觀看。
本人正在讀研,以前幾乎沒接觸網路傳輸。看了很長時間的資料,看大家用的最多的就是live555和jrtplib了,但是這兩個都是用C++寫的,而我的採集和編碼都是用C語言寫的。至於ortp和gstreamer好像用的人不多。
------解決方案--------------------------------------------------------
伺服器端使用live555、jrtplib,客戶端建議如果是windows建議使用DITRECTSHOW,是LINUX建議使用GSTREAMER,至於解碼使用ffmpeg就可以了

熱點內容
壓縮版面格式 發布:2025-07-23 18:14:41 瀏覽:184
轟炸博客源碼 發布:2025-07-23 18:10:41 瀏覽:632
java解答 發布:2025-07-23 18:10:01 瀏覽:577
android圖片裁剪上傳圖片 發布:2025-07-23 18:09:11 瀏覽:240
r解壓文件 發布:2025-07-23 18:01:01 瀏覽:503
安溪哪裡有賣禮金密碼箱 發布:2025-07-23 17:32:36 瀏覽:528
同等配置藍鳥同軒逸哪個好 發布:2025-07-23 17:31:27 瀏覽:545
雲伺服器圖片載入速度慢 發布:2025-07-23 17:08:16 瀏覽:171
網址導航源碼帶後台 發布:2025-07-23 17:01:40 瀏覽:599
石粉過磅演算法 發布:2025-07-23 16:53:05 瀏覽:78