#ffmpeg #command-line
Вопрос:
Я использую FFMPEG для ускорения видео и добавления водяного знака. Водяной знак-это процент от размера видео.
Для ускорения я использую
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
и для добавления водяного знака я использую
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo];[logo]overlay=5:H-h-5" -c:a copy output.mp4
Оба хорошо работают сами по себе. Я пытаюсь объединить их в единую команду. Есть много вопросов/ответов, касающихся подобных проблем, которые я мог бы найти, однако они кажутся либо устаревшими, либо я просто не могу заставить их работать.
Чтобы объединить фильтры, которые я прочитал, нужно просто добавить запятую, но это, похоже, не работает
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo];[logo]overlay=5:H-h-5,[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
Команда будет выполнена без ошибок и добавит водяной знак, но фильтр аудио/видео не применяется.
Предложения?
Спасибо
Ответ №1:
Объединенная команда:
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo];[logo]overlay=5:H-h-5,setpts=0.5*PTS;[0:a]atempo=2.0" output.mp4
Соедините линейные фильтры запятой. Соедините цепочки фильтров точкой с запятой. См. Введение к фильтрации FFmpeg.