👋

国立国会図書館 歴史的音源で公開されている音声をmp4に変換する

2024/07/09に公開

概要

国立国会図書館 歴史的音源(以下、れきおん)で公開されている音声をmp4に変換する機会がありましたので、備忘録です。

れきおんの提供形式

れきおんでは、m3u8形式のファイルが公開されていました。

例えば、以下の「講演:道徳、経済合一論(一)Union of Morality of Economy」を確認してみます。

https://rekion.dl.ndl.go.jp/pid/3574643

開発者ツールなどで確認すると、以下のURLからアクセスできることが確認できます。

https://rekion.dl.ndl.go.jp/contents/3574643/83389ec6-2b45-4fdd-88d6-89628841039f/317d6ab4-32ec-4085-88e6-cfe36ffd34c3/317d6ab4-32ec-4085-88e6-cfe36ffd34c3_hls.m3u8

このURLを構成するIDなどは、以下のAPIの返却結果の中で確認できました。

https://rekion.dl.ndl.go.jp/api/item/search/info:ndljp/pid/3574643

pidから上記のURLを取得するAPIの開発

上記のJSONを処理することで、m3u8ファイルのURLを取得します。

この部分をAPI化したので、試していただけますと幸いです。

https://iiif-demo-next.vercel.app/api/rekion/3574643

以下のような結果が得られます。

{
  "data": {
    "type": "rekion",
    "id": "3574643",
    "attributes": {
      "title": "講演:道徳、経済合一論(一)Union of Morality of Economy",
      "url": "https://rekion.dl.ndl.go.jp/pid/3574643",
      "hls": "https://rekion.dl.ndl.go.jp/contents/3574643/83389ec6-2b45-4fdd-88d6-89628841039f/317d6ab4-32ec-4085-88e6-cfe36ffd34c3/317d6ab4-32ec-4085-88e6-cfe36ffd34c3_hls.m3u8"
    }
  }
}

ソースコードは以下です。

https://github.com/nakamura196/iiif-demo-next/blob/main/src/app/api/rekion/[id]/route.ts

ffmpegを使ってmp4に変換する

以下のようなコマンドにより、m3u8ファイルをmp4形式に変換できました。

ffmpeg -i "https://rekion.dl.ndl.go.jp/contents/3574643/83389ec6-2b45-4fdd-88d6-89628841039f/317d6ab4-32ec-4085-88e6-cfe36ffd34c3/317d6ab4-32ec-4085-88e6-cfe36ffd34c3_hls.m3u8" -c copy 3574643.mp4

まとめ

音声ファイルの利用にあたり、参考になりましたら幸いです。

Discussion