どういうわけか、* .FLVファイルからオーディオを抽出する必要がありました。 グラフィックビデオエディターは、この目的にはまったく不適切だと思われたため、コマンドラインでメディアファイルからサウンドを抽出する独自のユーティリティを作成することにしました。
オープンソース製品のみを使用しました。
必要なもの:
- K-Lite Codec Packなどのコーデックのセット
- 仮想ダブビデオエディター
- Avisynth
手順1. K-Lite Codec Pack、Virtual Dub、AVISynthをインストールします。
手順2.このようなスクリプトをcmd.exeコマンドプロセッサのBAT言語で記述します。
@エコーオフ
@rem(C)ダンクス
VD = VirtualDub.audioを設定します。
echo VirtualDub.Open(VirtualDub.params [0]、 ""、0); > 1.ジョブ
echo%VD%SetSource(1); >> 1.ジョブ
echo%VD%SetMode(1); >> 1.ジョブ
echo%VD%SetInterleave(1,500,1,0,0); >> 1.ジョブ
echo%VD%SetClipMode(1,1); >> 1.ジョブ
echo%VD%SetConversion(44100,0,1,0,1); >> 1.ジョブ
echo%VD%SetVolume(); >> 1.ジョブ
echo%VD%SetCompression(); >> 1.ジョブ
echo%VD%EnableFilterGraph(0); >> 1.ジョブ
echo%VD%filters.Clear(); >> 1.ジョブ
echo VirtualDub.SaveWAV(VirtualDub.params [1]); >> 1.ジョブ
echo VirtualDub.Close(); >> 1.ジョブ
FOR %% i IN(*。*)実行(
存在しない場合は%%〜ni.wav(
エコー。
エコー再圧縮%% i
echo c = DirectShowSource ^( "%% i" ^)> 3.avs
echo AudioDub ^(BlankClip ^(長さ= c.FrameCount ^)、c ^)>> 3.avs
"C:\ Program Files \ VirtulDub \ vdub.exe" / i 1.jobs 3.avs %%〜ni.wav> nul
)
)
del / q / s 3.avs> nul 2>&1
del / q / s 1.jobs> nul 2>&1
ステップ3.このスクリプトを「extractaudio.bat」として、%PATH%環境変数で指定されたディレクトリのいずれかに保存します。
それだけです!
オーディオまたはビデオファイルがあるディレクトリでこのスクリプトを実行すると、スクリプトはそのような各ファイルから44kHzのモノラルオーディオを抽出し、ファイル名は元のメディアファイルの名前と一致し、拡張子はWAVになります。
たとえば、このコードは、3GP形式のビデオおよびフラッシュビデオFLVからサウンドを取り出すことができます。
成功。