使用媒体编解码器和摩托罗拉移动设备编码音频时出现问题



我已经能够实现视频/音频解码器和编码器。在我的三星S3上,一切正常。然后我部署到三星,我有一些旋转问题,我已经修复了,但最终编码的视频没有音频。当我停止媒体复用器时,我得到以下日志:

01-29 12:35:26.372 I/MPEG4Writer(23222): Received total/0-length (27/0) buffers and encoded 27 frames. - video
01-29 12:35:26.374 D/MPEG4Writer(23222): Stopping Audio track
01-29 12:35:26.376 I/MPEG4Writer(23222): Received total/0-length (4/82) buffers and encoded 4 frames. - audio
01-29 12:35:26.376 I/MPEG4Writer(23222): Audio track drift time: 0 us
01-29 12:35:26.377 D/MPEG4Writer(23222): Stopping Audio track source
01-29 12:35:26.377 D/MPEG4Writer(23222): Audio track stopped
01-29 12:35:26.377 D/MPEG4Writer(23222): Stopping Video track
01-29 12:35:26.377 D/MPEG4Writer(23222): Stopping Video track source
01-29 12:35:26.377 D/MPEG4Writer(23222): Video track stopped
01-29 12:35:26.378 D/MPEG4Writer(23222): Stopping Audio track
01-29 12:35:26.378 D/MPEG4Writer(23222): Duration from tracks range is [80000, 1772500] us
01-29 12:35:26.378 D/MPEG4Writer(23222): Stopping writer thread
01-29 12:35:26.379 D/MPEG4Writer(23222): 1 chunks are written in the last batch
01-29 12:35:26.380 D/MPEG4Writer(23222): Writer thread stopped
01-29 12:35:30.212 D/MPEG4Writer(23222): Stopping Video track
01-29 12:35:30.212 D/MPEG4Writer(23222): Stopping Audio track

我想与 4/82 缓冲区有关,并且只编码了 4 帧。我已经将我从解码器获得的所有缓冲区写入了复用器,我认为有 82 个缓冲区。演示文稿时间和标志与我从解码器获得的时间和标志相同。正如我所说,此代码适用于我的三星S3。你有什么想法会成为我的问题吗?可能是比特率吗?谢谢。

我发现字节缓冲区在某些情况下带有 Position=Limit,因此,我必须设置 Position(info。偏移量)、限制(信息。偏移量+信息。大小),就像在许多例子中一样(例如格拉菲卡)。因此,我一直在编码 0 长度的缓冲区,但只有 4 个带有数据。没有这个,这在我的三星中工作正常,但在摩托罗拉手机中则不行。谢谢

最新更新