как рассчитать размер видео файла по формуле - PullRequest
0 голосов
/ 30 мая 2019

Я хочу сжать видео в 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

Теперь я ищу формулу для расчета предполагаемого размера. Я получаю ширину, высоту и битрейт от MediaMetadataRetriever в Android

 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);

1 Ответ

0 голосов
/ 03 июня 2019

Я нашел это. для расчета размера файла по битрейту и длительности мы можем использовать:

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

например

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