c++ - 解析h.264的char*数据

标签 c++ linux parsing h.264

我有一个 char* 二进制数据数组。

它是使用 h.264 编码的二进制媒体流。

它具有以下结构:...

stream_header 是 64 字节结构。

我已经完成了reinterpret_cast(charArray),其中chararray 表示流的前64 个字节。我成功获取了所有 header 数据。在这个头中有一个nLength变量,它告诉我们下一个stream_data中有多少字节的媒体数据。

例如 1024 字节。

我在 char* 数据数组中读取了接下来的 1024 个字节,我的问题开始了:如何从这个视频帧数据集中获取(在结构中我有有关该帧分辨率的信息),并将其保存在 *.jpg 文件中,例如 (1.jpg 2.jpg 3.jpg .....)

也许有人已经做了类似的事情???请帮助我..

最佳答案

您需要一个H264解码器库,最好的选择是ffmpeg

但即便如此,使用该库还是有点复杂 - 尽管解码更简单,因为您需要担心的选项较少。

您真的需要在程序中执行此操作吗?使用“ffmpeg”可执行文件将视频保存为 jpeg 非常简单

关于c++ - 解析h.264的char*数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773150/

相关文章:

linux - 等待一个进程完成并执行另一个进程

linux - 为什么 HashiCorp 的 Vault 需要启用 ipc_lock 功能?

java - 如何在Java中处理JSONParser中不存在的数据

c - Linux 上的虚拟内存大小

javascript - javaScript中如何将字符串转换为对象

c# - 如何在 C# 中导航任何 JSON 树?

c++ - C/C++ 不确定值 : Compiler optimization gives different output (example)

c++ - 提高棋盘模式的时间复杂度

c++ - 连接数组并对它们进行排序

c++ - 解密前检查密码