shiguredo/cpp-mp4 を公開しました

V
shiguredo
Published in
Dec 29, 2020

C++ 向けの MP4 ライブラリを Apache License 2.0 で GitHub に公開しました。

モチベーション

  • WebRTC SFU Sora が出力した録画ファイルを Hisui で合成した際に MP4 出力したい
  • WebRTC Native Client Momo に MP4 録画機能をつけたい
  • WebRTC SFU Sora に MP4 出力機能を付けるためにノウハウがほしい

開発

Sora から出力した録画ファイルを合成する Recording Composition Tool Hisui を開発してもらっている haruyama に Hisui 開発の一部としてお願いしました。cpp-mp4 は Hisui でもがっつり使います。

要件

要件は「 MP4 (VP8,VP9/Opus, AAC) が利用できる」に絞りました。将来的に AV1 に対応予定です。ただし H.264 や H.265 は自社で利用することがないため、現時点では想定から外しています。

cpp-mp4 で生成した MP4 ファイルはブラウザ上での利用を想定しているため、Safari で再生できる MP4(VP9/AAC) に対応するのが要件です。さらに Chrome や Firefox では MP4 (VP9/Opus) へも含めました。

abema/go-mp4

cpp-mp4 の開発にあたり ABEMA さんが公開されている go-mp4 をとても参考にさせていただきました。本当にありがとうございます。

開発中にいくつか go-mp4 にフィードバックができました。

リリース

正式なリリースは 1 月を予定しています。

今後

AV1 対応を予定しています。あとはバグフィックス対応で、枯れさせていければと思います。

--

--