是否有一种方法可以快速减少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! }
就是这样,六行代码! Android中是否有类似的东西?
目前,您要在AOSP中实现的目标没有更高的抽象级别。如果您不想尝试MediaCodec
等,可以使用一些库。
Transcoder例如看起来像是一个有前途的项目。它使用我自己使用的策略。就像让编解码器失败,而不是事先假设会发生什么一样。它还提供了许多非标准操作。
我不隶属于该项目,我自己也没有使用它