在MediaCodec 的编码时候,需要调用queueInputBuffer( int index, int offset, int size, long presentationTimeUs, int flags) 函数,将装有待编码的帧字节数组传给编码器,第四个参数 代表的编码时间戳,这个编码时间戳非常重要,单位是 微秒,不传或者传错,都会导致解码错误甚至播放不了。
1、不要赋值0,网上好多Demo直接写0,我很好奇到底有没有真正的使用正常。
2、不要自己随便定义一个时间。
3、用系统的时间 System.nanoTime(),这个是纳秒时间,当然不能直接传进去作为参数,亲测,必须再标记个开始时间,然后两者相减,作为参数 (System.nanoTime() - startTime) / 1000
MediaCodec 编码时间戳问题
最新推荐文章于 2025-11-03 13:38:29 发布
在MediaCodec编码时,调用queueInputBuffer函数需传入编码时间戳,单位为微秒,该时间戳非常重要,传错会导致解码错误甚至无法播放。使用时不要赋值0,不要随便定义时间,可使用系统时间System.nanoTime(),标记开始时间后相减并除以1000作为参数。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
AutoGPT
AI应用
AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标
7767

被折叠的 条评论
为什么被折叠?



