wireshark抓取rtp流保存爲.264文件並播放

注:此文章含轉載內容,如侵權,請聯繫我來刪除;git

在調試vlc播放器播放rtp時,因爲出現卡頓,因此想把rtp流保存下來播放,看是不是rtp推的問題仍是電腦解碼問題。網上看到的相似文章,我都沒成功,最後經過另一篇文章解決;github

保存的.264視頻能夠用於測試rtp傳輸,csdn上有不少測試視頻,還要收分,這裏想截多少截多少。工具

 

1. 關於保存成rtp流:測試

轉載連接:https://blog.csdn.net/volvetandanny/article/details/47087641ui

轉載內容:lua

因爲近來發現網上wireshark獲取H264碼流的方法都有點錯誤,爲此研究了一下這種方法,最後發現仍是可行的,能成功獲取H264裸碼流。spa

借鑑的網頁:https://wiki.wireshark.org/Lua.net

                        http://www.lua.org/ 命令行

1.首先安裝wireshark軟件,這個用過的人都知道它的強大之處調試

2.查看安裝路徑下是否存在init.lua,確保disable_lua = false

3.在init.lua的最後加上dofile(DATA_DIR.."rtp_h264_extractor.lua")

4.把rtp_h264_extractor.lua這個文件放在init.lua同一個路徑下

5.用wireshark抓取H264視頻碼流,最好過濾掉其餘碼流

6.右鍵點擊H264的udp包,選擇"Decode as...",再選擇Transport中的rtp選項,就解析成rtp包了

7.查看rtp包的payload type,好比說type是96,那麼在wireshark工具欄選擇Edit->preferences->protocols->H264, 把H264 dynamic payload types設成96

8.如今就能夠選擇點擊tools下的"Extract h264 stream from RTP"菜單項

9.這樣就能夠生成dump.264,通常會放在與碼流文件同一個路徑下,因爲環境變量的不一樣,也可能放在其餘路徑下

10.該文件rtp_h264_extractor.lua目前已經支持了排序,FU-A,STAP-A等常見的rtp h264打包方式

11.下載該文件的路徑在https://github.com/volvet/h264extractor 

12. 也能夠在csdn的下載頁下載,地址爲http://download.csdn.net/detail/volvetandanny/8937395

說明:1. 第4步後,先關閉播放器,再打開,在tools下就有「Extract h264 stream from RTP」菜單了;

           2. 不建議採集前打開「Extract h264 stream from RTP」菜單,由於邊採集邊保存,電腦嚴重卡頓;

           3. dump.264我電腦是在同一路徑下;

2. 關於如何播放

   網上找了好幾個播放器,也都是沒辦法播放的,後來使用ffplay就能夠了,聽說可使用ffmpeg進行轉碼爲MP4或者avi文件;

   ffplay是控制檯程序,能夠將保存的dump.264文件拖動到ffplay圖標上或者使用命令行打開;

    ffmpeg播放器地址:https://ffmpeg.zeranoe.com/builds/

相關文章
相關標籤/搜索