1

Я ищу способ для автоматической проверки 3 видеофайлов одного и того же контента, но с использованием 3 разных разрешений (320x180, 640x360, 1280x720), а также для определения пропущенных кадров и замены произведенных кадров от ключевого кадра к ключевому кадру со звуком, обеспечивая наличие линий звуковых сигналов. с другими файлами.

По сути, каждый файл будет иметь одинаковое количество кадров, и каждый аудиоволновой файл будет располагаться точно в каждом отдельном файле.

Возможно ли это с помощью ffmpeg?

1 ответ1

0

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

Выявление пропущенных кадров:

!/ Бен / Баш

rm framediffs.lis

ffmpeg -i MPEG0004.AVI f% d.png

framenum = 1, в то время как [$ framenum -lt 50] do file1 = f $(($ framenum)). png file2 = f $(($ framenum + 1)). png сравнить -метрическое RMSE $ file1 $ file2 NULL: 2> diff.lis fdiff = cat diff.lis |cut -d ' ' -f 1 echo $ file1 $ file2 $ fdiff >> framediffs.lis framenum = $(($ framenum + 1)) готово

кошка framediffs.lis

Имитация некоторых пропущенных кадров:

сравнить -метрическое СКО f45.png f47.png NULL: сравнить -метрическое СКО f45.png f48.png NULL: сравнить -метрическое RMSE f46.png f48.png NULL: сравнить -metric RMSE f47.png f50.png NULL:

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

Вырезание сегмента без перекодирования: ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4

Или заменить сегмент из файла, который не показывает потери ...

Замена сегмента из хорошего файла: ffmpeg -i in.mp4 -vf trim = X -c: копия out.mp4 ffmpeg -i in.mp4 -vf trim = X, setpts = 'if(eq(N, 0), 0, PTS)'-c: копия out.mkv

Если это аудио-зависимость, извлеките аудио, а затем ремукс плохой файл ...

Извлечение аудио из файла и повторное смешивание (я думаю, что выбор сегмента из двух ключевых кадров возможен): ffmpeg -i vid.mkv -map 0:2 -ac 2 aud.wav avconv -i INPUT_FILE_WITH_BROKEN_SOUND.mp4 -i SECOND_INPUT_FILE.mkv -c копия -карта 0:v:0 -карта 1:a:1 OUTPUT.mp4

Как я уже сказал, я новичок и был бы признателен за мысли, чтобы избежать потери времени. Спасибо!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .