用RTP封裝H264併發送,不清楚是否發送成功的話,那麼就用wireshark抓取一下流,看看是否有抓到流。
先打開wireshark準備接收,然後打開發送rtp流的demo,開始發送。
因爲RTP發送是基於UDP的,所以看到的Protocol顯示的UDP,選中一行,點擊右鍵,選擇Decode As...
彈出如下窗口,將【當前】設置成RTP,(快捷鍵,輸入R,就能定位到R開頭的協議,更容易找到RTP)
設置好,如下:,點擊OK
然後,UDP就改成了RTP。
選擇電話,RTP,流分析,就能看到,是否抓到了流。
下圖是個失敗的例子,全部都沒有捕獲,都丟失了。原因是:我的nalu包,發送的時候,沒有去掉nalu header。可以理解爲RTP封裝的時候,出了問題。
修改代碼之後,下圖找到流,成功!
試着進行播放:
左側的demo是錄製屏幕的,僅錄製了640*480大小,然後rtp發送的。
右邊是接受RTP數據的demo, 並顯示。
感覺上延時不到1s,可能是線程設置的不對,造成的延時。後面再繼續優化優化。
站在巨人的肩膀上,鏈接如下:
https://blog.csdn.net/zhoubotong2012/article/details/86510032