Android使mp4视频文件更小

Android使mp4视频文件更小,android,android-mediacodec,mediamuxer,mediaextractor,Android,Android Mediacodec,Mediamuxer,Mediaextractor,有没有办法快速实现mp4视频文件的大小缩减?比如说,我在设备摄像头上录制了一段全高清视频,我需要通过网络传输,所以我需要缩小视频大小 我读过很多关于MediaCodec,MediaExtractor,MediaMuxer等的文档,但是所有的例子都像是几百行代码!我不敢相信没有高级API可以做到这一点 下面是一个在iOS中如何实现的示例: let urlAsset = AVURLAsset(url: inputURL, options: nil) exportSession = A

有没有办法快速实现mp4视频文件的大小缩减?比如说,我在设备摄像头上录制了一段全高清视频,我需要通过网络传输,所以我需要缩小视频大小

我读过很多关于
MediaCodec
MediaExtractor
MediaMuxer
等的文档,但是所有的例子都像是几百行代码!我不敢相信没有高级API可以做到这一点

下面是一个在iOS中如何实现的示例:

    let urlAsset = AVURLAsset(url: inputURL, options: nil)
    exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPresetMediumQuality)
    exportSession.outputURL = outputURL
    exportSession.outputFileType = AVFileType.mp4
    exportSession.shouldOptimizeForNetworkUse = true
    exportSession.exportAsynchronously { // DONE! }

就这样,6行代码Android中是否有类似的功能?

目前,对于您希望在AOSP中实现的功能,没有更高的抽象级别。 如果您不想尝试使用
MediaCodec
等,可以使用一些库

例如,这看起来是一个很有前途的项目。它使用我自己使用过的策略。比如让编解码器失败,而不是事先假设会发生什么。它还提供许多非标准操作


我与该项目无关,我自己也没有使用过它

如果你想脱机使用,请使用手刹,因为除了使用FFmpeg之外,没有其他直接的方法,这将消耗大量电池。