我正在寻找一种"压缩"mp4视频的方法.为此,我想降低视频的分辨率和/或降低FPS.
经过长时间的研究,我认为这样做的方法是使用MediaCodec和相关的API,如下所示:
- > MediaExtractor从mp4文件中提取编码的媒体数据. - > MediaCodec(解码器):解码每个帧以供以后处理. - > MediaCodec(编码器):此时,我猜我们应该在哪里建立MediaFormat参数,例如视频分辨率,这应该有助于我们减少mp4文件的最终大小. - > MediaMuxer用于生成mp4文件(MinSDK 18,这可能是一个问题,但现在......好吧).
我不想使用SurfaceView/TextureView.关于音频,我不想处理它以降低质量.
我一直在看这里的所有例子:http: //bigflake.com/mediacodec/
我也看过CTS源代码模块.
我一直在研究以下几个项目:https: //github.com/vecio/MediaCodecDemo/blob/master/src/io/vec/demo/mediacodec/DecodeActivity.java
当然,我已经在stackoverflow上阅读了几十篇帖子.
问题是我还没有找到任何适合这个porpuse的代码示例.我尝试将各种代码片段放在一起放在一个项目中,但实际上并没有用.
谢谢.