← ホームへ戻る
Lex Fridman Podcast4:23:412026/05/06

インターネット動画を支えるFFmpeg——ビデオコーデックの複雑性と、オープンソース開発の美学

聴きどころ

  • YouTube、Netflix、SpaceX など世界中で動作するFFmpegとVLC。その内部の動作、特にビデオコーデック技術がいかに複雑で、なぜ手書きアセンブリが大量に必要なのかを、開発者みずからが語る。
  • AV1コーデックのdav1dプロジェクトでは、240,000行のアセンブリコードと30,000行のCで、ハードウェアデコーダなしに3億台のデバイスで720p再生を実現。コンパイラの自動最適化では到達できない領域を、人間の手で切り詰めている。
  • オープンソース開発における信念、大手企業からの暗黙の圧力への拒否、そしてCERNやSpaceXでの想定外の活用まで——ビデオ技術の歴史と哲学が一気に語られる。

論点をもう少し詳しく読む

ビデオ再生の仕組み:コーデック、コンテナ、そしてFFmpegの役割

冒頭ではビデオ再生の基本的な流れが説明される。ファイルコンテナ(MP4やMKVなど)の中に、H.264やAV1といったコーデックで圧縮されたビデオストリームが入っており、FFmpegはそれをデコードして画面に表示する。VLCが奇想天外なファイル形式まで開けるのは、このFFmpegの懐の深さあってこそ。トランスコーディング、ストリーミング、アーカイビングなど、ビデオ関連のほぼすべての処理がFFmpegを経由する、という普遍性が強調される。

dav1d:240,000行のアセンブリコードが必要な理由

AV1は複雑すぎてハードウェアデコーダでしか不可能と言われていたが、Jean-Baptiste Kempfたちは高速なソフトウェアデコーダを開発した。それがdav1d。79.9%がアセンブリ、19.6%がC言語という構成になっており、1~2コアで720pを再生できる。なぜここまで手書きアセンブリが必要かというと、コンパイラの自動最適化では『1サイクル』単位での改善を見落とすため。3億台のデバイスで常時デコードされるコンテンツだからこそ、その累積効果は莫大。ツイッターで『コンパイラで十分では』と指摘されても、数百の実例を示しながら異なることを証明している。

オープンソースの信念:企業からの圧力と『コードの質』への執着

VLCが数百万ドルの広告・スポンサーオファーを断り続けているのは、『誰がお金を出すか』でなく『コードの質が良いか』を最優先にする信念による。インテリジェンス機関からバックドア挿入を打診されたときも、言葉は『丁寧ではなく』拒否した。開発者がどの国の企業に属しているか、有名か無名かは関係なく、コードの質だけで判断する——これが強い多様性を生む。同時に、FFmpegのLibav forkcをめぐる分裂やオープンソースバーンアウトなど、理想と現実の葛藤も率直に語られる。

Linuxカーネルの哲学との共通点と、プログラミングの本質

会話の中でLinus Torvaldsの『プログラミングは報酬や名声ではなく、楽しさ驅動である』という言葉が引用される。FFmpegチームも同様で、数十億デバイスで動くコードを作るモチベーションは金銭や評価ではなく『極度に最適化されたコードを書く喜び』にある。実際、Rust言語の可能性や次世代コーデックAV2の展望なども語られるが、つねに『何が本当に価値あるのか』を問い直す姿勢が保たれている。

世界中の想定外の場所で動くFFmpeg:CERNからSpaceXまで

エピソード終盤では、ビデオ処理技術がどこで使われているかが語られる。CERN LHCの27kmのリングを監視するアナログカメラ映像をマルチキャストで配信、Formula 1のパドック、Mars Rover、SpaceXのロケット発射監視。2010年にCERNを訪ねたときに数時間で問題を解決し、その後一日かけて加速器を見学したというエピソードは、テクノロジーが隠れた場所で人々の仕事を支えている現実を象徴している。

再生中現在 00:00