Podcastにチャプター情報を設定する

Podcastを配信していると、1つのエピソードが長くなった時にチャプターを設定したくなる。チャプターの設定ができること自体は知っていたのだけど、どうやるか知らなかったので調べて設定してみた。方法は2つあって、ひとつはid3タグでチャプター情報を埋め込む方法。もうひとつはPodcastの概要欄に「05:50 hogehoge」のようにプレーンテキストで書く方法。前者はApplePodcastやPocketCastsなどが対応していて、後者はGooglePodcastが対応しているようだ。

id3タグでチャプターを埋め込む

全然知らなかったのだけど、id3v2にはチャプターを扱うための仕様が存在していて、これを使う( https://id3.org/id3v2-chapters-1.0 )。どうやって埋め込むかはおそらくいろんなやり方があると思うが、自分の場合は以下のようにしてみた。

  1. Adobe Auditionでチャプターとなる箇所にマークを設定
  2. Adobe Auditionでメタデータを含めてwavファイルに出力
  3. Forecastでチャプター情報を含めてmp3ファイルにエンコード

Auditionでmp3ファイルを直接作っていたのをForecastで作るようにするくらいで、そこまで手間も増えていなくていい感じだと思う。

プレーンテキストのチャプター情報を生成する

id3タグでチャプター情報を埋め込むことはできるようになったが、問題はGooglePodcast向けのチャプター情報の生成である。「05:50 hogehoge」のような形式で概要欄に書く必要があって、たぶんYoutubeと同じ方法をとっているんじゃないだろうか。何にせよ、GooglePodcastはid3タグのチャプターを認識しないのでプレーンテキストで用意しないといけない。しかし手で書くのは面倒で、できればid3タグのチャプター情報から生成したい。

というわけで、https://github.com/takaishi/ced を作った。以下のように、id3タグを読んでプレーンテキストで出力する。

~/s/g/t/ced $ ./bin/ced ~/Projects/kimagurefm/kimagurefm-046/kimagurefm-046.mp3
 00:00:00 オープニング
 00:01:11 自分で図面から家具を作れるEMARF
 00:09:30 書籍プレゼントという形で繋がる恩について思うこと

Goでid3タグを扱うライブラリの選定や機能追加でちょっと時間がかかったが、これでチャプター生成のコストはかなり押さえられたと思う。

しかしid3タグなんで触るのは何年ぶりなのか…CDをリッピングしてた頃に触ったきりだったので懐かしくなった。

Leave a Reply

Your email address will not be published. Required fields are marked *