使用 FFMPEG 从 IP 摄像机读取 RTCP 数据包

2023-11-30

我正在使用 ffmpeg C 库。我需要拦截来自摄像头的 RTCP 数据包,以便从发送者报告中获取时间戳。 ffmpeg 中是否有任何方法或结构可以为我提供此信息?我完全陷入困境,但我无法解决这个问题。

任何帮助将不胜感激。提前致谢,


最后我不得不像这样侵入 ffmpeg 库:

// Patch for retrieving inner ffmpeg private data
RTSPState* rtsp_state = (RTSPState*) context->priv_data;
RTSPStream* rtsp_stream = rtsp_state->rtsp_streams[0];
RTPDemuxContext* rtp_demux_context = (RTPDemuxContext*) rtsp_stream->transport_priv;

// Decode the NTP time from the 64 bit structure
uint64_t ntp_time = rtp_demux_context->last_rtcp_reception_time;
uint32_t seconds = (uint32_t) ((ntp_time >> 32) & 0xffffffff);
uint32_t fraction  = (uint32_t) (ntp_time & 0xffffffff);
double useconds = ((double) fraction / 0xffffffff);

我终于得到了时间戳信息。

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

使用 FFMPEG 从 IP 摄像机读取 RTCP 数据包 的相关文章

  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt
  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • 通过另一个列表更新列表(linq)

    我有类 Data 的对象列表 如下所示 class Data int code string name DateTime date update 我还有另一个课程列表 例如 class RefCodes int old code int n
  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • libtool 在 Ubuntu 13.04 上构建 thrift 0.9.1 时出错

    在 Ubuntu 13 04 上构建 thrift 0 9 1 支持 C C java C perl python 时出现此错误 configure 不带任何选项运行 make 不带任何选项运行 Making all in test mak
  • C++中的类要具备什么条件才能成为容器?

    我是 C 编程新手 偶然发现了这个术语containers举例如下vector deque map etc 一个企业的最低要求应该是什么class应该满足被称为container in C 我将从 范围 这个概念开始 Range 只有两个方
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • 虚拟并行端口模拟器

    在我的计算机网络课程中 我们应该通过使用本机寄存器 例如使用 outportb 等命令 来学习并行端口编程 我没有并行端口 因为我住在 2011 年 但想练习这些程序 我使用 dosbox 安装了旧的 Turboc 3 IDE 有没有一个程
  • Nhibernate:连接表并从其他表获取单列

    我有以下表格 create table Users Id uniqueidentifier primary key InfoId uniqueidentifier not null unique Password nvarchar 255
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • 名称查找、实例化点 (POI) 和基本类型

    以下代码针对 X 进行编译 但不适用于 double struct X void foo double void foo X namespace NN struct A void foo A foo double error foo not
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 初始化列表在 VC10 中不起作用

    我在 VC 2010 中编写了这个程序 class class1 public class1 initializer list
  • 如何在c中断言两个类型相等?

    在 C 中如何断言两种类型相等 在 C 中 我会使用 std is same 但搜索 StackOverflow 和其他地方似乎只能给出 C 和 C 的结果 在C中没有办法做到这一点吗 请注意 这不是询问变量是否具有某种类型 而是询问两个类

