最近遇到国标平台无法播放视频流的问题。需要检查视频接收端和播放端视频的收包和发包是否正常。但是只看pcap文件不是很直观,所以将pcap文件中的rtp包解析出来,用播放器将视频播放出来,以更直观的判断接收方和发送方rtp包是否正常。

平台

  • 接收端:国标平台
  • 发送端:linux

使用工具

  • tcpdump

    • 用来抓取pcap数据包
  • wireshark
    • 对抓取的pcap数据包进行解析
  • vlc
    • 播放解析出来的视频数据

抓取数据包

由于发送端和接收端抓取数据包的方法都是一样的,所以这里不再重复描述,仅记录发送端的抓包过程。

抓包命令:

sudo tcpdump -i any host 10.0.20.3 -c 5000 -w test.pcap

抓取5000个本机向ip为10.0.20.3主机发送的数据包,保存到test.pcap文件中。

解析pcap文件,并分离出RTP包

test.pacp文件通过wirshark工具打开

选中一个本机向目标主机发送的RTP包

点击电话->RTP->流分析进入RTP流分析页面



点击save->文件同步前向流音频

在选择文件存储格式时,选择raw格式的原始数据流,这样才可以保证播放器可以正常的解码RTP包中的h.264码流

将保存好的文件用vlc播放器打开,就可以看到发送端向接收端发送的视频流了,可以看到画面十分清晰,没有丢包和乱序的现象

国标平台视频流抓取及rtp包解析的更多相关文章

  1. Fiddler:在PC和移动设备上抓取HTTPS数据包

    Fiddler是一个免费的Web调试代理,支持任何浏览器.系统以及平台.这个工具是进行Web和App网络开发的必备工具,戳此处下载. 根据Fiddler官网的描述,具有以下六大特点: Web调试 性能 ...

  2. 用C++实现网络编程---抓取网络数据包的实现方法

    一般都熟悉sniffer这个工具,它可以捕捉流经本地网卡的所有数据包.抓取网络数据包进行分析有很多用处,如分析网络是否有网络病毒等异常数据,通信协议的分析(数据链路层协议.IP.UDP.TCP.甚至各 ...

  3. Charles 如何抓取https数据包

    Charles可以正常抓取http数据包,但是如果没有经过进一步设置的话,无法正常抓取https的数据包,通常会出现乱码.举个例子,如果没有做更多设置,Charles抓取https://www.bai ...

  4. Android利用tcpdump和wireshark抓取网络数据包

    Android利用tcpdump和wireshark抓取网络数据包 主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次 ...

  5. Fiddler怎样抓取手机的包

    Fiddler作为代理服务器,可以拦截到手机发出的请求,再经过Fiddler发送到服务器,获取到服务器响应的数据,这个过程,只要设置配置好了,使用过程不受影响. 要想抓取到手机的包,先要给手机设置一个 ...

  6. 图解Fiddler如何抓取Android数据包

    介绍Fiddler抓取Android数据包希望对大家的工作和学习有所帮助! 电脑开启wifi热点 首先在电脑上下载一个wifi软件,我这里用的是猎豹wifi,电脑开启wifi热点后,如下图所示:  设 ...

  7. Fiddler抓取https数据包

    Wireshark和Fiddler的优缺点: ①Wireshark是一种在网络层上工作的抓包工具,不仅自带大量的协议分析器,而且可以通过编写Wireshark插件来识别自定义的协议.虽然Wiresha ...

  8. Fiddler基础用法-抓取浏览器数据包

    Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 代理就是在 ...

  9. wireshark抓取本地数据包

    windows系统中,本地向自身发送数据包没有经过真实的网络接口,而是通过环路(loopback interface)接口发送,所以使用基于只能从真实网络接口中抓数据的winpcap是无法抓取本地数据 ...

  10. wireshark在windows下无法抓取localhost数据包

    在调试SSL时要抓包,通过tcpview和minisniffer等工具明明看到tcp连接已经建立并开始收发数据了,但wireshark却总是无法抓到相应的数据包. 今天早上,HQ的高工告诉我“wire ...

随机推荐

  1. ICMP隐蔽隧道攻击分析与检测(四)

    • ICMP隧道攻击通讯特征和特征提取 一.ICMP Ping正常通讯特征总结 一个正常的 ping 每秒最多只会发送两个数据包,而使用 ICMP隧道的服务器在同一时间会产生大量 ICMP 数据包 正 ...

  2. Web前端开发必看的100道大厂面试题

    1. 说说gulp和webpack的区别 开放式题目 Gulp强调的是前端开发的工作流程.我们可以通过配置一系列的task,定义task处理的事务(例如文件压缩合并.雪碧图.启动server.版本控制 ...

  3. python之os常用方法

              1.os模块的部分常用属性(Windows系统) os模块常用属性 相应的作用 os.name 返回你电脑的操作系统(Windows系统下会返回'nt') os.curdir 指代 ...

  4. [Git]解决: error: unable to create file src/main/webapp/xxxxxx/xxxx: Filename too long

    git有可以创建4096长度的文件名,然而在windows最多是260,因为git用了旧版本的windows api,为此踩了个坑. 1 解决方案 $ git config --global core ...

  5. [ElasticSearch]常用URL路径

    https://127.0.0.1:9200/ http://127.0.0.1:9200/_all?pretty https://127.0.0.1:9200/_cluster/health?pre ...

  6. Binder机制及底层实现

    <1>进程间的内存空间是进程私有的<2>进程间和内核的空间是互通的<3>进程1空间<--->内核空间<-->进程2空间Binder跨进程通信 ...

  7. python+folium

    建模时无意中发现了一个很好用的交互式画地图的库!!

  8. Java并发(三)----创建线程的三种方式及查看进程线程

    一.直接使用 Thread // 创建线程对象 Thread t = new Thread() {    public void run() {        // 要执行的任务   } }; // ...

  9. OpenAI ChatGPT 能取代多少程序员的工作?导致失业吗?

    阅读原文:https://bysocket.com/openai-chatgpt-vs-developer/ ChatGPT 能取代多少程序员的工作?导致我们程序员失业吗?这是一个很好的话题,我这里分 ...

  10. CefSharp自定义缓存实现

    大家好,我是沙漠尽头的狼. 上文介绍了<C#使用CefSharp内嵌网页-并给出C#与JS的交互示例>,本文介绍CefSharp的缓存实现,先来说说添加缓存的好处: 提高页面加载加速:Ce ...