Я успешно добавляю оверлей с x264 и -vf этой командой:

РАБОТАЮЩИЙ Х264 КОДЕКС С ВОДЯНЫМ ЗНАКОМ:

ffmpeg -i /private/youtube/$i -acodec aac -ac 2 -strict experimental -vf 'movie=/user_ftp/1037/watermarks/w640X360.png [logo];[in][logo] overlay=0:0 [out]' -crf 24 -ab 160k -s 640x360 -vcodec libx264 -preset faster -profile:v baseline -level 30 -maxrate 1500k -bufsize 2200k -b:v 1200k -f mp4 -threads 0 -y  /user_ftp/1037/$i.mp4

Тем не менее, при моем двухпроходном кодировании webm и том же коде видео кодируется, но водяные знаки не помещаются. -Vf не работает при кодировании в webm?

НЕ РАБОТАЕТ - ВИДЕО КОДЕТЫ БЕЗ ВОДОПАРКА:

Webm Pass 1

ffmpeg -i /youtube/$mediaboxid/$i -codec:v libvpx -quality good -vf 'movie=/media/raid2/uploads/user_ftp/1037/watermarks/w400X224.png [logo];[in][logo] overlay=0:0 [out]' -filter:v scale=400:224 -cpu-used 0 -b:v 500k -qmin 10 -qmax 42 -maxrate:v 500k -bufsize:v 1000k -threads 0  -an -pass 1 -f webm -y /dev/null

Webm Pass 2

ffmpeg -i /youtube/$mediaboxid/$i -codec:v libvpx -quality good -vf 'movie=/user_ftp/1037/watermarks/w640X360.png [logo];[in][logo] overlay=0:0 [out]' -filter:v scale=640x360 -cpu-used 0 -b:v 500k -qmin 10 -qmax 42 -maxrate:v 500k -bufsize:v 1000k -threads 0 -an -pass 2 -f webm -y /user_ftp/1037/$i.webm

Есть ли какие-либо известные проблемы с WebM?

1 ответ1

2

Не должно быть особых проблем с кодировкой WebM. Как упоминал LordNeckbeard, в ваших командных строках WebM есть и опция -vf опция -filter:v , но это одно и то же (два разных способа указать набор фильтров для применения к видео). Вы можете использовать несколько видеофильтров, но указать их, используя один параметр -vf или -filter:v .

Вы должны использовать -filter_complex вместо -vf для фильтрации, включающей несколько входов: это разница между простым и сложным фильтром графа. Это также легче понять, потому что вы можете избежать фильтра исходного movie.

Если вы хотите, чтобы scale фильтр был применен к результату overlay:

ffmpeg -i video.mp4 -i logo.png -filter_complex overlay,scale=640:-1 ... output

Если вы хотите, чтобы scale применялся только к исходному вводу, а не к overlay просто переключите расположение фильтров:

ffmpeg -i video.mp4 -i logo.png -filter_complex scale=640:-1,overlay ... output

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