mediacodec

    3热度

    1回答

    背景:我做视频文件demuxing,解码视频轨道,应用一些变化接收帧,解码和复用他们再次。 在Android中这样做的已知问题是供应商指定编码器/解码器颜色格式的数量。 Android 4.3引入了表面以获取设备独立,但是我发现很难与它们一起工作,因为我的框架更改例程需要Canvas写入。 从Android 5.0开始,使用灵活的YUV420色彩格式就很有前途。联合使用getOutputImage

    2热度

    1回答

    我想了解如何使用MediaCodec处理Surface-to-Surface方法。在仅有ByteBuffer的方法中,解码数据被放置在OutputBuffers中。这个非编码数据可以手动处理,然后传递给Encoder的InputBuffers。 如果我们看一下Android MediaCodec CTS中使用表面到曲面方法在解码器和编码器之间传递数据的示例,我们将解码器配置为将解码数据输出到名为o

    0热度

    1回答

    我使用MediaCodec对相机数据进行编码,当我在名为Vivo X5 Pro(android 5.0,API 21)的设备上使用它时,MediaCodec编码的数据大小高于90000,并且通常在其他设备上大小约为15000.然而,我改变媒体格式的参数,它也无济于事。 我还发现,当我在Vivo X5 Pro(android 5.0,API 21)上使用方法MediaCodec.getOutputF

    1热度

    1回答

    我写的视频处理应用程序和所遇到以下性能问题: 大部分在我的应用程序的方法有CPU时间和实时之间的巨大差异。 使用DDMS TraceView我已经研究并已发现,这些差异的罪魁祸首是上下文中某些基方法的切换,如MediaCodec.start()或MediaCodec.dequeueOutputBuffer() MediaCodec.start()例如具有0.7ms的Cpu时间和24.2ms的实时时

    1热度

    1回答

    大多数到目前为止我已知道使用MediaCodec生成视频代码或者使用纯OpenGL或锁定从MediaCodec生成表面画布和编辑它应用片段着色器。我可以混合使用吗? 例如,如果我生成后者的方式我的框架,是有可能在之前或编辑表面的帆布后MediaCodec产生表面施加一个片段着色器?

    0热度

    1回答

    我需要确定如何在Android设备中录制视频并将其编码到mp4容器中的h.264基准配置文件中。我无法找到关于此的信息,因为智能手机制造商通常不会显示它。我所知道的是,索尼Z3在H.264 High Profile(L3-L6),HTC One M8-H.264 Baseline,Samsung Galaxy S3中编码所有录制的视频 - 部分在高和基线。

    0热度

    1回答

    我在TextureView中放置了一个MediaPlayer,它本身位于ListView中。 昨天,MediaPlayer按照预期用一个测试.mp4剪辑工作。 今天,MediaPlayer尝试做某种FFmpeg提取器,为此我一直无法找到任何有关的信息。 这是堆栈跟踪: 03-14 13:43:00.076 477-16532/? V/FFmpegExtractor: SniffFFMPEG 03

    1热度

    1回答

    参考:https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests/tests/media/src/android/media/cts/ExtractDecodeEditEncodeMuxTest.java 我使用上面的代码进行编码/解码/ MUX为了使视频分辨率较低和比特率。 它的工作完全正确的所有决议,包括nexus5

    0热度

    1回答

    在我的应用程序中,我需要记录视频和音频并不重要。到目前为止,我使用mediarecorder,但由于其延迟,我决定改变它。经过一番搜索,我明白我可以从onPreviewFrame获取表面数据,但它给了我字节数组。我发现用mediacodec我可以将这些字节数组更改为视频,但没有任何完整的代码或教程。我应该如何实现它? (我知道它可能从android 4.3开始)

    1热度

    1回答

    我使用波纹管代码将原始数据编码为h264以创建视频,编码非常好,但视频播放速度过快。看起来演示时间有问题。当记录开始时,我设置“tstart”的值,并且为每个帧计算当前时间与tstart的差异并将其传递给queueinputbuffer,但没有任何变化。哪部分有问题?我知道在android 4.3中,我可以将表面传递给mediacodec,但我想支持android 4.1。提前致谢。 public