ARM AVI 视频播放 基于 2440 freambuffer 绘制

AVI 文件格式 图解

整理:

AVI 是一种容器,里面放什么格式的数据都可以

视频编码:格式可以是 H264, MPEG-4, MJPEG ,因为 MJPEG 比较简单,所以仅支持 MJPEG 的 avi 视频。

音频编码:PCM16, mp3 因为 PCM 编码,文件实在过大,所以仅支持 mp3 编码。

难点:

1, 由于ARM 内存比较小,不能使用 mmap ,不能一次性全部读进 内存。

2,mp3 音频解码,暂不支持。

使用 狸窝全能视频转换器进行格式转换

数据块说明

movi 中是保存有,视频,音频数据。

00dc 表示是 视频数据,然后是4个字节的长度

全部 avi 文件中只有一个 movi LIST 里面就是数据流,视频流、音频流。

音频编码 PCM 导致文件过大,解码倒是很方便,暂不支持,Mp3 ACC 比较不错,后期添加。

MJPEG 不是 JPEG 图片,但都可以使用 libjpeg 解码。

完整代码,可以关注置顶的 github 。

原文地址:https://www.cnblogs.com/ningci/p/7099716.html