当前位置: 首页 > 知识库问答 >
问题:

Nexus 7 201 3 mediacodec视频编码器错误输出

龙安阳
2023-03-14

我正在开发一个应用程序,它使用H.264编码器将一部电影编码到图库和其他目标。该应用程序支持输出的可变纵横比(1:1,2:3,3:2,16:9,3:4,4:3)。我使用surface Input作为4.3 API的输入/输出。

http://imageshack.com/a/img811/7984/dtgh.png

我的猜测是,在编码器中有一些硬编码的值,它将其输入表面视为具有与实际不同的宽度--像素线似乎“没有正确排列”。然而,我对什么能导致这一点以及如何围绕它工作感到茫然。

日志中没有错误,并且视频编码器编解码器在输出媒体格式时在日志中输出正确的表面宽度和高度。

共有1个答案

皇甫雨华
2023-03-14

我相信这与设备的芯片组有关。我也有同样的问题,老旧的摩托罗拉XT1058,它使用了高通骁龙S4 Pro,与Nexus7相同的芯片组。

做了一些研究,我发现通过另一个答案,在旧的高通设备YUV数据需要在2K边界对齐,但我不明白如何解决它,当使用输入表面,而不是YUV缓冲器。

有关Qualcomm对齐要求的说明,请参阅下一个已接受的答案:

我的解决办法是,对于较旧的设备,我将使用我知道可以工作的分辨率,这些是我可以通过使用CamcorderProfile API查询视频配置文件获得的分辨率。

主要问题是如何检测设备是否受到影响,因为MediaCodec API只能给出编解码器名称而不能给出其版本。

 类似资料:
  • 17 视频编码器 介绍一些当前有效的视频编码器 libtheora libtheora的封装 编译需要头和库文件,还需要利用--enable-libtheora在配置中允许 更多信息参考http://www.theora.org/ libtheora选项 下面是映射给libtheora的全局选项,它们对品质和码率产生影响。 b 对CBR(固定码率编码)设置码率,单位bit/s,在VBR(动态码率编

  • 我传输的视频已经编码。传输时为什么要再次编码? 示例:gst-launch-1.0-v filesrc location=123。mp4!decodebin!x264enc!RTPH264支付!udpsink主机=192.168.10.186端口=9001 发送视频不编码就行了。我可以在另一边查看吗? 例如: 服务器:gst-launch-1.0-v filesrc location=123。mp

  • 16 音频编码器 介绍当前可用的音频编码器 aac AAC(Advanced Audio Coding )编码器 当前原生(内置)编码器还处于实验阶段,而且只能支持AAC-LC(低复杂度AAC)。要使用这个编码器,必须选择 ‘experimental’或者’lower’ 因为当前还处于实验期,所以很多意外可能发生。如果需要一个更稳定的AAC编码器,参考libvo-aacenc,然而它也有一些负面报