获取 MP4 流长度

2024-01-16

我正在一个应用程序中工作,我们使用 IMediaDet 来获取流长度。现在我们开始使用 MP4 容器。问题是,当我尝试使用 MP4 文件使用 IMediaDet::put_fileName() 时,我得到 HRESULT = -2147024770 (ERROR_MOD_NOT_FOUND)。使用商业 mp4 解复用器,我看到视频流使用 mpg2 编码。

我的问题: 如何获取 MP4 容器内流的流长度?有没有办法让 IMediaDet 接受这些文件?有没有办法指出 IMediaDet 应该使用什么解复用器?

任何帮助将非常感激。

Thanks.


很遗憾,即使在 Windows 7 中,DirectShow 也不包含 MP4 解析器 http://social.msdn.microsoft.com/Forums/en-US/windowsdirectshowdevelopment/thread/0a7f7ab9-19c1-4938-bc1a-d87c8f49da86。在Win7中,MP4功能被添加到媒体基础中。

所以你有几个选择。您可以购买或构建一个 directshow 过滤器来实现 MP4 解复用器和将其与“mp4”文件扩展名相关联 http://msdn.microsoft.com/en-us/library/dd377513%28VS.85%29.aspx,这应该允许 IMediaDet 正确地解复用文件。或者您可以使用媒体基金会,它应该能够返回此信息。或者您可以完全使用单独的 MP4 文件库,像MP4v2 http://code.google.com/p/mp4v2/。 (请注意,如果您想直接使用 DirectShow 而不是 MP4v2,您还可以使用 MP4v2 实现 MP4 解复用器过滤器)

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

获取 MP4 流长度 的相关文章

  • 如何在MVVM中管理多个窗口

    我知道有几个与此类似的问题 但我还没有找到明确的答案 我正在尝试深入研究 MVVM 并尽可能保持纯粹 但不确定如何在坚持模式的同时启动 关闭窗口 我最初的想法是向 ViewModel 发送数据绑定命令 触发代码来启动一个新视图 然后通过 X
  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif

