将 MPEG 传输流 (.ts) 关键帧导出到 C/C++ 中的图像? Libavcodec / FFMPEG?

问题描述

我有一些由 188 字节 TS 数据包组成的缓冲区。当我将它们写入文件时,我可以在视频播放器中成功查看这些 .ts 文件。 MPEG-2/H.264 是传输流的格式。

现在,我想将这些传输流缓冲区(或 .ts 文件)中的关键帧导出为 .jpeg 或我的 C/C++ 项目中的其他一些常见图像格式。

这是使用 ffmpeg 从命令行执行的一项微不足道的任务,我只是将 .ts 文件和一些参数提供给它。

然而,为了这个项目的目的,我想在我当前的 C/C++ 目录中完成关键帧作为图像代码端的转换/导出,因为来自这些生成图像的原始字节将被放入另一种格式。

网上的人似乎推荐使用 libavcodec。 ffmpeg 源中有一个 mpegets 文件,看起来它可能有一些后端来做我想做的事。

但是,使用该库完成此任务所需的步骤并不明显。

我知道我可以从 C++ 调用 ffmpeg 并使用 stdin,但这不是该项目的首选解决方案。

如果有人能给我一些指导(甚至更好的示例代码)来完成这项任务,我将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...