mediacodec

    0热度

    2回答

    有两个线程访问相同的MediaCodec对象,并且它们可能需要同时运行。现在我有一个问题:当两个线程同时运行时,代码如下: try { mediaCodec.releaseOutputBuffer(encoderStatus, false); } catch (IllegalStateException e) { e.printStackTrace(); } 如何处理此

    0热度

    1回答

    是否可以在android 4.0.4上使用MediaCodec(api level 15)? MediaCodec最低api等级为16,但我需要在等级15上使用。 除了升级android操作系统之外,有什么方法可以在android 4.0.4上使用MediaCodec吗?

    1热度

    1回答

    我一直在使用grafika的MoviePlayer和bigFlake的ExtractMpegFramesTest在我们的应用中实现寻找和提取帧功能。这些对我们大多数用户来说都很好,但是其中一些在设置ExtractMpegFramesTest(发生在三星Galaxy S4 mini,三星Galaxy J7,三星Galaxy A5,华为Ascend G7)上时遇到了IllegalStateExcept

    1热度

    1回答

    我试图改善我们的应用程序的帧提取。基本上我所做的就是结合来自Grafika的MoviePlayer的前向搜索解决方案和BigFlake的ExtractMpegFramesTest来提取帧。对于提取,我寻找回前一个关键帧,然后正向解码并仅保存最后一帧。像这样的东西 (见较完整的解释我previous question): decoder.releaseOutputBuffer(decoderStat

    0热度

    1回答

    我想解码mp4文件并将解码输出馈送到编码器并将其保存为新的mp4文件。这听起来有些不必要/奇怪。这也可以使用编码器输入表面作为解码器输出表面来完成。但是,我想对此做一些修改,以便实现某些不同(通过改变帧的顺序),一旦我得到这个工作(使用ByteBuffer)。 但是,当我尝试这个时,我得到下面的错误,当Encoder.dequeueOutputBuffer(bufferInfo, TIME_OUT

    -2热度

    2回答

    您可以检查为何不工作我Audiotrack,我确实有进出的audiotrack一个缓冲区,它应该能够正常工作。 public class MainActivity extends AppCompatActivity { private MediaExtractor extractor; private MediaCodec decoder; private Surface surface;

    0热度

    1回答

    我知道一种方法,那就是通过调用String mime = format.getString(MediaFormat.KEY_MIME);,但我目前正在努力深入挖掘,比如这个core media formats list。你可以看到有许多不同类型的AAC,AAC LC,HE-AACv1(AAC +),HE-AACv2(增强的AAC +)等等。 KEY_MIME不会返回这些值。有没有办法从Mediaf

    0热度

    1回答

    我想记录,编码,并最终在Android(使用API​​ 16)与MediaCodec和Mp4Parser(封装到.mp4)的组合上创建短片。 除了.mp4的持续时间,它总是3秒长,并且运行速度大约是“正确”速度的两倍,所有的工作都很好。 编码器的输入是84帧(相隔100毫秒)。 最后一帧设置'流结束'标志。 我设置的显示时间对每一帧queueInputBuffer 我试图调整每一个可以想象的参数

    2热度

    1回答

    我已将ExtractDecodeEditEncodeMuxTest.java中的代码复制到我的应用中,以便对视频进行转码,其​​中最重要的更改是将该类重命名为并删除了extends AndroidTestCase,因为我要将它从任何活动中分离出来。一切工作正常,直到我编译发布版本使用ProGuard,那么它失败在与运行时: E/d: com.testapp.a.g.a.b.b(OutputSurf

    0热度

    1回答

    我想解码h264流在Android上使用MediaCodec。 我用csd-0,csd-1来设置sps和pps这样。 MediaFormat format = MediaFormat.createVideoFormat(MIME, WIDTH, HEIGHT); format.setByteBuffer("csd-0", sps); format.setByteBuffer("csd-1",