ffmepg - Как уменьшить размер видео с большим количеством неподвижных изображений

Чтобы найти номер строки этой строки:

lineno=$( nl file | tac | awk '/pattern1/ {last = $1} /pattern2/ {print last; exit}' )

Использование nlдля добавления номеров строк в файл,
tacчтобы поменять местами линии,
и awkдля печати номера строки для последнего "шаблона1" перед и первого "шаблона2".

А затем удалить эту строку:

sed -i "${lineno}d" file
2
19.01.2020, 23:37
1 ответ

Примерно это и должна делать CRF; Предполагается, что CRF поддерживает постоянное качество восприятия. В качестве альтернативы, если вам нужно ориентироваться на определенный размер файла, вы можете использовать режим двух проходов -(с -passи -passlogfile), где первый проход должен определять, какие сцены нуждаются в битах, а второй проход выделяет биты как можно лучше.

Некоторые коды имеют параметры настройки для разных типов видео — например, если вы кодируете в H.264, попробуйте настроить неподвижное изображение или анимацию. (И, конечно же, попробуйте изменить кодеки, если это возможно. Или, в зависимости от типа изображения, включите 10 бит для H.264, опять же, если это возможно.)

Возможно, стоит повозиться с определением смены сцены и ключевыми кадрами. Много раз вам нужен один с вашим неподвижным изображением; наихудший возможный код часто заключается в том, чтобы изначально отображать неподвижное изображение, полное артефактов, и иметь ключевой кадр в середине, где он внезапно становится четким...Есть куча вариантов вокруг этого; грубая -сила — это -force_key_frames.

Если больше ничего не работает, вы можете использовать -rc_overrideдля ручной установки квантователя/коэффициента качества для каждого -кадра. В частности, если вы установите остальные параметры, чтобы сделать неподвижные кадры приемлемыми, вы можете использовать их для исправления анимированных частей. Но это крайняя мера, так как работы много!

Однако, в зависимости от того, что представляют собой неподвижные кадры, они могут занимать много битов. Кодирование видео в значительной степени заключается в том, чтобы выяснить, как выразить движение как можно меньшим количеством битов; сложные неподвижные кадры просто занимают много битов, тем более что у зрителя достаточно времени, чтобы заметить любые артефакты.

Я не уверен, знаете ли вы о сайте видеопроизводства Stack Exchange ; это может быть хорошим местом для вопросов.

1
27.01.2020, 22:16

Теги

Похожие вопросы