Googleが開発した速くて高品質だというwebmというフォーマット。
これについて勉強してみようと思い、公式サイトを読んでバイナリから理解しようと思いましたがさっぱりわかりません。
やっぱり新しいものは複雑であり、またどんどん変化していきます。
これはいちいち中身を調べるのは難しすぎるよなーと思っていたところ、よいフリーソフトを見つけました。

それがFFmpegです。

ffmpegは様々な動画や音声を変換するソフトです。
このサイトを参考にしてダウンロードしました。
しかしパソコンに疎いので環境変数はあまりいじりたくないなと思い、代わりにバッチファイルを使うことにしました。

今回は音声と動画を1つのファイルにまとめる作業をbatファイルからffmpegを操作する感じでやっていこうと思います。

やりかた

ffmpegをダウンロードします。
そしてコマンドラインから

ffmpeg.exeへのアドレス -i 動画か音声ファイルへのパス -i 動画か音声ファイルへのパス 保存したいファイル名とそのパス

を入力すればOKです。
これを今回はbatファイルを用いて少しだけ簡単にしようというものです。
まああんま変わらないのですが、batファイルの使い方の勉強ということで。

batファイルで少し簡便に


まずbatファイルをbinフォルダのffmpeg.exeがあるところに作ります。
そしてその中に


set file1="%1"
set file2="%2"
ffmpeg.exe -i %file1% -i %file2% C:\Users\%USERNAME%\Desktop\file.mp4


と書いて保存します。
あとはショートカットをデスクトップとかにおいて完成です。

いやー、batファイルとかstartしかコマンドを使ったことがなかったので勉強になりました。
それでは説明します。
まず、setで変数の宣言と初期化をします。
%1というのは引数の1つ目です。
%0から%9まであり、%0がbatファイル自身です。
今回はドラッグアンドドロップで動画と音声をbatファイルに渡したいためこのようにしました。
そしたらffmpeg.exeを-iのコマンドで引数を渡して起動するだけです。
-iは入力ファイルであることを表します。
%で囲まれたものは変数であり、変数を使うときには%変数%のようにして使います。
(!で囲む遅延環境変数は置いておきます)
あとは個人的にデスクトップにファイルを作ってほしいのでデスクトップを指定します。
このとき%USERNAME%は環境変数と言い、そのパソコンのユーザーに置き換わります。

このbatファイルのショートカットに音声ファイルと動画ファイルをD&Dすればデスクトップにまとまったファイルが生成されます。


mp3をまとめる

D&Dでmp3をまとめるatを作りました。
ffmpegが相対パスになっているので、batファイルの位置や環境変数が異なる場合は変えてください。
またD&Dするときは、一番最初にしたいやつをマウスでD&Dしないと順番がずれます。
順番を確認するためにechoでファイル名をつないだ順番に表示させました。

@setlocal enabledelayedexpansion
@echo off
cd %~dp0
for %%i in (%*) do (
 set a=%%~nxi
 echo !a!
 echo file !a! >> list.txt
)
ffmpeg\bin\ffmpeg.exe -f concat -i list.txt -c copy output.mp3
pause
del list.txt

まとめ

こんな感じでffmpegをbatから操作することができました。
ほとんどbatファイルの使い方の勉強でした。。