-1

我有以下关于android实现的问题

  1. 各种视频编解码器有何不同,尤其是“基于流和基于帧”

  2. 在许多论坛和问题上,每个人都在谈论 SPS、PPS 等,所以我在哪里可以找到有关编解码器的足够详细信息(请提及 RFC 文档以外的内容!!)以理解它并相关地使用 ffmpeg?

  3. 这里是否可以使用内置的硬件解码器 od android 设备?如果是这样,如何?我是否需要使用 OpenMax-IL(或 AL 或 DL,我的意思是哪个是为了什么?)

  4. ffmpeg 是否支持通过 libx264 对 RGB(或 RGBA)或 RGB565(或 RGB555)输入数据进行 H264 编码?

  5. 如果我的要求只是 h264 编码和解码,我可以在没有 ffmpeg 的情况下使用 libx264 吗?如果有任何示例/指南?

4

1 回答 1

2

1) 这可能是指基本流格式。一些编解码器,如 mp3,产生一个不需要(但仍然可以选择包含在)单独容器(如 mp4 )的“流”。其他编解码器需要单独的容器。AVC 两者兼而有之。AVCC 格式需要一个容器(以及一个包含 SPS/PPS 的序列头)。而附件B 格式不需要容器。在这里查看更多信息:http ://www.szatmary.org/blog/25

2) SPS 和 PPS 基本上都是标头。它们包含需要初始化 h.264 解码器的信息(例如压缩选项和视频分辨率)

3)这取决于设备,但是是的。你可以使用解码器。请参考安卓文档。

4) h.264 需要 YUV420p(或者在极端情况下需要 YUV444)。ffmpeg 可以在将数据传递到 x264 之前进行色彩空间转换。

5)libx264不能解码,也不能做RGB->YUV色彩空间转换。

于 2014-01-09T23:10:10.633 回答