随机推荐

  • 生成器函数(yield)比迭代器类(__next__)快得多

    UPDATE 反映最先进的知识水平 状态 2017 05 12 这次更新的原因是 当我问这个问题时 我并没有意识到我已经发现了一些关于 Python3 如何 在幕后 工作的信息 以下所有内容的结论是 如果您为迭代器编写自己的 Python3
  • 大型对象列表上多处理 Pool.map() 的缩放效果不佳:How to meet betterparallelscaling in python?

    让我们定义 from multiprocessing import Pool import numpy as np def func x for i in range 1000 i 2 return 1 请注意func 做某事并且总是返回一
  • 使用 Python 获取 Windows 版本

    当我在控制台 CMD 中输入 winver 时 我将获得我的Windows版本 内部版本号左边的四个数字 例如 1803 1903 1909 2004 20H2 但是我怎样才能在Python中获得我的Windows版本呢 我已经尝试过 im
  • Django:无法导入模块

    我正在尝试在我的views py 中导入一个模块 from django shortcuts import render Create your views here from viewcreator import Builder impo
  • iPhone - UILocalNotification 作为警报

    即使我的 iPhone 应用程序处于后台 我如何使用 UILocalNotification 每天晚上 8 点显示我的闹钟 Set the fireDate到晚上 8 点并设置repeatInterval to NSDayCalendarU
  • 将 N 列的数据框转换为两个“堆叠”列的数据框

    你好堆栈社区 我正在从事网络分析工作 并且有一个数据重塑问题 我的原始数据以一系列列的形式出现 每列都是 源 和 目标 对 最终的数据框需要由 源 和 目标 两列组成 请注意 这些对是交错的 因为它们的源和目标像在有向网络中一样链接 请参阅
  • 使用 vbscript 更改控制台标题

    有没有办法改变cmd标题 我写了一个vbs程序 但dos标题很糟糕 名称为 c windows system32 cscript exe 我尝试一下 标题 the name 和 标题 姓名 但两者都不起作用 感谢帮助 AlexK您指向的链接
  • 如何覆盖循环内的可变字符串?

    我的示例稍作修改The Rust Book 中的猜谜游戏教程 第一次迭代后 循环似乎无法正确读取用户对可变字符串的输入 您能找出以下代码中关于以下内容的问题吗 mut input text extern crate rand use ran
  • 通道发送是否是 goroutine 调度的抢占点?

    从我对Go调度器的理解来看 Go调度算法是部分先发制人 当 goroutine 调用函数或阻塞 I O 时 会发生 goroutine 切换 向通道发送消息时是否会发生 goroutine 切换 goroutine A ch lt mess
  • PHP 正则表达式,忽略交替语句中的第一个分组

    我试图弄清楚如何使用 preg match 捕获一条语句 如果另一条语句不存在 示例文本 div h1 strong Citing Your Sources strong h1 div 因为 pagetitle
  • 如何将应用程序路径传递给Azure批处理中的任务

    我正在使用 Azure 批处理 我有一个需要在计算节点上执行的exe 我在任务窗口的天蓝色门户中使用此路径 cmd c AZ BATCH APP PACKAGE MyAppCreateRG CreateRG exe args HelloRG
  • 什么是 -D 编译器标志 C++(clang、GNU、MSVC)

    好吧 我假设 D前缀表示 define无论它后面跟着什么变量名 但是我找不到任何有关编译器标志的 makefile 功能的文档 CXX clang DTHISISPREPROCESSORVARIABLE So DTHISISPREPROCE
  • 剧作家使用 JavaScript (Node) 将变量传递给 eval

    注意 这是针对 Playwright 浏览器 API 如 puppeteer 我试图找到页面上的所有元素 然后想将这些元素过滤为值 这些值具有特定的选择器 css 类等 我遇到的问题是我无法将外部变量传递到 eval 函数中 以便我的 CS
  • 如何调整 OpenEars 错误识别

    我在我的应用程序中使用了 OpenEars 只需识别字母表中的 a 到 z 即可 但它在识别字母方面的识别能力比识别单词的能力差 那么 我如何使用我的声音模型来提高 OpenEars 的识别度 以及如何使用 OpenEars 来识别一些特殊
  • 根据时间序列中的条件对行进行分组并忽略错误值

    我有一组具有不同采样间隔的动物位置 我想要做的是对采样间隔符合特定条件 例如低于特定值 的序列进行分组和标记 这是一个修订版这个问题被标记为重复项this one 这个修订后的问题的不同之处在于 所有不符合标准的值都应该被忽略 而不是被标记
  • Bing 搜索 API - 如何本地化结果?

    默认情况下如何使用斯洛文尼亚语搜索结果 我们的服务器有德国 IP Bing API 首先自动显示德国结果 我已经尝试了文档中描述的一些参数 但到目前为止它们都不起作用 Thanks 您是否尝试过设置市场选项 根据这个示例页面 你应该尝试这样
  • boost karma 中的生成器指令列行为不一致

    我正在编写一个 karma 生成器来生成 HTML 页面 并且在使用列指令时遇到不一致的行为 这很可能是我对其工作原理的理解 基本上我正在生成一个网格 它要求我在数据每出现两次后插入一些分隔符 以下是我用来进行测试运行的基本程序 inclu
  • Perl - 包含相对路径中的包,其中包含相对路径中的另一个包?

    我有三个文件 multiFindBinTest pl use FindBin use lib FindBin Bin mod2 use pack2 mod1 pack1 pm package pack1 1 mod2 pack2 pm us
  • Typescript:如何创建一个类型,它是界面的键,但只有字符串的键

    假设我有这个界面 interface MyInterface val1 string val2 string val3 number val4 string val5 Date 我想创建一个类型 它是 MyInterface 的键 但只有字
  • 使用 FFMPEG 从 IP 摄像机读取 RTCP 数据包

    我正在使用 ffmpeg C 库 我需要拦截来自摄像头的 RTCP 数据包 以便从发送者报告中获取时间戳 ffmpeg 中是否有任何方法或结构可以为我提供此信息 我完全陷入困境 但我无法解决这个问题 任何帮助将不胜感激 提前致谢 最后我不得