WMVをシーカブルに変換

ストリーミング用に作られたasfファイルをダウンロードしてwmvにした場合、シーク不可になっていたり、シークできても非常に時間がかかったりします。

ということで、そういうファイルはwmvのインデックスを作り直して、新しいシーカブルなファイルにすることで、直してしまいましょう。

ちなみに、元ネタはこちらです。必要なのは、こちらのページにあるAsfBinのコマンドラインバージョンです。これを使って、

asfbin -i “シークできないファイル.wmv” -o “シークできるファイル.wmv” -forceindex

とすれば、ファイルにインデックスを付けることが来ます。

元ネタのページでは、フォルダーに入っているwmvファイルをすべてシーカブルに変換するバッチファイルがありますが、ファイル名にスペースがあるとうまく動かないというバグや、すべてのwmvファイルからasfファイルを作り直して、終わったら元のwmvファイルをすべて削除してasfファイルをwmvファイルにリネームするということをしているので、変換するファイルがたくさんあると、同じだけの空き容量が必要です。ということで、バグを直し、ファイルごとに変換&削除を行うようにバッチファイルを修正してみました。以下がそのバッチの内容です。

for %%a in (“*.wmv”) do call:SUB “%%a”
pause
exit /b

:SUB
asfbin -i %1 -o “%~n1_reindexed.asf” -forceindex
del %1
ren “%~n1_reindexed.asf” “%~n1_reindexed.wmv”
exit /b

見たらわかりますが、for文ではコマンドが一つしか実行できないため、サブルーチンを呼び出して、サブルーチンで複数のコマンドを実行しているというだけです。バッチファイルも使いようによってはいろいろできますね。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: