Використання FFMPEG у кількох файлах


0

якщо я хочу використовувати

$ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi

і у мене одна група файлів .avi з номером ?? до ??, та інша група .srt-файлів, що мають ті самі назви

–– щось, що виглядає так:

$ [AnimeRG] Naruto Shippuden - 072 [720p] [x265] [pseudo].ass [AnimeRG] Naruto Shippuden - 072 [720p] [x265] [pseudo].mkv [AnimeRG] Naruto Shippuden - 073 [720p] [x265] [pseudo].ass [AnimeRG] Naruto Shippuden - 073 [720p] [x265] [pseudo].mkv ...

і продовжує ad infinitum ––

що мені робити з використанням формули "для; робити; зробив"?

нижче - рішення, яке ще знайдено для подібної проблеми; однак він містить синтаксис, який моя система не розпізнає.

$for %%a in ("*.mkv") do ffmpeg -i "%%a" -vf subtitles=%%a.ass "%%~na.mp4" pause

моє рішення має виглядати приблизно так:

$for a in *.mkv;do ffmpeg -i "$a" -vf subtitles="$a.ass" "EmbeddedTest/${a%.mkv}.mp4";done

Відповіді:


1

$a.assНаприклад, [AnimeRG] Naruto Shippuden - 072 [720p] [x265] [pseudo].mkv.assтаким чином використовуватимемо ${a%.mkv}.assнатомість:

for a in *.mkv; do ffmpeg -i "$a" -vf subtitles="${a%.mkv}.ass" "EmbeddedTest/${a%.mkv}.mp4"; done

Детальніше про розширення параметрів .


Дає –– [Parsed_subtitles_0 @ 0x7fbb31705a60] Не вказано ім’я файлу! [AVFilterGraph @ 0x7fbb3150c2c0] Помилка ініціалізації фільтра "субтитри" з аргументами "Помилка повторної ініціалізації фільтрів! Не вдалося ввести кадр у мережу фільтру: Недійсний аргумент Помилка під час обробки декодованих даних для потоку № 0: 0 [libvorbis @ 0x7fbb32818400] Залишилось 39 кадрів у черзі при закритті––
croakouttatune

@croakouttatune працює для мене. Ви можете використати echoтест на те, що виводиться, і порівняти це з іменами ваших файлів:for a in *.mkv; do echo "$a" && echo "${a%.mkv}.ass" && echo "${a%.mkv}.mp4"; done
llogan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.