お題 mp4動画をチャプターごとに分割して音声ファイルにする。

追記:ワンライナーで分割するシェルスクリプトはこちら

ffmpegとmkvtookとmp4v2をインストール

$ brew install ffmpeg
$ brew install mkvtoolnix
$ brew install mp4v2 

下ごしらえ、動画をチャプターに分割が重いので、事前に音声のみにする。(-vnはビデオなし、音声もこの時点でエンコード5.1ch > ステレオとかしても良いかも)

$ ffmpeg -i org.mp4 -vn -acodec copy tmp.mp4

mkvtoolnixについてくるmkvmergeコマンドで分割

$ mkvmerge -o output.mkv --split chapters:all tmp.mp4 

今回音声コーデックがaacだったのですが、拡張子aacだとiTuneに取り込めず、m4aに
音声が5.1chとかだとm4aへ変換でエラーになるので、その場合は -ac 2 とかつけてステレオにしてあげるビットレートも-ab 480kとか指定してあげる

(今回はaacだったのでそのまま -acodec copyで流し込むだけ)

$ ffmpeg -i output-001.mkv -vn -acodec copy output-001.m4a

mp4v2のツールでタグ編集

$ mp4tags -A "アルバム名" -a "アーティスト名" -albumartist "アルバムアーティスト名" -t トラックNo 対象ファイル