web-dev-qa-db-ja.com

一撃でVLCまたはAudacityを使用して1つのタイプ(wavからmp3など)の複数のファイルを変換するにはどうすればよいですか?

私は10個のwavファイルを持っています。それらすべてをmp3ファイルに変換したいと思います。私は( VLCを使用してメディアを変換する方法? で説明されているように)1つのファイルに対してこれを行うことができましたが、すべての単一ファイルに対してこれを実行したくありません。一度に10個のファイルすべてを変換する方法はありますか? Windows 7を使用しています。

4

私はnixdaの提案に従い、バッチスクリプトを使用しました。 Windows 7のバッチをプログラムする方法を見つけました。これが私の解決策です。

@echo off
for /f "delims=|" %%f in ('dir /b C:\Any_Directory\*.wav') do (
echo converting      %%f
CALL "C:\Program Files\VideoLAN\VLC\vlc.exe" --intf dummy --dummy-quiet "%%f" --sout="#transcode{acodec=mp3,ab=256,vcodec=dummy}:standard{access=file,mux=raw,dst=MP3_Files/"%%f"}"  vlc://quit
move "%%f" WAV_converted/"%%f"
)

cd MP3_Files
ren *.wav *.mp3
cd ..

echo .
echo .
echo .
echo conversion finished
pause

プログラムのしくみ:

  • 指定されたフォルダ「C:\ Any_Directory \」にある拡張子が.wavのすべてのファイルがmp3に変換されます(ファイル名に空白を含めることはできません)
  • Mp3ファイルは「MP3_Files」フォルダに保存されます(すでに存在している必要があります)
  • Wavファイルは、「WAV_converted」フォルダー(すでに存在している必要があります)にプッシュされます。
  • 「ab = 256」はビットレートを設定します。たとえばで変換するにはビットレート128の場合は、「ab = 128」に置き換えてください。
  • バッチファイルは、変換するファイルと同じフォルダーから実行する必要があります(Kevin Heidtが述べたように)

ヒント-変換中にVLC GUIを表示する場合は、スクリプトから「--intfdummy--dummy-quiet」を削除します。デバッグに役立つ可能性があります。

更新 まだ1つのバグがあります:wavファイルの名前にドットまたはコンマが含まれている場合、名前は切り捨てられます(そして拡張子は追加されません!)。これにもかかわらずファイルは変換されます。 バージョン1.1.11でテスト済み。 新しいバージョンは動作しない可能性があります!

引用符を追加:--sout = "..."。 新しいバージョンでも機能します。Windowsのバージョン2.1.3 64ビットでテスト済み( VLC wikiページ)を参照 for LinuxとWindowsのコマンドラインの違い、および追加の例とオプション)。

10

SOにある同様のアプローチを追加するには:

私が行った変更、ディレクトリ名と曲名にスペースを入れることができますよくあることですが(常に)そうです。

@echo off
chcp 65001
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "delims=" %%f IN ('dir /b /s "YOUR_DISK:\Path\To\Your Music\That May contain Spaces\*.wav"') do (
set file1=%%~nf.mp3
echo "file :" !file1!
set fic1=%%f
echo "file : " !fic1!

CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"  "!fic1!" --sout="#transcode{vcodec=none,acodec=mp3,ab=320,channels=2,samplerate=48000}:std{access=file{no-overwrite},mux=mp3,dst="""!file1!"""}" vlc://quit
)

echo .
echo conversion finished
pause
0
Tom

私はVLCを使用して一連のビデオファイルのオーディオを変換しましたが、同じ方法でトランスコーディングタスクを実行できます。単純な.batファイルを作成する必要があります。

for %%a in (*.avi) do "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy -vvv "%%a" --sout=#transcode{acodec=mp3,ab=128,channels=2,samplerate=22050}:standard{access=file,mux=ts,dst="%%a_conv.avi"} --sout-keep vlc://quit
  • このバッチファイルは、同じフォルダー内のすべての* .aviファイルをスキャンし、sout =#transcode {params}
  • 使用するパラメータを知るには、[メニュー]-> [メディア]-> [ストリーム...]を選択し、GUIウィザードですべてのパラメータを選択する必要があります。ウィザードの最後のステップで、バッチファイルで使用する必要のある生成されたparams-stringが表示されます。
  • 出力ファイルには_ conv.aviサフィックスが付きます。別の拡張子が必要な場合は、サフィックスを変更してください
0
Vadim Zin4uk