что является правильным способом для текста в многопроходном кодировании с использованием ffmpeg

cpulimit -l 180 ffmpeg-static / ffmpeg -ss 0 -t 8.96 -i ‘/ var / www / html / Videos2 / Персонаж Джек / С днем ​​рождения / с днем ​​рождения scene.mp4’ -filter_complex ‘[0] drawtext = textfile = scene2. txt: fontsize = 199.68: fontfile = / var / www / html / fonts / Arial.ttf: x = 288: y = 409: fontcolor_expr = ffffff% {eif \: clip (1+ (255 * t / 4) \, 0 \, 255) \: x \: 2} ‘-pass 1 -f h264 -y -> / dev / null &&

cpulimit -l 180 ffmpeg-static / ffmpeg -ss 0 -t 8.96 -i ‘/ var / www / html / Videos2 / Персонаж Джек / Happy / Happy Birthday scene.mp4’ -i ‘/ var / www / html / Userfiles / Пользователи / blaze / Projects / earl3x / audio / scene2_music.x.mp3 ‘-filter_complex’ [1] громкость = 0,95 [au1]; [0] [au1] amix = input = 2: duration = кратчайший ‘-c: v копия -c: библиотека libmp3lame -pix_fmt yuv420p -preset сверхбыстрый -shortest -movflags faststart -y -pass 2 / var / www / html / Userfiles /Users/blaze/example/earl4x/scene2.mp4

Чего я пытаюсь достичь?
кодирование текстовых элементов / графики при первом проходе
и кодирование звука (аудио) на втором проходе

первый проход и второй проход работает нормально (без ошибок вообще)
и на выходе нет артефакта.

Однако текст совершенно не где найти!
кажется, что второй проход не имел понятия, что это был первый проход с закодированным текстом.

какой будет правильный способ запустить / отформатировать команду?

Спасибо

0

Решение

я решил это

мне пришлось пройти другой метод


-сгенерировать видео с помощью текста рисования (не анализируйте параметр -pass 1)
просто запустите свой вывод нормально

-укажите выходной URL-адрес в качестве входного URL-адреса следующей команды (используйте -y и не запоминайте пропуски)

  • добавить аудиофайл в качестве второго входного параметра

-вывести окончательный файл

обратите внимание, что вещи могут стать очень грязными, если у вас есть ряд сложных комбинаций

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

0

Другие решения

Drawtext должен быть применен оба раза. На первом этапе генерируется видео, анализируется видео, а затем отбрасывается его, поэтому на втором этапе также должен присутствовать drawtext.

ffmpeg -ss 0 -t 8.96 -i '/var/www/html/Videos2/Character Jack/Happy/happy birthday scene.mp4' \
-filter_complex \
'[0] drawtext=textfile=scene2.txt:fontsize=199.68:fontfile=/var/www/html/fonts/Arial.ttf: \
x=288:y=409: \
fontcolor_expr=ffffff%{eif\: clip(1+(255*t/4)\, 0\, 255)\:x\:2}' \
-pass 1 -c:v libx264 -f null -

2-й проход:

ffmpeg -ss 0 -t 8.96 -i '/var/www/html/Videos2/Character Jack/Happy/happy birthday scene.mp4' \
-i '/var/www/html/Userfiles/Users/blaze/Projects/earl3x/audio/scene2_music.x.mp3' \
-filter_complex \
'[0] drawtext=textfile=scene2.txt:fontsize=199.68:fontfile=/var/www/html/fonts/Arial.ttf: \
x=288:y=409: \
fontcolor_expr=ffffff%{eif\: clip(1+(255*t/4)\, 0\, 255)\:x\:2}[v];
[1]volume=0.95 [au1]; [0][au1] amix=inputs=2:duration=shortest[a]' -map "[v]" -map "[a]" \
-pass 2 -c:v libx264 -c:a libmp3lame -pix_fmt yuv420p -preset ultrafast -shortest \
-movflags +faststart -y \
/var/www/html/Userfiles/Users/blaze/example/earl4x/scene2.mp4
0

По вопросам рекламы [email protected]