2017-07-03 25 views
0

我正在使用MediaCodec Native API来压缩视频。我的要求是,我还需要向用户显示视频压缩的可用分辨率格式列表(假设用户选择任何分辨率格式,输出文件应小于5MB)。所以,我需要能够根据用户在实际压缩之前选择的分辨率选项来计算压缩视频大小。这在Android中可能吗?我已经广泛搜索,但无法找到任何答案。任何线索都会非常有帮助。谢谢!在Android中基于多重分辨率格式选项压缩视频文件

回答

0

您可以通过将输出比特率(每秒位数)与视频的长度(秒)相乘来计算输出大小。

+0

谢谢Tomer。我怎样才能得到这些参数? MediaExtractor的getTrackFormat()会给我这个信息吗?再次感谢 – sdk

+0

您可以使用getTrackFormat()获取的MediaFormats中的KEY_DURATION获取视频的长度; 输出比特率是你在MediaCodec中选择和配置的东西。 例如,如果您有60秒的视频,并且您想将其大小限制为5 MB。 计算结果如下: 最大比特率= 5,000,000(字节)* 8(比特每字节)/ 60(秒)= 666 kbps –

+0

感谢这工作完美! – sdk