gpt4 book ai didi

android-mediacodec - 在 Android 设备中转码音频/视频/图像文件

转载 作者:行者123 更新时间:2023-12-04 04:37:23 24 4
gpt4 key购买 nike

我正在开发一个像 WhatsApp 这样的聊天应用程序,我想在上传到服务器之前对媒体文件进行转码,我浏览了很多链接但无法决定我应该使用哪种方法,在 android 中是否有任何直接的转码方法?

  • FFMPEG 我发现这是一个高度 cpu 密集型的过程,它会消耗更多的电池电量
  • 媒体编解码器 我想使用 mediacodec 进行转码,但无法获得正确的步骤来理解该过程。

  • Best link to give idea about transcoding

    Library to transcode using media codec (它有很多错误)

    最佳答案

    我们在我们的视频编辑应用程序中使用了这两种实现。基本上,如果 android 版本 >= 4.3,我们使用 MediaCodec 实现,否则使用 FFMPEG。

    使用 FFMPEG 的问题:

  • 正如您所说,CPU 密集型进程因此消耗更多电池
  • x264 编码器在 GPL 下获得许可,因此您可能希望使用仅支持 Baseline Profile 的 OpenH264 编码器,因此视频质量不是最好的
  • 由于使用了软件编码器,处理速度相对较慢,至少比起MediaCodec实现

  • MediaCodec 也有一些缺点,例如:
  • 如果你想做转码,android版本需要>= 4.3,除非你想自己处理颜色格式转换,这完全是一团糟,因为每个供应商可能都有自己的颜色格式实现。 (从 4.3 开始,MediaCodec 支持使用输入表面进行编码)
  • 对于不同的模型,硬件编码器的行为可能不同。 (例如,某些编码器可能会产生 Android MediaMuxer 尚不支持的 B 帧,因此您可能希望将 ffmpeg 用于复用部分)

  • 所以我应该说,如果你只支持新的 android 版本,你应该使用 mediacodec,但如果你想安全(更容易编写适用于所有设备的代码)并且不介意性能,请使用带有 OpenH264 的 FFMPEG

    关于android-mediacodec - 在 Android 设备中转码音频/视频/图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752791/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com