如何使用命令提示符在VLC中将MP4转换为MP3?

时间:2016-06-16 03:28:08

标签: command-prompt vlc

我有接近0的编程经验,但想知道如何做到这一点,并试图找出如何做一段时间。我非常沮丧 - 希望我能理解它。我试图将一堆MP4文件转换为MP3文件。我想保留原始文件,只是吐出一堆与原始文件同名的MP3文件。

从这里开始:https://wiki.videolan.org/How_to_Batch_Encode/

显然,您需要做的就是在命令提示符中使用此代码。我之前从未真正使用过Command-Prompt,所以不知道该怎么做。

FOR /R %%G IN (*.m4a) DO (CALL :SUB_VLC "%%G")
FOR /R %%G IN (*.m4a.mp*) DO (CALL :SUB_RENAME "%%G")
GOTO :eof

:SUB_VLC
 SET _firstbit=%1
 SET _qt="
 CALL SET _newnm=%%_firstbit:%_qt%=%%
 SET _commanm=%_newnm:,=_COMMA_%
 REM echo %_commanm%
 CALL "C:\Program Files\VideoLAN\VLC\vlc" -I dummy -vvv %1 --sout=#transcode{acodec="mpga",ab="512","channels=2",samplerate="44100"}:standard{access="file",mux="mpeg1",dst="%_commanm%.mp3"} vlc://quit
GOTO :eof

:SUB_RENAME
 SET _origfnm=%1
 SET _endbit=%_origfnm:*.m4a=%
 CALL SET _newfilenm=%%_origfnm:.m4a%_endbit%=.mp3%%
 SET _newfilenm=%_newfilenm:_COMMA_=,%
 COPY %1 %_newfilenm%
 DEL %1
GOTO :eof

:eof
  1. 到目前为止,我将命令提示符中的目录更改为 MP4文件所在的文件夹。
  2. 在代码中,我已将.m4a的所有提及更改为.mp4。
  3. 我将mpga改为mp3。
  4. 我已经改变了" C:\ Program Files \ VideoLAN \ VLC \ vlc"到我的vlc程序 位于。
  5. 我还需要做什么?所有%%在代码中的含义是什么?

    非常感谢你!

1 个答案:

答案 0 :(得分:5)

%%是变量。 我使用该示例的问题是我的文件名包含空格,因此有必要将%% a包装在引号中。

以下适用于我:

for %%a in (*.mp4) do "C:\Program Files (x86)\VideoLAN\VLC\vlc" -I dummy "%%a" --sout=#transcode{acodec=mp3,ab=128,vcodec=dummy}:std{access="file",mux="raw",dst="%%a.mp3"} vlc://quit