在一些视频会议画面故障中,我们可以通过思科视频会议终端自带的抓包功能,获取网络抓包,并通过抓包内容分析和查看思科终端上远端视频、双流、本端视频这3路视频的画面情况。
在思科视频会议终端上抓包
通过终端的抓包功能抓取完整的网络抓包并在网页界面中下载文件,一般文件名为extendedlogging.pcap。最长支持抓取3分钟,也可以手动停止。
需要注意的是,开启抓包后会覆盖之前的抓包文件,若需要连续抓包则需先下载完后再开启下一次抓包。
抓包方法
Maintenance - System Logs - Extended logging - Start extended logging ↓ - Include a full packet capture.
Issues and Diagnostics - System Logs - Start↓ - Include a full packet capture.
对抓包文件进行解析
1. 准备
这里使用wireshark打开抓包文件,我当前使用的是wireshark 3.6.3版本。
wireshark官网: https://www.wireshark.org/
这里需要使用到一个用于导出H264流的lua脚本,由Huang Qiangxiong编写,项目地址: https://github.com/hissinger/wireshark-rtp-h264-extractor
下载完成的lua脚本需要放置在wireshark路径中的plugins文件夹中。例如我的路径为:C:\Program Files\Wireshark\plugins
2. 确认和识别载荷
先看一下RTP流的情况。在下图中我们可以看到,有2种不同负载类型值的RTP流。我们需要将这两种载荷都提取出来。
在wireshark-编辑-首选项-Protocols中,找到H.264并修改数值为109. 此时,RTP Type 109的包将被识别为H.264包。在导出完成后,我们再次修改此处的值为106,将第二种RTP载荷导出。
3. 导出H264流文件
在wireshark工具栏中,选择工具-Export H264 to file[HQX's plugins],在弹出的窗口中,选择Export All.
提示文件生成ok后,在存放抓包文件的文件夹中,即会出现生成好的H264流文件。在2次导出后,一共得到了3个H264流文件。
4. 画面确认
使用Potplayer播放器可以直接打开播放H264流文件,经过播放文件可以看出,以下3个文件包含了远端视频、双流视频、本端视频。此处的抓包文件仅用作示例,视频画面不作演示。
同时H264流文件也可以通过FFmpeg将H264流转成相关的视频格式方便播放,H264流文件没有时间戳,以下命令可生成mp4格式并且支持快速拖放,方便快速预览视频文件。
ffmpeg -i input.264 -vf "setpts=PTS-STARTPTS" -r 25 -c:v libx264 -crf 18 -preset veryfast -c:a copy output.mp4
通过以上方法,我们即可确认当时思科视频会议终端的发送和接收的画面情况。
以上为个人工作的记录整理,之前已发表在知乎。