kazeno memo

メモとか

.ISO(DVD Rip)をチャプタ付き.MKV(もしくは.MP4)へ変換する

DVDをリッピングしたISOファイルをMKV(もしくはMP4)へ変換する際、チャプター情報が欠落してしまいます。

そのため、dvdxchapというソフトウェアを使い、ISOファイルからチャプター情報を書き出し、動画ファイルと結合していきます。

DVD original one-file rip, deinterlace and add chapters with FFmpeg - BenHup.com

必要なソフトウェア

  • cmake
  • ffmpeg
  • g++
  • git
  • libdvdread
  • mkvtoolnix

Debianの場合、以下のパッケージをインストールしておきましょう。

# apt install build-essential cmake git libdvdread-dev mkvtoolnix ffmpeg

ISOをMP4へ変換

ffmpegでISOファイル内のmpegを、単一のmp4ファイルに変換します。

$ ffmpeg -i ISOファイル.iso -c copy -movflags faststart source.mp4

dvdxchapのビルド

チャプタ情報の抽出にはdvdxchapというソフトウェアを使用します。このソフトは自分でビルドする必要があります。

ここでは、Debian Busterでビルドする例を紹介します。

// 必要なパッケージのインストール
# apt install build-essential cmake git libdvdread-dev

// 公式リポジトリのクローン
$ git clone https://github.com/Tatsh/dvdxchap.git
$ cd dvdxchap/

// ビルド用のディレクトリを作成
$ mkdir ./build
$ cd ./build

// ビルド
$ cmake .. -DCMAKE_BUILD_TYPE=Release
$ make

// (必要に応じて)インストール
# make install

dvdxchapというファイルが生成されているはずです。dvdxchap -hなどで正常に動作するか確認してみましょう。

チャプタ情報の抽出&統合

チャプタ情報をchapters.txtへ書き出し、mkvmergeコマンドで動画ファイルとチャプタ情報を統合します。

$ dvdxchap ISOファイル.iso > chapters.txt
$ mkvmerge source.mp4 --chapters chapters.txt -o output.mkv

mkvをmp4へ変換(任意)

mkvをmp4へ変換したい場合、以下のコマンドを実行します。(チャプタ情報も保持されます)

$ ffmpeg -i output.mkv -c copy -movflags faststart output.mkv