随机推荐

  • 数组和线程安全访问

    如果我有一个可以 将在任何给定时间点被多个线程访问的数组 到底是什么导致它是非线程安全的 以及确保该数组在大多数情况下是线程安全的步骤是什么情况 我在互联网上进行了广泛的查找 发现几乎没有关于这个主题的信息 一切似乎都是特定的场景 例如 这
  • 使用 Entity FrameworkWork 保存更改/更新数据集中的现有对象,而不必单独设置每个属性

    我可以做类似下面的事情 这不起作用 而不必显式设置对象的每个属性吗 Product 是默认模型绑定程序从表单提交创建的对象 ProductInDb 是我希望覆盖 更新的上下文 数据库中的对象 两者的 ProductID 主键相同 var P
  • Ubuntu:无法纠正问题,您持有损坏的软件包

    尝试安装此程序时 我收到 无法纠正问题 您持有损坏的软件包 错误消息 阿帕奇版本 服务器版本 Apache 2 4 2 Ubuntu 服务器建成 2012 年 6 月 27 日 07 23 35 aptitude install libap
  • while(true) 与 setInterval(function(),0) [重复]

    这个问题在这里已经有答案了 设置间隔 重复调用函数或执行代码片段 每次调用该函数之间有固定的时间延迟 while 创建一个循环 只要测试条件的计算结果为 true 该循环就会执行指定的语句 之前评估过条件 执行该语句 如果我使用while
  • 公共属性的默认值

    我在某个班级有一个公共财产 我想要这个属性的默认值 1 而不需要像 MyField这样的私有变量 因为这个类中的属性太多 我不会一一添加它们 public int MyProperty get set 我认为 DefaultValue At
  • 在unittest中覆盖python函数局部变量

    我在 python 2 7 中有一个方法可以执行 foo 操作 如果 foo 不起作用 则在 5 分钟后放弃 def keep trying self timeout 300 empirically derived appropriate
  • GoogleFit 示例不起作用

    我正在尝试使用 BasicHistory Sample 来存储数据 然后读取它 但在我的情况下 代码卡在插入调用中 await 调用不会返回我尝试使用异步方式的任何内容 这里是代码 com google android gms common
  • 在哪里可以找到 Microsoft SQL Server 2008 的 Northwind 数据库?

    我正在尝试查找并创建 导入 Northwind 数据库来练习我的 Linq fu 我一生都找不到它 搜索只是将我转到此页面 这反过来又告诉我在不存在的官方页面上找到它 http msdn microsoft com en us librar
  • 数据绑定在表单加载之前不起作用 - 组合框项仅在表单加载后初始化

    我在 winform 上有两个组合框 一个包含列表 MyList 中的所有值 另一个我想拥有第一个选定索引中的所有值 但我认为将项目加载到组合框中时存在问题 public partial class Form1 Form public Fo
  • 在 Chrome 中禁用表单自动填充而不禁用自动完成[重复]

    这个问题在这里已经有答案了 我们如何禁用 Chrome 的自动填充功能
  • 如何在 Internet Explorer 中创建跨域 XMLHTTPRequest

    我的代码如下所示 推荐在 IE 下运行 但仅在 Chrome 和 FF 下运行 是否有正确的方法从另一个域访问 url 此外 该域是我拥有的域 可以允许访问尝试访问它的脚本
  • 如何检测 Topshelf 是否在控制台模式下运行

    我将 Topshelf 与 FluentSchedule 结合用于 Windows 服务 但是 我希望能够试运行应用程序以简单地启动而不是执行设置计时器等的 FluentSchedule 代码 从命令行运行 exe 文件 即没有 安装 命令
  • 在 PHP 中打印多维数组的单个值

    我正在使用以下数组 Array 0 gt Array id gt 6 key gt SITE NAME value gt Webg Smarty CMS Small name gt general title gt website name
  • ConstraintLayout - 如何垂直对齐两个视图的中心

    我有两个视图 A 和 B 它们有不同的高度 如何在内部垂直对齐这些视图的中心ConstraintLayout 例如 在下面的 XML 中 我想要中心img change picture与中心对齐txt change picture
  • 在用户空间处理 GPIO ARM9 嵌入式 Linux AM1808

    我必须将我的 GSM 模块与基于 ARM9 的 AM1808 连接起来 我已将所有 GPIO 引脚分配给 Da850 c 以及 mux h 文件 我成功创建了一个 uImage 并将该图像插入到我的 Flash 中 我需要处理用户应用程序中
  • 如何从 PDF 文档中提取表格?

    我正在尝试从 PDF 文档中提取表格 example http www nea org np images supportive docs 55082070 3 19 pdf 它不是扫描 图像 因此请关注非 OCR 解决方案 OCR表格提取
  • 创建样式节点、添加innerHTML、添加到DOM、以及IE令人头疼的问题

    我有一个由两部分组成的问题 一 场景 由于我们在移动浏览器对 NOSCRIPT 的支持方面遇到了一些奇怪的问题 我的任务是提出一种替代解决方案来 检测 JS 解决方案逻辑是页面上有两个 DIV 一种是错误提示你没有 JS 并且默认显示他 如
  • Virtualenv 说“root”而不是 virtualenv 的名称?

    一段时间以来 我一直在许多 python 项目中使用 virtualenv 当我尝试激活我的 virtualenv 之一时 我输入 source venv bin activate 这通常可以达到目的 但是 我的命令提示符不是这样说的 ve
  • 无法运行 ipad 应用程序 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我需要一些帮助 我从 App Store 免费 下载了一个 ipad 应用程序 现在我想在任何模拟器上运行该应用程序 我尝试了很多模拟器 但都失败了
  • 获取 MP4 流长度

    我正在一个应用程序中工作 我们使用 IMediaDet 来获取流长度 现在我们开始使用 MP4 容器 问题是 当我尝试使用 MP4 文件使用 IMediaDet put fileName 时 我得到 HRESULT 2147024770 E