wireshark提取RTSP over TCP中的视频流

2023-10-26

wireshark提取RTSP over TCP中的视频流

1 背景

前面文章中介绍了rtp中提取H264或者H265视频的方式,其适用于基于RTP over UDP的方式,因为UDP方式,视频流RTP、RTCP是通过不同的UDP连接来传输的,因此抓包只需要根据端口的不同,即可区分RTP和RTCP,此种方式,wireshark脚本可以做很好的提取。但是如果是RTSP OVER TCP的方式,其RTP/RTCP/RTSP协议,都是在一个TCP链路中传输的,需要通过TCP HEADER来区分,前文所提供的脚本不能很好的支持(部分能够支持提取,部分支持不了),因此本文介绍一个小工具来专门从TCP复合链路中提取视频流的方式。
如果要了解如何通过插件提取视频流,可关注公众号壹零仓,发送wireshark的消息,获取相关文章。
有关rtsp over tcp的相关知识,可关注公众号壹零仓,发送rtsp的消息,获取相关文章。

2 提取前准备

  • 下载wireshark并安装:可百度下载并安装
  • 抓取RTP包:可通过ffmpeg模拟rtsp服务器,通过vlc申请视频(选择TCP模式),并通过wireshark抓取rtp视频流包,也可关注公众号壹零仓,发送视频流分析的消息,获取已经抓好的数据包(视频流分析->wireshark数据包:h264_rtsp_over_tcp.pcapng)
  • 下载提取小工具:可关注公众号壹零仓,发送视频流分析的消息,获取(视频流分析工具->rtpovertcpto264.zip)

3 H264提取步骤

  • 下载并安装wireshark,我安装的版本号是3.6.8

  • 用wireshark打开rtsp over tcp的视频流抓包,这里以h264_rtsp_over_tcp.pcapng为例
    在这里插入图片描述

  • 在抓包列表中选择视频流包右键->follow->TCP stream
    在这里插入图片描述

  • 打开的对话框中,show data as 选择raw,然后save as,选择保存文件名,这里命名为111,下载tcp负载的原始二进制数据。
    在这里插入图片描述

  • 打开小工具,直接双机rtpovertcpto264.exe打开,选择刚刚保存的tcp负载原始二进制文件,选择tcp header中视频流的streamid,样例中streamid=0,点击转换,即可提取出H264原始码流。
    在这里插入图片描述

  • 用vlc播放原始的H264码流,验证码流是否正常
    在这里插入图片描述

4 后记

