LINUX.ORG.RU

Конвертация видео: Уменьшение размера метаданных с помощью libav avconv

 видео конвертация h.264


0

1

Как максимально уменьшить размер метаданных в 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)

В вашем текстовом файле - 99.9% данных пробелы и прочий сгенерированный мусор.

Ещё вопросы?

anonymous
()
Ответ на: комментарий от anonymous

Не совсем вас понял. Всмысле пробелы и сгенерированный мусор? Что за мусор и как от него тогда избавится? От куда он там взялся?

Beckend
() автор топика
Ответ на: комментарий от Beckend

$#@%%^@%

Откуда вы решили, что этот текстовый файл вообще есть в вашем видео? Вы создали замечательный dump описание вашего видео - с какого органа вы считаете, что он embedded внутри?

Вы придумали проблему, которой нет и пытаетесь её решить.

anonymous
()

У тебя уже всё хорошо.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

Проблема в том, что Nginx скачивает 5-6 мегабайт метаданных, прежде чем начать проигрывать видео! Это НЕ нормально и я ищу решение.

Проблема явно кроется в метаданных.

Так как, если я уменьшаю лимит mp4_max_buffer_size c 20mb до 5mb, который указан в примере там же, то nginx выкидывает исключение подобного рода:

mp4 moov atom is too large ... you may want to increase mp4_max_buffer_size

В процессе обработки метаданных может понадобиться буфер большего размера.

Разве это нормальное дело для mp4?

Если да, то какой формат мне использовать, чтобы проигрывание файла происходило мгновенно, как собственно и перемотка(seeking)?

Beckend
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.