1

Я пытаюсь выяснить пакетный сценарий (на основе Windows), который позволит мне мультиплексировать некоторые файлы .m2v и .wav, которые существуют в загрузке подкаталогов (в пределах одного основного каталога). Они также должны быть перезаписаны и перекодированы, выходные файлы должны быть в формате MXF и помещаться в другую папку. Я новичок в пакетных скриптах, не так уж плохо знаком с командами FFMPEG. До сих пор я не смог найти пакетных сценариев, позволяющих использовать несколько файлов, только те, которые работают для преобразования одного файла.

После долгих поисков самое близкое, что я видел, это то, что я пытался безуспешно. Странно, но однажды он создал файл .mxf, хотя и 0 КБ, но каждый раз, когда я ничего не получал.

for %%a in (".m2v") do ffmpeg -i "%%~na.wav" -i "%%~na.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf". 

Я не уверен, что подразумевается в скобках, где у меня есть (".m2v").

что это представляет?

1 ответ1

1

Я не уверен, что подразумевается в скобках, где у меня есть (".m2v") .

что это представляет?

for %%a in (".m2v") do ffmpeg -i "%%~na.wav" -i "%%~na.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf"

Значение (".m2v") представляет собой набор файлов для обработки.

В вашей команде нет файлов для обработки, так как:

  • .m2v является только расширением, и мы можем предположить, что это должно быть что-то вроде filename.m2v
  • Здесь вам действительно нужно подстановочное выражение (как это сделать см. Ниже).
  • Ваши файлы находятся в подкаталогах.

Используйте следующий пакетный файл (в единственном главном каталоге):

@echo off
setlocal
for /f "usebackq" %%a in (`dir /b /s *.m2v`) do (
  echo ffmpeg -i "%%~dpna.wav" -i "%%~dpna.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf
  )
endlocal

Заметки:

  • Удалите echo из команды ffmpeg когда вы довольны тем, что собирается делать пакетный файл.

  • dir /b /s *.m2v используется для создания списка файлов для обработки.

    Параметр /b дает только имена файлов (нам не нужны заголовки, сводка или другие подробности)

    Опция /s позволяет dir обрабатывать подкаталоги.

  • for /f используется для обработки списка файлов.

  • %%~dpna используется для получения полного имени файла без расширения.


Дальнейшее чтение

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