конвертировать мультивидео из 1080p в 720p и добавлять водяные знаки? [закрыто]

я спрошу еще раз у меня много видео, например сериалы (dark - la casa de papel - game of thrones) все без субтитров и водяных знаков { {1}} сначала я записываю субтитры с помощью ручного тормоза сек. Я использую ffmpeg для записи водяных знаков с видео по этому коду

для% i в ("C: \ Users \ shady \ Downloads \ convert \ 01 *. mp4 ") do ffmpeg -i"% i "-i C: \ Users \ fady \ Downloads \ convert \ shady.png -filter_complex" overlay = main_w-overlay_w-10: 10 "-codec: a copy" C: \ Users \ shady \ Downloads \ convert \ new01% ~ ni.mp4 "

, затем я конвертирую его в 720p с помощью этого кода

для% i в (C: \ Users \ shady \ Downloads \ convert \ 01 * .mp4) выполните ffmpeg -i "% i" -c: a copy -s hd720 "C: \ Users \ shady \ Downloads \ convert \ new01% ~ ni.mp4 "

теперь мой вопрос , если я хочу записать субтитры для сериала« Темные все сезоны »с моим водяным знаком, а финальный файл получится с разрешением 720p с субтитрами с водяным знаком вверху справа

, могу ли я это сделать ?

водяной знак png субтитры srt фильмы идут с mkv, а не mp4 (я хочу, чтобы окончательный файл был с mp4)

-1
задан 19 November 2020 в 23:36

1 ответ

Что касается названия вопроса - почему бы просто не добавить к вашей первой команде (водяной знак) выходной размер: -s hd720

Это экономит шаг.

Для субтитров добавьте в команду:

subtitles=subtitle.srt

Но вам может понадобиться добавить библиотеки фильтров или найти правильную сборку ffmpeg. Подробности объясняются здесь: https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo

Это не вопрос Ubuntu... Не совсем так, но ладно..

Редактировать: Хотя я только сейчас понял, что это Windows + ffmpeg, вот еще ответ...

Ubuntu 20.04 (CLI) + ffmpeg

Установите ffmpeg:

apt-get install -y ffmpeg

Выполните для «пакетную» команду:

for i in some-series-of-names-*.mp4; do echo ${i%%.*}; ffmpeg -i ${i%%.*}.mp4 -i some-logo.png -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:10,subtitles=${i%%.*}.srt" -codec:a copy -s hd720 ${i%%.*}-ubuntu.mp4; done

Windows 10 + ffmpeg

Получите ffmpeg где угодно. Затем запустите команду в cmd.exe:

for %i in (some-series-of-names-*.mp4) do echo %~ni.mp4 && ffmpeg -i %~ni.mp4 -i some-logo.png -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:10,subtitles=%~ni.srt" -codec:a copy -s hd720 %~ni-windows.mp4

Объяснение

bash / cmd

${i%%.*} удаляет расширение и будет просто использовать строку имени файла i ; в Windows cmd.exe та же самая функция выполняется вызовом %~ni

ffmpeg

  • -filter_complex может выполнять все виды наложений и тому подобное, так что вы может протолкнуть через него и подзаголовок, и логотип
  • -i some-logo.png имя логотипа (изображения водяного знака)
  • overlay=main_w-overlay_w-10:10 добавляет на экран наложение, похожее на водяной знак
  • subtitles=%~ni.srt жестко кодирует субтитры ; субтитры должны иметь то же имя, что и входной файл mp4 (то есть пары movie.mp4 и movie.srt)
  • -codec:a копировать копирует аудио без изменений
  • -s hd720 изменяет размер на 720p
  • %~ni-newname.mp4 — это то, как будет называться выходное видео, например. movie.mp4 будет называться movie-newname.mp4
0
ответ дан 19 November 2020 в 20:46

Другие вопросы по тегам:

Похожие вопросы: