Profile picture for user admin_romcom

Столкнулся с задачей конвертирования звуковой дорожки в видеофайле в другой формат. Сделать нужно было для винды. Просмотрев несколько программ не нашел нужной. Задача простая: конвертировать любую аудиодорожку в mp3, видео оставить без изменений. Все программы что я смотрел предлагали конвертировать и видео и аудио. Данный вариант увеличивал время конвертирования в разы и был откинут сразу.

Я решил использовать готовое решение - ffmpeg. Под линуксом написать такой скрипт не проблема, а в винде я с таким еще не сталкивался.

Задача:

  • конвертировать аудио дорожку в mp3,
  • видео оставить без изменений,
  • скрипт для винды,
  • конвертирование нескольких файлов в очереди.

Получилось следующее решение:

@echo off

ECHO =========================

setlocal enabledelayedexpansion

set argCount=0
for %%x in (%*) do (
   set /A argCount+=1
   set "argVec[!argCount!]=%%~x"
   set "argFex[!argCount!]=%%~nxx"
)

echo Number of files to process: %argCount%

for /L %%i in (1,1,%argCount%) do (
  echo Processfile !argVec[%%i]!
  cmd /k C:\ffmpeg.exe -i "!argVec[%%i]!"  -c:v copy -c:a libmp3lame "C:\convert\!argFex[%%i]!"
  echo File saved at C:\convert\!argFex[%%i]! 
)

explorer.exe C:\convert

ECHO =========================

PAUSE

 

Первый цикл проходит по аргументам и записывает их в массив. Во втором цикле происходит непосредственно вызов ffmpeg с нужными парамтрами для конвертирования видеофайла.

По окончанию открывается папка с результатом.

https://gist.github.com/onesixromcom/61b98db3a6ed80d9fa826baf8e087169

Добавить комментарий

The content of this field is kept private and will not be shown publicly.
  • No HTML tags allowed.
   O     0     o-o     o-o  o    
/ \ /| | | / |
o---o o | o-o O |
| | | | | \ |
o o o-o-o o-o o-o O---o

Enter the code depicted in ASCII art style.