FFMPEG обрезается и -t игнорируется для фильтра PSNR? - PullRequest
0 голосов
/ 14 ноября 2018

Я хотел выполнить проверку PSNR для закодированного сегмента, но избегать извлечения сегмента в кодеке без потерь для сравнения. Я просто хотел обрезать ввод, но похоже, что это отключено.

Моя команда:

ffmpeg -i original.mp4 -i segment.mp4 -filter_complex "[0:v]trim=10:20,setpts=PTS-STARTPTS[0v];[1:v]setpts=PTS-STARTPTS[1v];[0v][1v]psnr" -f null -

Это будет проходить через весь исходный входной файл и не обрезать видео в фильтре.

Если я попытаюсь обрезать ввод с помощью -ss и -t, будет работать только флаг ввода -ss. Он установит правильный ввод, но проигнорирует отметку времени -t.

ffmpeg -ss 10 -i original.mp4 -t 10 -i segment.mp4 -filter_complex [0:v][1:v]psnr -f null - 

Различное размещение -t не будет иметь никакого эффекта.

Я также пытался установить обрезку duration, сохраняя работающий вход -ss.

ffmpeg -ss 10 -i original.mp4 -i segment.mp4 -filter_complex "[0:v]trim=duration=10,setpts=PTS-STARTPTS[0v];[1:v]setpts=PTS-STARTPTS[1v];[0v][1v]psnr" -f null - 

Я пробовал это с end и end_frame, но ни один из них не работал.

То же самое относится, если я использую -lavfi вместо -filter_complex.

Я кратко рассмотрел исходный код фильтра PSNR, но не смог найти никаких ссылок на trim или -t.

Эта функция заблокирована или я что-то не так делаю? Был бы альтернативный способ сделать это без кодирования версии без потерь того же сегмента для сравнения?

1 Ответ

0 голосов
/ 14 ноября 2018

Исходная команда почти в порядке. Однако порядок входов следует поменять местами, а при наличии звука его следует отключить.

ffmpeg -i original.mp4 -i segment.mp4 -filter_complex "[0:v]trim=10:20,setpts=PTS-STARTPTS[0v];[1:v]setpts=PTS-STARTPTS[1v];[1v][0v]psnr" -an -f null -

Также, во фрагменте ниже

ffmpeg -ss 10 -i original.mp4 -t 10 -i segment.mp4

если вы намеревались ограничить длительность original.mp4, то -t 10 следует поместить перед -i original.mp4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...