我正在尝试直接解码 Android 设备上 Raspberry Pi 摄像头模块的 H.264 编码摄像头输出,但我的代码无法正确解码文件。我没有得到任何输出,并且作为最后一帧,我得到了一个乱码。
当我自己将输入文件(它是一个 H.264 字节流)解析为 NAL 单元时,我留下了一个问题:当将它们提供给 MediaCodec 缓冲区时,我是否将 NAL 单元分隔符作为出色地?
我正在尝试直接解码 Android 设备上 Raspberry Pi 摄像头模块的 H.264 编码摄像头输出,但我的代码无法正确解码文件。我没有得到任何输出,并且作为最后一帧,我得到了一个乱码。
当我自己将输入文件(它是一个 H.264 字节流)解析为 NAL 单元时,我留下了一个问题:当将它们提供给 MediaCodec 缓冲区时,我是否将 NAL 单元分隔符作为出色地?
解码器MediaCodec
需要 H.264 基本流,并且每个缓冲区需要一个访问单元。您还需要在第一个数据包之前提供 SPS/PPS(通过BUFFER_FLAG_CODEC_CONFIG
标志或将其添加到MediaFormat
)。
另请参阅此问题。