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

[0:v]scale=640:480 [temp0];
[0:v] setpts=PTS-STARTPTS-1/TB, scale=128x96 [firsthistory];
[0:v] setpts=PTS-STARTPTS-1/TB, scale=128x96 [secondhistory];
[temp0][firsthistory] overlay=shortest=1:x=480:y=28  [temp1];
[temp1][secondhistory] overlay=shortest=1:x=480:y=139

Для этого нужно снять видео, а затем поместить два подэкрана с правой стороны, которые показывают, что видео сдвинуто вперед во времени. Чтобы установить время для заголовков, я использую setpts = PTS-STARTPTS-n/TB, где n - количество секунд для смены времени. Это работает, но, честно говоря, я этого не понимаю.

Во всяком случае, это работает, когда n = 1. Если я переместу видео дальше вперед, получающееся качество видео будет плохим. Вывод видео прерывистый, например, с использованием приведенного ниже n = 2,4:

[0:v]scale=640:480 [temp0];
[0:v] setpts=PTS-STARTPTS-2/TB, scale=128x96 [firsthistory];
[0:v] setpts=PTS-STARTPTS-4/TB, scale=128x96 [secondhistory];
[temp0][firsthistory] overlay=shortest=1:x=480:y=28  [temp1];
[temp1][secondhistory] overlay=shortest=1:x=480:y=139

Полные параметры ffmpeg

'-i',
'b77b24e5-27a6-459b-aa11-8f79e0162659.mpeg',
'-filter_complex',
'[0:v]scale=640:480 [temp0];[0:v] setpts=PTS-STARTPTS-2/TB, scale=128x96 [firsthistory];[0:v] setpts=PTS-STARTPTS-4/TB, scale=128x96 [secondhistory];[temp0][firsthistory] overlay=shortest=1:x=480:y=28  [temp1];[temp1][secondhistory] overlay=shortest=1:x=480:y=139',
'-c:v',
'libvpx',
'-b:v',
'1M',
'-c:a',
'libvorbis',
'-vf',
'scale=960:-1',
'50649689680c6e5976d1d7fb3fd603259c2ab6e0.webm'

1 ответ1

0

Я закончил тем, что не использовал setpts, чтобы задержать видео наложения. Вместо этого я беру несколько входов из одного и того же файла, некоторые сдвинуты по времени с -itsoffset. Параметры:

'-i',
'2c15d5be-2b61-4c0d-b394-7f3d45f6ca7f.mpeg',
'-itsoffset',
-6,
'-i',
'2c15d5be-2b61-4c0d-b394-7f3d45f6ca7f.mpeg',
'-itsoffset',
-3,
'-i',
'2c15d5be-2b61-4c0d-b394-7f3d45f6ca7f.mpeg',
'-filter_complex',
'[0:v] scale=640:480 [temp0];[1:v] scale=128x96 [firsthistory];[2:v] scale=128x96 [secondhistory];[temp0][firsthistory] overlay=x=480:y=28  [temp1];[temp1][secondhistory] overlay=x=480:y=144',
'-c:v',
'libvpx',
'-b:v',
'1M',
'-c:a',
'libvorbis',
'-vf',
'scale=960:-1',
'50649689680c6e5976d1d7fb3fd603259c2ab6e0.webm'

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