Это официальное описание параметра:
‘-g[:stream_specifier] integer (output,video)’
set the group of picture (GOP) size
Не очень информативно, я бы сказал.
Кто-нибудь может объяснить, что он на самом деле делает и каково оптимальное значение?
И от чего зависит размер атома moov?
У вас есть несколько примеров использования в официальной документации avconv .
Из Раздел Советы :
avconv -g 3 -r 3 -t 10 -b 50k -s qcif -f rv10 /tmp/b.rm
Если ваш компьютер недостаточно быстр, вы можете ускорить сжатие за счет степени сжатия. Вы можете использовать '-me zero', чтобы ускорить оценку движения, и '-g 0', чтобы полностью отключить оценку движения (у вас есть только I-кадры, что означает, что оно примерно такое же, как сжатие JPEG).
BLOCKQUOTE>
Качество видео и степень сжатия зависят от структуры группы изображений (GOP) . Структура GOP также влияет на чувствительность к искажениям видеопотока из-за потерь пакетов.
Увеличение длины GOP также повышает качество видео. Но после достижения самого высокого PSNR (пикового отношения сигнал / шум) оно начинает уменьшаться. В первом увеличивающемся периоде эффективное кодирование играет основную роль, поэтому большая длина GOP приводит к лучшему качеству. После оптимальных настроек GOP, когда качество видео самое высокое, эффект распространения ошибки становится более значительным. Следовательно, при использовании более высоких внутрикадровых (I-frame или Key frame) интервалов ошибка будет распространяться из-за значительных искажений. Source sup>
Каждый тип видео имеет различную оптимальную GOP, зависит от его характеристики.
Видео или движущиеся изображения - мы просто обманываем наши умы; это просто неподвижные изображения, отображаемые в быстрой последовательности! И иллюзия становится лучше и плавнее, если следующий кадр появляется в / до Иллюстрация 1: (источник: Википедия) sup> Рис. Последовательность видеокадров, состоящая из двух ключевые кадры (I), один прогнозируемый в прямом направлении кадр (P) и один прогнозируемый в двух направлениях кадр (B). (Вы можете заметить, что на изображении выше значение GOP, Иллюстрация 2: < sup> (источник: Википедия) sup> Рис: Очень простая анимация, созданная с помощью ключевых кадров. Анимации не хватает плавности, потому что каждый кадр полностью независим от любого другого кадра. 1/25
-го sup> секунды, который является интервалом времени стойкости остаточного изображения человеческого глаза и причиной восприятия движения . [+1149]
-g
равно 3, один ключевой кадр с двумя вспомогательными кадрами.)
Возможные вопросы и ответы:
Q. Разве ключевые кадры не достаточно? Зачем нам нужны дополнительные / промежуточные P-кадры, B-кадры ?
A. Да ... но использование таких промежуточных кадров позволяет уменьшить общий размер файла (видео).
Для лучшего качества видео / потоковой передачи вы должны использовать низкую степень сжатия, но высокую частоту кадров, что означает высокое значение -g
с avconv
(оптимальное значение GOP составляет почти половину значение кадров / сек ). Очевидно, что значение для -g
должно быть указано на основе кодеров , степени сжатия, частоты кадров , которые вы используете для целей транскодирования / потоковой передачи; это относительная величина, поэтому нет общего значения, которое вы можете использовать со всеми входами.
Согласно этой ссылке значение GOP для большинства носителей будет примерно вдвое меньше частоты кадров , так что ключевой кадр будет около 0.5
секунд. отдельно и будет производить видео хорошего качества. Мы также можем отметить, что другая ссылка показывает, что PSNR достигает постоянного значения примерно в половине тестовой частоты кадров, как показано на графике графика.
Но оптимальное значение, кажется, находится в пределах от 1/6
th sup> до 1/4
th sup> тестовая частота кадров.
И да, так что вы должны использовать значение -g
вокруг или в диапазоне 1/6
th sup> до 1/4
th sup > , чтобы ключевые кадры появлялись каждые 0.17
- 0.25
секунд ; и, вероятно, прокомментируйте, чтобы улучшить ответ:)
Ссылки: