如何通过公式计算视频文件大小

 收藏

我想在Android中压缩视频并上传。压缩之前,我想显示不同的宽度和高度以及估计的大小,然后用户选择一个。

 for example:
    240  estimated Size =~20 MB
    480  estimated Size =~40 MB
    640  estimated Size =~90 MB
    720  estimated Size =~130 MB
    1080 estimated Size =~180 MB

现在,我正在寻找一个计算估计大小的公式。 我从Android中的MediaMetadataRetriever获取宽度,高度和比特率

 retriever = new MediaMetadataRetriever();
 retriever.setDataSource(path, new HashMap<String, String>());
 width = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
 height = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
 rotation = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION);
回复
  • 小涩先生 回复

    我找到了。 从比特率和持续时间计算文件大小,我们可以使用:

    (bitrate() / 8 * duration() / 1000/1000)
    

    例如

    file size=((17305731/8)*(4655000/1000/1000))=‭10,069,772‬= 9.6 MB