Я хотел бы указать переменную частоту кадров со значением MAXIMUM, и позволить libx264 снизить частоту кадров, как он считает нужным. Идея в том, чтобы получить дополнительное сжатие, когда есть что-то вроде расширенного кадра
В моем понимании, это может быть сравнительно неуклюжим образом, но нежелательно по ряду сложных и нелогичных причин.
Несмотря на то, что поток x264 имеет частоту (и) кадров, частота кадров является скорее проблемой уровня контейнера, чем кодека.
В сквозном кодировании VFR будет существовать текстовый файл, подробно описывающий частоту кадров по сравнению с тем, какие кадры / времена, и при кодировании источника функция, такая как tcfile-in или tcfile-out, передает временные метки до кодирования. , чтобы отобразить скорость расположения и сохранить видео субъективно согласованным с источником.
Идея с низкой частотой кадров логична, но не работает по нескольким причинам. Хотя x264 поддерживает VFR и обладает некоторыми возможностями, я не думаю, что есть функция анализа, которая будет изменять частоту кадров в зависимости от движения, чтобы уменьшить размер файла (аналогично многим элементам управления битрейтом).
Источник также представляет собой проблему: источники VFR по умолчанию сохранят изменчивость своего кадра, но, по-видимому, кодирование файла CFR с переменной скоростью передачи битов (иногда это хорошая идея, особенно когда требуется телесин) просто приведет к тому же CFR.
Это означает, что вам, вероятно, придется переписывать битрейт вручную (т. Е. Временные метки медленных сцен, передаваемых в файл), или прибегать к алгоритму децимации кадров, например dup, dedup и correctDedup для avisynth. Если ваше видео имеет очень низкое движение, некоторые кадры (даже половина?) будет выброшен Проблема состоит в том, что эти алгоритмы не являются передовыми и не делают правильный выбор с "реальными" кадрами относительно того, что будет способствовать лучшему кодированию.
Кроме того, удаление кадров, содержащих такие вещи, как кадры I и B, уменьшает количество деталей, доступных со временем, что приводит к тому, что движение выглядит "крутым" и может мешать другим основным параметрам видео и вызывать такие артефакты, как наложение имен.
И из-за того, как работают квантизаторы, x264 на самом деле значительно снизит битрейт в этих сценах с низким движением. Если у вас нет слайд-шоу с идентичными изображениями, будет движение (если только зерно и другие артефакты), и будет потеря качества, которая не будет видна без радикальных изменений битрейта.
И, наконец, причина того, что вариантов сделать то, что вам нужно, не так много, заключается в том, что x264 действительно хорош в управлении скоростью передачи битов, просто используя временное сжатие (запись изменений в частичных кадрах). Переход на 1/2 частоты кадров не уменьшит размер файла вдвое; 10% - это, вероятно, реальный выигрыш от слабого движения или анимации.
Короче говоря, удаление битрейта ваших статических сцен будет очень мало для вашего размера файла, но добавит множество проблем с качеством и синхронизацией, не говоря уже о несовместимости с программным обеспечением для редактирования видео.
Если вы хотите попробовать дециматор, вы можете ограничить максимальную частоту кадров, используя параметры уровней, для каждого из которых установлено максимальное разрешение и частота кадров. К сожалению, вам, вероятно, придется работать с очень низким разрешением, чтобы получить желаемую частоту кадров, используя профили. Он возвращается к редактированию ставок вручную, либо полностью, либо к коррекции кадров, которые вы считаете слишком высокими. В любом случае, для поддержания звука в синхронизации с новыми частотами кадров потребуется жонглирование, если после процесса кодирования будут внесены изменения, когда tcfile будет сохранен.
Вывод заключается в том, что затрачивая время на оптимизацию множества настроек битрейта, вы получите гораздо больше возможностей для управления размером файлов и повышения качества видео, чем вызовете осложнения при небольшом выигрыше. Сохранение оригинального FPS является, вероятно, лучшей идеей, если вы не стремитесь к стандартам вещания или медиа. Плееры способны воспроизводить переменные битрейты (в отличие от редакторов), и чем больше кадров в вашем видео, тем плавнее воспроизведение и, возможно, меньший размер файла, благодаря меньшим изменениям движения между кадрами.
Вот коллекция ссылок на информацию о стандартах и обсуждения на форумах, которые должны помочь с этим запутанным аспектом кодирования:
- инструменты для прореживания avisynth
- переключатели fps и -r
- x264 General (tcfile, fps)
- стандарты файлов временного кода
- Уровни и профили
- Короткая, понятная сводка настроек CFR/VFR (раздел "частота кадров")
doom9, videohelp, & c теоретические дискуссии
1 2 3 4 5 6 7