H265提取步骤和H264一样,另补充说明,通过验证,最新的wireshark抓包插件,能够从rtsp over tcp的连接中提取视频流,因此次小工具及使用方式,只作为备用使用即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wireshark提取RTSP over TCP中的视频流 的相关文章

  • 如何让 Wireshark 显示我的本地 HTTP 流量?

    当我输入此 URI 以在正在运行的 Web API 应用程序上调用 REST 方法时 http SHANNON2 21608 api inventory sendXML duckbill platypus someFileName usin
  • H264 帧查看器

    您知道有什么应用程序可以向我显示单个 H264 帧的所有标头 参数吗 我不需要解码它 我只是想看看它是如何构建的 我想到了三种方法 如果您正在寻找免费的东西 否则谷歌 h264分析 以获取付费选项 下载h 264解析器 http www w
  • 写入csv文件 - python 3.7

    在此输入图像描述 https i stack imgur com xu0F8 png在此输入图像描述 https i stack imgur com uxN1W png在此输入图像描述 https i stack imgur com 0r0
  • 如何定量测量源和显示器之间的 gstreamer H264 延迟?

    我有一个项目 我们使用 gstreamer x264 等将视频流通过本地网络多播到多个接收器 连接到显示器的专用计算机 我们在视频源 摄像机 系统和显示监视器上使用 gstreamer 我们使用 RTP 有效负载 96 和 libx264
  • 如何在没有 MediaExtractor 的情况下使用 MediaCodec 进行 H264

    我需要在没有 MediaExtractor 的情况下使用 MediaCodec 并且我正在使用 FileInputStream 读取文件 目前它不起作用 它在屏幕上显示绿色的乱码图像 这是整个源代码 FileInputStream in n
  • 如何使用Android MediaCodec编码相机数据(YUV420sp)

    感谢您的关注 我想使用Android MediaCodec API对从Camera获取的视频帧进行编码 不幸的是 我没有成功做到这一点 我对 MediaCodec API 还不太熟悉 以下是我的代码 我需要你的帮助来弄清楚我应该做什么 1
  • 为什么 AVSampleBufferDisplayLayer 会失败并出现操作中断 (-11847)?

    我正在使用一个AVSampleBufferDisplayLayer解码并显示从服务器流式传输的 H 264 视频 当我的应用程序进入后台然后返回前台时 解码过程就会搞砸 并且AVSampleBufferDisplayLayer失败 我看到的
  • MFCreateFMPEG4MediaSink 不生成 MSE 兼容的 MP4

    我正在尝试将 H 264 视频源流式传输到网络浏览器 Media Foundation 用于编码分段的 MPEG4 流 MFCreateFMPEG4MediaSink with MFTranscodeContainerType FMPEG4
  • Wireshark 中以太网帧末尾的 0 字节是什么?

    after ARP protocol in a frame there are many 0 bytes Does anyone know the reason for the existence of these 0 bytes 检查以太
  • 在我的 CentOS 机器上找不到wireshark init.lua

    所以我试图在我的 CentOS 7 服务器上获取一个与 tshark 一起使用的脚本 但我遇到了问题 该脚本在我的Windows笔记本电脑上运行良好 我只是将其放在appdata的plugins文件夹中 但我在linux上找不到类似的位置
  • pcap_loop 和 pcap_dispatch 区别

    pcap loop 和 pcap dispatch 到底有什么区别 该手册对这一点的描述非常好 我是板着脸说的 保证 从man pcap loop pcap loop processes packets from a live captur
  • 解释 802.11 Wireshark 跟踪中的帧控制字节

    我有一个 Wi Fi 捕获 pcap 我正在分析并发现 802 11 规范与 Wireshark 对数据的解释之间存在不一致之处 具体来说 我想要分解的是 2 字节 802 11帧控制 field 取自http www4 ncsu edu
  • 使用wireshark或其他工具绘制RTT直方图

    我有一个小型办公室网络 但我遇到了巨大的互联网链接延迟 我们有一个简单的网络拓扑 一台配置为运行 ubuntu 服务器 10 10 的路由器的计算机 2 个网卡 一个连接互联网 另一个连接办公室网络 和一个连接 20 台计算机的交换机 我在
  • 监控 Android 手机中的网络活动

    我想监控我的 Android 手机的网络流量 我正在考虑在 Android 上使用 tcpdump 但我不确定是否必须为手机进行交叉编译 另一个问题是 如果我想监控某个应用程序的流量数据 有什么命令可以做到这一点吗 TCPDUMP 是我最喜
  • pyshark - 来自 TCP 数据包的数据

    有没有办法使用 pyshark 获取 TCP 数据包的有效负载 我正在尝试比较多个 TCP 流中不同数据包的数据部分 但我找不到获取数据包数据的方法 pkt tcp data似乎不存在 如果您使用的是 pcap 文件 则在使用以下命令读取该
  • 有没有简单的方法来提取附件 b 格式的 h264 原始流?

    当我使用命令行使用 ffmpeg 提取视频流时 ffmpeg i 一些文件 vcodec copy an f rawvideo h264 什么 out h264 对于 Adob e Media Encoder 生成的某些媒体文件 只有 m4
  • 如何过滤wireshark以仅查看从我的计算机发送/接收的dns查询?

    我是wireshark新手 正在尝试编写简单的查询 要查看仅从我的计算机发送或由我的计算机接收的 DNS 查询 我尝试了以下操作 dns and ip addr 159 25 78 7 其中 159 25 78 7 是我的 IP 地址 看起
  • 将 H.264 I 帧放入 AVSampleBufferDisplayLayer 但不显示视频图像

    在详细回顾了 WWDC2014 Session513 后 我尝试在 IOS8 0 上编写我的应用程序来解码和显示一个实时 H 264 流 首先 我成功构建了H264参数集 当我得到一个带有 4 位起始代码的帧时 就像 0x00 0x00 0
  • 如何使用Java将h.264直播流编码为RTP数据包

    我正在为 Android 操作系统开发一个应用程序 我需要来自摄像机的实时解码视频流 该视频流使用 h 264 编解码器进行编码 将帧数据转换为 RTP 数据包并将数据包发送到服务器 首先 可以尝试在 PC 上实现从 HDD 中预先录制的视
  • H264 字节流到图像文件

    第一次来这里所以要温柔 我已经在给定的 H 264 字节流上工作了几个星期 一般注意事项 字节流不是来自文件 它是从外部源实时提供给我的 字节流使用 Android 的媒体编解码器进行编码 当将流写入扩展名为 H264的文件时 VLC能够正

随机推荐

  • docker部署lnmp环境介绍

    lnmp 一 部署lnmp 二 测试nginx和php连接 三 测试php和mysql的连接 一 部署lnmp 1 网络规划 172 16 10 0 24 nginx 172 16 10 10 mysql 172 16 10 20 php
  • C++到底还能做什么?

    嗯 这是一位朋友发到我邮箱里面的 很奇怪 发到了gmail邮箱 而不是我常用的hotmail邮箱哈 我呢 试着回答一下 如果回答得不好 叫做肖某人学艺不精 回去重新学习再来过哈 呵呵 一家之言哈 欢迎拍装 原文如下 肖老师您好 我现在是一名
  • AngularJS 通过事件实现跨作用域传值

    跨作用域传值 跨作用域传值 可以通过 子作用域共同使用父作用域的变量或者使用 单例的service实现 这两种方式 在父级作用域或者 Service 单例的变量值改变的时候 无法实现把值再自动处理赋值给作用域 但是通过事件链 的方式就可以实
  • 页表项长度的计算方法

    Frame Number It gives the frame number in which the current page you are looking for is present The number of bits requi
  • 信息安全概念

    1 信息安全定义 国际标准化组织 lntemational Organization for Standardization IS0 息安全的定义为 为数据处理系统建立和采取技术 管理的安全保护 保护计算机硬件 软件 数据不因偶然的或恶意的
  • 创建一个报表服务器项目,创建报表服务器项目

    创建报表服务器项目 10 17 2017 本文内容 Azure DevOps Server 2020 Azure DevOps Server 2019 TFS 2018 TFS 2013 Azure DevOps Server 以前名为 V
  • 电影下载地址大集合,只要是电影就能找到

    看到很多人都想找一些奇葩 或者国内很少见的电影 你们还在百度 微盘上搜索么 还在人人影视上溜达么 以下收集各大电影网站 绝对能满足你们 如果你不是那么热爱电影 只是闲暇之余看看热门的新片 美剧 不求画质与速度的话 那么下面这几个网站已经能满
  • VB

    文章目录 变量定义 Sub过程 函数定义 控制台输入输出 switch case语句 IF语句 FOR循环语句 不等于 逻辑运算符 控制台输入回车不崩溃函数 获取外部库指针内容放到自定义类中 读ini文件 变量定义 int Dim 变量名
  • 深度学习学习率的调整

    20220626 0 引言 最近在做实验的时候 由于结果一直都不怎么好 我就在想是不是过拟合了 那就算不是过拟合 是不是根本没有学习到数据集中的信息呢 想到了这些事情 我就直接把测试集的效果跟随着训练过程直接打印出来了 当然 实际过程中 肯
  • 1.Linux命令-删除

    Linux的删除命令 在Linux下删除文件 我们使用rm命令 还有搭配相应的参数 具体的选择我们看下面看说明 rm 参数 文件名 参数说明 1 f force 忽略不存在的文件 强制删除 无任何提示 2 i interactive 进行交
  • windows下qtmqtt模块的编译安装-Qt5.12.12

    windows下qtmqtt模块的编译安装 Qt5 12 12 代码获取及编译环境 代码获取 方式1 方式2 配置编译环境 编译安装 代码获取及编译环境 代码获取 方式1 直接git拉取至本地 git clone https github
  • PyTorch显存机制简要分析

    显存开销 显存占用约为element个数的4倍 注意不会将空闲的显存释放 模型参数 模型参数的梯度 优化器状态 跟踪每个权重参数 比如记录动量 中间结果 前向传播时计算的中间结果 显存分析方法 No Nvidia smi PyTorch中即
  • 《JavaScript设计模式》初次笔记——wsdchong

    JavaScript设计模式 初次笔记 前言 设计模式一直久仰大名 但是没有去花时间去了解 于是今天特意花时间去看 JavaScript设计模式 2013年6月出版 和w3cschool上的设计模式 然后做了一些笔记 以 JavaScrip
  • 随机游走序列平稳吗_【问答】时间序列系列(一)—— 平稳序列

    编写 果壳屋 什么是平稳 非平稳序列 如果时间的变化不会导致分布的变化 我们谈论的是分布统计属性 如均值 方差和协方差 我们就把时间序列称为为平稳的 stationary 这并不意味着序列不会随时间而变化 只是它的变化方式本身不会随时间而变
  • mybatis实现继承映射

    ORM 框架的优势在于能让我们利用面向对象的思维去操作数据库 hibernate 作为重量级的 ORM 框架对面向对象的支持很强大 作为半自动化的 mybatis 对面向对象的支持也是很完备的 这篇文章就来讨论一下如何利用 mybatis
  • Vue的路由

    一 Vue的路由 1 路由 路由 从源页面到目的页面的决策过程 2 前端路由 前端路由 在前端页面中维护的路由规则 1 hash 在地址中以 分隔页面 2 history 在地址中以 分隔页面 3 VueRouter路由 VueRouter
  • 今天来聊一聊在人工智能技术发展中起到重要作用的蒸馏算法

    人工智能技术的迅猛发展已经带来了诸多突破和应用 但同时也面临着一些挑战 例如深层网络的复杂性和高计算成本 为了应对这些问题 蒸馏算法作为一种有效的知识传递方法被提出并广泛应用于人工智能领域 本文将深入探讨蒸馏算法的原理 关键技术以及其在人工
  • python的setup.py文件及其常用命令

    http www 2cto com kf 201209 153517 html 编写setup py文件 获取帮助 python setup py help commands python Standard commands build b
  • 【虾说区块链】什么是hash算法?什么是好的hash算法?

    欢迎收听 虾说区块链 现在区块链这个概念在互联网上相当火热 这里简单做一个普及 不涉及项目推广投资 单纯地对区块链相关基础知识概念作一个说明讲解 本人区块链技术爱好者 结合相关区块链资料总结整理了 虾说区块链 也是自己一个学习笔记 涉及相关
  • wireshark提取RTSP over TCP中的视频流

    wireshark提取RTSP over TCP中的视频流 文章目录 wireshark提取RTSP over TCP中的视频流 1 背景 2 提取前准备 3 H264提取步骤 4 后记 1 背景 前面文章中介绍了rtp中提取H264或者H