我正在开发像whatsApp这样的聊天应用程序,我想在上传到服务器之前对媒体文件进行转码,我已经经历了这么多链接但是无法决定我应该使用哪种方法,是否有任何直接的转码方式在android?
FFMPEG 我发现它是高度cpu密集的过程,它会消耗更多的电池电量
媒体编解码器我想使用mediacodec进行转码,但无法正确理解该过程。
答案 0 :(得分:1)
我们为视频编辑应用程序使用了这两种实现。基本上我们使用MediaCodec实现,如果android版本> = 4.3,否则使用FFMPEG。
使用FFMPEG的问题:
MediaCodec也有一些缺点,例如:
所以我应该说如果你只支持新的Android版本,你应该使用mediacodec,但是如果你想要安全(更容易编写适用于所有设备的代码)并且不介意性能,请使用FFMPEG和OpenH264
答案 1 :(得分:0)
Android的MediaCodec是一种相对更好的在客户端上进行代码转换的方法,因为它使用自己的低级缓冲区处理。但是它并没有像FFMpeg那样提供精细的调整自由。 对于MediaCodec源代码,它也是CPU密集型,用于保存缓冲区并处理它们,但它实际上比FFmpeg小。