я спрошу еще раз у меня много видео, например сериалы (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)
Что касается названия вопроса - почему бы просто не добавить к вашей первой команде (водяной знак) выходной размер:
-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