Как максимально уменьшить размер метаданных в h.264 видео?
Метаданные вытаскивал через программу Atom Box Studio из фильма размером 718mb, мета данные оказались размером в 92 мегабайта!
Залил этот файл на дропбокс, вот ссылка: https://www.dropbox.com/s/tok76wospngf854/moov
Основную часть файла описываются некие Chunk Offset такого вида: ( 41279) Chunk Offset : 0x0519DF46 ( 41280) Chunk Offset : 0x0519E738 ( 41281) Chunk Offset : 0x0519E9F0 ( 41282) Chunk Offset : 0x0519EB5E ( 41283) Chunk Offset : 0x0519EE4C
Немного почитав, я выяснил, что это кадры сжатые в чанки и это записи отступов от начала фильмов, чтобы при проигрывания плеер смог найти следующие кадры.
и Sample Size такого:
( 315536) Sample Size : 344 ( 315537) Sample Size : 344 ( 315538) Sample Size : 345 ( 315539) Sample Size : 338
А это сами кадры и из длины насколько я понял.
НО! Из-за чего их там так много? Насколько я знаю, то компрессия видео заключается в уменьшении оригинальных кадров и записи, только разницы между ними. Так что же тут тогда не так?
Файл конвертировал с помощью avconv от libav v9.4
Я не особо знаком с документацией avconv, как собственно и с форматом h.264. Вот комманда, которой я кодировал видео:
'-i', opts.video ,'-strict', 'experimental' ,'-acodec', 'aac' ,'-ac', '2' ,'-ab', '128k' ,'-ar', '44100' ,'-y' ,'-c:v', 'libx264' ,'-qscale', '1' ,'-s', opts.sizes || '640x480' ,'-g', '25' ,'-r', '25' ,path.join(opts.pre_meta_path,status.filename)