FFmpeg drawtext не работает на комплекс фильтров с водяным знаком на php - PullRequest
0 голосов
/ 14 октября 2018

После того, как я задал вопрос по этой теме, я получил отличный ответ от LordNeckbeard и признателен за помощь, но по-прежнему не работает ничья и не могу понять, что может быть не так.Так что все работает, если я опускаю drawtext = text = 'hello' в обеих этих строках, но как только я добавляю drawtext, не создается output.gif.

$cmd1 = "$ffmpeg -ss 00:00:02 -t 00:00:02 -i $file_full_path -i $watermark -filter_complex '[0]fps=15,scale=200:113:flags=lanczos[bg];[bg][1]overlay=5:5,drawtext=text='hello',palettegen' $palette";
$cmd2 = "$ffmpeg -ss 00:00:02 -t 00:00:02 -i $file_full_path -i $watermark -i $palette -filter_complex '[0]fps=15,scale=200:113:flags=lanczos[bg];[bg][1]overlay=5:5,drawtext=text='hello'[x];[x][2]paletteuse=dither=bayer:bayer_scale=3' -loop -1 output.gif";
shell_exec($cmd1);
shell_exec($cmd2);

Я попытался изменить одинарные кавычки надвойной, но ничего не изменится.Также пробовал с exec ().Или возможно, что на моем сервере отсутствует библиотека и из-за этого не работает drawtext?Поэтому я попытался разобраться, чтобы проверить, где это неправильно, упростив cmd до:

$cmd1 = "$ffmpeg -i $file_full_path -ss 00:00:02 -t 00:00:02 -r 20 -vf scale=200:113,drawtext=text='hello' output.gif";

, и файл output.gif создан, но 0 байтов.что бы это могло быть?

Еще раз спасибо LordNeckbeard за его ответ на мой предыдущий пост.Любой ответ будет очень полезен.

...