 |
|
"брак" при склейке видео через ffmpeg
Добрый.
обрабатываю видео mp4 в ffmpeg.
Первоначальные видео делаются в Camtasia.
Потом от каждого отрезается 7 секунд в начале.
Код:
#ШАПКА
$ffmpeg = "E:\!!Youtube\автосборка_роликов\ffmpeg\ffmpeg\bin\ffmpeg.exe" #путь до ffmpeg.exe
$cut = "7" #количество секунд, которое нужно обрезать в начале каждого ролика
start-process "$ffmpeg" -arg "-i $сut_name1.mp4 -ss $cut -vcodec copy -acodec copy $сut_name1.mp4.mp4" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name2.mp4 -ss $cut -vcodec copy -acodec copy $сut_name2.mp4.mp4" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name3.mp4 -ss $cut -vcodec copy -acodec copy $сut_name3.mp4.mp4" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name4.mp4 -ss $cut -vcodec copy -acodec copy $сut_name4.mp4.mp4" -Wait -NoNewWindow
Потом перекод в ts, потом склейка.
Код:
#перекодируем все файлы перед склейкой
start-process "$ffmpeg" -arg "-i $name1 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts $name1.ts" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name1.mp4.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts $сut_name1.ts" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name2.mp4.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts $сut_name2.ts" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name3.mp4.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts $сut_name3.ts" -Wait -NoNewWindow
start-process "$ffmpeg" -arg "-i $сut_name4.mp4.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts $сut_name4.ts" -Wait -NoNewWindow
#Cобираем видео
start-process "$ffmpeg" -arg "-i concat:$name1.ts|$сut_name1.ts|$сut_name2.ts|$сut_name3.ts|$сut_name4.ts -vcodec copy -acodec copy $name1_path\!8_минут_видео.mp4" -Wait -NoNewWindow
В финальном файле следующая проблема....
В местах склейки ... при переходе от одного видео к другому - идет просто черный экран 1-3 секунды. При этом музыка идет сразу нормалльно.
Т.е звук пошел, а вместо видео 1-3 секунды черный экран... потом появляется видео.
Как это исправить в финальном файле? Или что сделать чтобы в нем этого не было? Посредством ffmpeg.
Спасибо.
|
DJ Mogarych |
05-07-2021 09:35 2961437 |
Прочтите статью и экспериментируйте.
https://trac.ffmpeg.org/wiki/Seeking
Ещё оттуда:
Цитата:
Using -ss as input option together with -c:v copy might not be accurate
|
Чтобы упростить задачу в будущем, захватывайте в Камтазии видео в формате, где каждый кадр ключевой, например, MJPEG.
И зачем перекодировать в .ts?
|
Цитата:
Цитата DJ Mogarych
И зачем перекодировать в .ts? »
|
как я понял это чтобы склейка была без потери качества (хоть мне это и не очень важно), и к тому же "concat:" не работает с Mp4
а обычный concat требует предварительного создания list.txt (хотя это тоже не важно)
Мне бы получить желаемый результат)
|
DJ Mogarych |
05-07-2021 16:00 2961477 |
Цитата:
Цитата 9119
чтобы склейка была без потери качества »
|
Вы одним перекодированием в TS теряете гораздо больше.
Если тяжело с ffmpeg, воспользуйтесь AviDemux, там и резать можно по ключевым кадрам, и склеивать.
|
DJ Mogarych,
все таки сделал через ffmpeg.
c использованием команды -copyts. результат меня устроил.
|
Время: 01:27.
© OSzone.net 2001-