ルギア君の戯言

雑多な記事。

FFmpeg

昨日の最新版ビルド作戦はあきらめました(駄


Sound Engine で mp3 を編集するのに必要だったので、携帯動画変換君ffmpeg を使うことにしました(ぉ
gogo.dll & vbmp3.dll でもいいんだけど、両方そろえるのは面倒だったので・・・


ffmpeg 利用版 mp3 読み書き Sec ファイル
mp3 書き込み オプション
固定ビットレート : 64, 128, 192, 256, 320kbps
可変ビットレート : 3段階
チャンネル : モノラル、ステレオ
周波数 : 44100Hz, 48000Hz

[Open]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 64000 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 64kbps Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 128000 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 128kbps Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 192000 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 192kbps Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 256000 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 256kbps Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 320000 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 320kbps Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 64000 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 64kbps Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 128000 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 128kbps Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 192000 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 192kbps Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 256000 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 256kbps Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 320000 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 320kbps Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 64000 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 64kbps Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 128000 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 128kbps Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 192000 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 192kbps Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 256000 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 256kbps Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 320000 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 320kbps Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 64000 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 64kbps Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 128000 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 128kbps Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 192000 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 192kbps Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 256000 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 256kbps Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -ab 320000 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 320kbps Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 256 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 VBR Quality 256 Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 128 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 VBR Quality 128 Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 0 -ar 48000 -ac 2 $dst
Text=ffmpeg mp3 VBR Quality 0 Stereo 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 256 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 VBR Quality 256 Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 128 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 VBR Quality 128 Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 0 -ar 48000 -ac 1 $dst
Text=ffmpeg mp3 VBR Quality 0 Mono 48000Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 256 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 VBR Quality 256 Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 128 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 VBR Quality 128 Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 0 -ar 44100 -ac 2 $dst
Text=ffmpeg mp3 VBR Quality 0 Stereo 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 256 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 VBR Quality 256 Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 128 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 VBR Quality 128 Mono 44100Hz

[Save]
Extension=mp3
Execute=ffmpeg.exe
Parameter=-i $src -f mp3 -aq 0 -ar 44100 -ac 1 $dst
Text=ffmpeg mp3 VBR Quality 0 Mono 44100Hz


以降はおまけ。
Flac 読み書き Sec ファイル
flac にはオプションはありません。

[Open]
Extension=flac
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Save]
Extension=flac
Execute=ffmpeg.exe
Parameter=-i $src -f flac $dst
Text=ffmpeg flac


ムービーファイルの音声部分を切り出す。
書き込み不可。
対応形式 : avi, flv, 3gp, 3g2, wmv, mp4, swf, str

[Open]
Extension=avi
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=flv
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=3gp
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=3g2
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=wmv
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=mp4
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=swf
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=str
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)


AAC, M4A
書き込み不可。

[Open]
Extension=aac
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Open]
Extension=m4a
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)


ここまで書いて気づいたとと思いますが、読み込みについては拡張子の部分しか変化していませんので不足があれば、自分で作ってください(ぇ
ちなみに「書き込み不可」というのは ffmpeg では エンコード がサポートされていないものです。


ADPCM (拡張子がよくわからないので wav 埋め込みのみ)
いまさら使う人いるのかしら(ぇ
これを入れるともともとの wave 形式で保存ができなくなってしまいますので、ffmpeg でそのままコピーさせるのも入れてあります。
読み込み側は開けなかったら実行するという手順を踏んでいますので、PCM の場合は今までどおり生データが読み出されます。

[Open]
Extension=wav
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Save]
Extension=wav
Execute=ffmpeg.exe
Parameter=-i $src -f wav -acodec copy $dst
Text=PCM (No Change)

[Save]
Extension=wav
Execute=ffmpeg.exe
Parameter=-i $src -f wav -acodec adpcm_ms $dst
Text=ffmpeg Microsoft adpcm


MPEG
その前にこれをダウンロードしてください。
これは、テンポラリムービーを削除するために作った、ただ単にファイルを削除するだけのプログラムです。
このプログラムも Sound Engine に登録してください。
Vista の場合は、C:\Program Files\Sound Engine Free\bin ディレクトリにコピーしてください。コピーの際は管理者権限が必要です。


保存方法

保存 選ぶファイル 選ぶコマンドライン 備考
1回目の保存 合体させたい映像を含む動画ファイル 保存用に映像部分を切り出し この操作ははじめに1回やればOKです
2回目の保存 保存先の動画ファイル ffmpeg mp2 ... (好きな形式をお選びください) -

1回目の保存の時に bin ディレクトリに temp.mpg を作成します。
「保存用に切り出した動画を削除」を実行すると、削除されます。
実行順序を間違えるとファイルが壊れるかもしれませんのでご注意ください。

[Open]
Extension=mpg
Execute=ffmpeg.exe
Parameter=-i $src -f wav -ar 48000 $dst
Text=ffmpeg (読込形式自動判別)

[Save]
Extension=mpg
Execute=ffmpeg.exe
Parameter=-y -i $dst -an -vcodec copy ".\temp.mpg"
Text=保存用に映像部分を切り出し

[Save]
Extension=mpg
Execute=del.exe
Parameter=".\temp.mpg"
Text=保存用に切り出した動画を削除

[Save]
Extension=mpg
Execute=ffmpeg.exe
Parameter=-i $src -acodec mp2 -ab 64000 -ar 44100 -ac 2 $dst -i ".\temp.mpg" -vcodec copy -newvideo
Text=ffmpeg mpeg Video: copy Audio: mp2 64kbps 44100kHz Stereo

[Save]
Extension=mpg
Execute=ffmpeg.exe
Parameter=-i $src -acodec mp2 -ab 128000 -ar 44100 -ac 2 $dst -i ".\temp.mpg" -vcodec copy -newvideo
Text=ffmpeg mpeg Video: copy Audio: mp2 128kbps 44100kHz Stereo

[Save]
Extension=mpg
Execute=ffmpeg.exe
Parameter=-i $src -acodec mp2 -ab 192000 -ar 44100 -ac 2 $dst -i ".\temp.mpg" -vcodec copy -newvideo
Text=ffmpeg mpeg Video: copy Audio: mp2 192kbps 44100kHz Stereo

[Save]
Extension=mpg
Execute=ffmpeg.exe
Parameter=-i $src -acodec mp2 -ab 256000 -ar 44100 -ac 2 $dst -i ".\temp.mpg" -vcodec copy -newvideo
Text=ffmpeg mpeg Video: copy Audio: mp2 256kbps 44100kHz Stereo

応用すれば avi とかでも対応できます。
avi は オーディオコーデックに使える種類が多いので書くのがめんどい(駄

え? WMA? WMA は ffmpeg では読み込めませんよ。多分。