注:此文章含轉載內容,如侵權,請聯繫我來刪除;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/