Параметр quality, качество - в большинстве случаев проще всего оставлять в значении по умолчанию (0), что подразумевает, что ffmpeg сам постарается определить, в каком качестве лучше отконвертировать видео для достижения наиболее оптимального конечного результата. Всегда можно конечно попробовать поставить ручные значения, где 1 - это самый увесистый файл, и 51 - самый маленький, но растерявший по ходу конвертации все свои детали. Но по моему личному опыту, ffmpeg автоматически определяет это параметр гораздо адекватнее, чем мои ручные попытки угадать, что ему будет лучше.
Комментарий недоступен
Респект за реализацию на nvenc
что я делаю не так?
ещё в пункте FPS введи 29 или 30. по умолчанию парсер иногда парсит какое-то странное значение, на скрине видно. это я тоже победить не смог.
всё верно делаешь, просто там какая-то проблема с файлами, у которых в названиях много точек. если убрать из названия все точки кроме расширения - всё начинает работать корректно. к сожалению я так и не понял в чём причина такого поведения.
Другим его будет сложновато под себя адаптировать.
Например, -crf 0 в ffmpeg обычно означает lossless-качество, но в SVT-AV1 этот режим (пока) не сделали*, поэтому по счастливой случайности выбирается авто-качество. А вот в libaom-av1 сделали.
-async 1 мог перекочевать из других советов, потому что это неочевидная опция ресемплера**, заданная неочевидным образом***, нужна ли она на самом деле - можно долго думать.
Есть ошибка в zscale=width=%width%:height=-1, из-за 4:2:0 надо сделать высоту гарантированно кратной двум (height=-2).
hwaccel логично сделать целиком отключаемым, а выбор кодека хардкодить под себя.
Комментарии помогают.
* https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1636
** https://ffmpeg.org/ffmpeg-resampler.html#:~:text=async
*** https://ffmpeg.org/ffmpeg-resampler.html#:~:text=may%20be%20set%20by%20specifying%20-option
Например, -crf 0 в ffmpeg обычно означает lossless-качество, но в SVT-AV1 этот режим (пока) не сделали*, поэтому по счастливой случайности выбирается авто-качество. А вот в libaom-av1 сделали.
Видимо раньше означало. В двух двугих перекодировщиках в cq значение "0" означает автоматическое определение. Выполни ffmpeg -h encoder=h264_nvenc или ffmpeg -h encoder=hevc_nvenc, посмотри что он тебе выдаст. Подскажу: "-cq E..V....... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)"
Есть ошибка в zscale=width=%width%:height=-1, из-за 4:2:0 надо сделать высоту гарантированно кратной двум (height=-2).
Не понял проблему, если честно. У меня всё норм.
hwaccel логично сделать целиком отключаемым, а выбор кодека хардкодить под себя.
Без проблем. Сделай себе если тебе это надо.