如何在MediaCodec android中实现跳帧

时间:2014-07-27 16:39:09

标签: android video-encoding mediacodec

我正在制作一个使用MediaCodec API的应用。 该应用程序在两部手机上运行。第一部手机从SD卡读取视频,然后使用MediaCodec编码器以avc格式对帧进行编码,然后将帧流式传输到另一台设备。第二个设备运行MediaCodec解码器。解码器对帧进行解码并在Surface上渲染它们。 代码运行正常,但是当帧的大小越来越大时,第一个设备有时无法流式传输视频,编码器停止报告以下日志:

E/OMX-VENC-720p(  212): Poll timedout, pipeline stalled due to client/firmware ETB: 496, EBD: 491, FTB: 492, FBD: 492

所以我想在编码器端实现跳帧。 什么是跳过帧而不是将它们流式传输到其他设备的最佳方式。 ?

PS。另外,如果有人可以向我推荐任何其他方式将视频流式传输到其他设备,那么它会非常好。

1 个答案:

答案 0 :(得分:0)

请使用https://software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials上的教程试用英特尔INDE媒体包。它有摄像头,文件和游戏流组件,可以在Wowza的帮助下进行流式传输,还有一组示例演示如何将其用作服务器和客户端

enter image description here

enter image description here