こちらのサイトに書いてありました。ubuntuでやってみました。
How to Add Chapters to MP4s with FFmpeg
chapters.txt を作成
0:00:00 最初のチャプター
0:00:30 次のチャプター
みたいなリストを作成します。
h:mm:ssです。
※私がやると最後のチャプターがうまく載らないので、最後のチャプターの下に
9:99:99 end
みたいにダミーのチャプターを書いたらうまくいきました。
9:99:99のところはビデオの終了時間を書いています。
余計な改行があると後の作業でエラーが出るようです。
端末を起動
フォルダの白いとこを右クリックしてメニューから端末を起動すると便利だって最近知りました。
mp4ファイルからメタデータファイルを作成します
ffmpeg -i INPUT.mp4 -f ffmetadata FFMETADATAFILE
と端末でやるとFFMETADATAFILEというのがひょっこり出てきます。
INPUT.mp4 のところは元のファイルの名前に書き換えてください。
ファイル名にスペースが含まれると(例えば INPUT VIDEO.mp4 みたいな)エラーが出て止まるようです。
【追記】ファイル名をダブルクォーテーションで囲めばできます。”Input Video.mp4″みたいに。
【追記】端末を見ていると、Output file is empty, nothing was encoded とメッセージが出てきますが、気にしなくていいです。
Helper scriptをコピペします
How to Add Chapters to MP4s with FFmpeg でHelper scriptをコピーさせていただいて、テキストファイルに貼って、同じフォルダに保存する時にファイル名を helper.py にします。
chapters.txtの内容をFFMETADATAFILEに載せます
python3 helper.py
と端末でやるとできます。
【追記】
久々にやったら失敗したのでメモ。
chapters.txt に余計な改行が含まれていると失敗(FFMETADATAFILEが更新されない)します。
元のmp4にチャプターを付けた新たなmp4を作ります
ffmpeg -i INPUT.mp4 -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT.mp4
と端末でやるとできます。
INPUT.mp4のところを元のファイル名に、OUTPUT.mp4のところを新しいファイル名にします。
お疲れ様でした。
※ubuntuでもwindowsでも、ffmpegとpython3がインストールされていない場合は事前にインストールしてやる必要があります。(windowsの場合のffmpegとpython3インストール)
インストールはubuntuだと簡単だけど、windowsの場合は少し面倒かも?


