Чтобы найти номер строки этой строки:
lineno=$( nl file | tac | awk '/pattern1/ {last = $1} /pattern2/ {print last; exit}' )
Использование nl
для добавления номеров строк в файл, tac
чтобы поменять местами линии,
и awk
для печати номера строки для последнего "шаблона1" перед и первого "шаблона2".
А затем удалить эту строку:
sed -i "${lineno}d" file
Примерно это и должна делать CRF; Предполагается, что CRF поддерживает постоянное качество восприятия. В качестве альтернативы, если вам нужно ориентироваться на определенный размер файла, вы можете использовать режим двух проходов -(с -pass
и -passlogfile
), где первый проход должен определять, какие сцены нуждаются в битах, а второй проход выделяет биты как можно лучше.
Некоторые коды имеют параметры настройки для разных типов видео — например, если вы кодируете в H.264, попробуйте настроить неподвижное изображение или анимацию. (И, конечно же, попробуйте изменить кодеки, если это возможно. Или, в зависимости от типа изображения, включите 10 бит для H.264, опять же, если это возможно.)
Возможно, стоит повозиться с определением смены сцены и ключевыми кадрами. Много раз вам нужен один с вашим неподвижным изображением; наихудший возможный код часто заключается в том, чтобы изначально отображать неподвижное изображение, полное артефактов, и иметь ключевой кадр в середине, где он внезапно становится четким...Есть куча вариантов вокруг этого; грубая -сила — это -force_key_frames
.
Если больше ничего не работает, вы можете использовать -rc_override
для ручной установки квантователя/коэффициента качества для каждого -кадра. В частности, если вы установите остальные параметры, чтобы сделать неподвижные кадры приемлемыми, вы можете использовать их для исправления анимированных частей. Но это крайняя мера, так как работы много!
Однако, в зависимости от того, что представляют собой неподвижные кадры, они могут занимать много битов. Кодирование видео в значительной степени заключается в том, чтобы выяснить, как выразить движение как можно меньшим количеством битов; сложные неподвижные кадры просто занимают много битов, тем более что у зрителя достаточно времени, чтобы заметить любые артефакты.
Я не уверен, знаете ли вы о сайте видеопроизводства Stack Exchange ; это может быть хорошим местом для вопросов.