動画をチャプター毎に分割して音声ファイルにする

手元にチャプター入りの動画ファイルがあって、音声だけ取り出して、勉強したり、音楽を楽しみたいことはありませんか?以下の手順でできたので、まとめておきます。なお、こちらのサイトを参考にやってみました。ありがとうございます。

ツール類の準備

私はMacを使っていたので、Homebrewをつかってツールを準備します。Homebrewについては調べるとそれなりに情報でてくると思いますので、ここでは割愛します。

$brew install ffmpeg
$brew install mkvtoolnix

上記でかんたんにツールの準備は完了です。

分割

それでは実際に動画のファイルを分割していきます。ここでは元々の動画ファイルをorg.m4vとしています。

$ mkvmerge -o output.m4v --split chapters:all org.m4v

mkvmerge v65.0.0 ('Too Much') 64-bit
'org.m4v': Using the demultiplexer for the format 'QuickTime/MP4'.
'org.m4v' track 0: Using the output module for the format 'AAC'.
'org.m4v' track 1: Using the output module for the format 'AVC/H.264'.
'org.m4v' track 3: Using the output module for the format 'QuickTime compatible video'.
The file 'output-001.m4v' has been opened for writing.
'org.m4v' track 1: Extracted the aspect ratio information from the MPEG-4 layer 10 (AVC) video data and set the display dimensions to 1920/1080.
Progress: 5%
The cue entries (the index) are being written...
The file 'output-002.m4v' has been opened for writing.
Progress: 10%
The cue entries (the index) are being written...
.
.
.

同一フォルダにoutput-001.m4v output-002.m4v とチャプタ毎に分割されたファイルが出力されているはずです。

変換

次に分割したファイルを音声のみのファイルに変換をします。すべてのファイルを変換するのがめんどくさいので、for文で実行しています。

$ for i in {001..022}; do ffmpeg -i output-$i.m4v -vn -acodec copy output-$i.m4a; done

これで全てのファイルをm4aに変換ができました。

問題が発生

実際にMacのミュージック(旧iTunes)に取り込んで再生したが、契約しているiCloudミュージック(旧iTunes Match)と同期が始まらない、なぜかと思ったらどうやらファイルを音楽と認識していない模様。色々調べてみると字幕のストリームが含まれてしまい、それで音楽と認識していない模様 なので、字幕のストリームを削除する。

$ for i in {001..022}; do ffmpeg -i output-$i.m4a -map_metadata -1 newoutput-$i.m4a; done

これで問題が解消された。

つまり整理すると変換時に同時に削除できた模様

$ for i in {001..022}; do ffmpeg -i output-$i.m4v -map_metadata -1 -vn -acodec copy output-$i.m4a; done
投稿を作成しました 112

コメントを残す

関連する投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る
%d人のブロガーが「いいね」をつけました。