繁体   English   中英

ExoPlayer的MediaMuxer播放问题

[英]MediaMuxer playback issue with ExoPlayer

我正在使用MediaMuxer类编辑视频文件,以便使用ExoPlayer库播放。 基本上,我正在做的是从mp4解码器提取视频帧,重新编码这些帧并使用muxer.writeSampleData(..)进行muxer.writeSampleData(..)

一切都很好,并且可以使用ExoPlayer实现成功播放视频,直到视频持续时间> = 20秒。 当我尝试使用至少20秒长的视频(.mp4)时,就会出现播放问题。 MediaMuxer或ExoPlayer对象在日志中没有引发任何错误,也没有任何其他异常。

播放问题很奇怪,但是无论视频长度> = 20秒如何,都以完全相同的方式发生。 当播放达到11秒标记(进入视频11秒)时,帧冻结,并且ExoPlayer日志表明播放器的状态已从“就绪”变为“缓冲”,并且无限期保持该状态。 没有其他错误或其他相关信息被记录。

ExoPlayer日志无法打印出任何有助于跟踪问题的信息,因此,我不确定问题出在哪里。 在视频编辑代码中的某个位置,我可以提取帧,解码帧,对帧进行编码并对其进行多路复用,还是在ExoPlayer库中? (无论长度长短,原始视频都可以正常播放)在ExoPlayer实现中停留在11秒标记处的视频在设备默认的MediaPlayer上可以正常播放。

有没有人做过类似的事情? 是否对问题可能出在哪里以及经验丰富的问题​​有任何想法,或者对如何进行调试有任何其他想法?

问题是在某些情况下解码器会写入大量样本,而我的exoplayer实现由于我设置的最大样本量太小而无法处理它,这是通过调整解码器的最大样本量来解决的或exoplayer实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM