音声・動画・字幕のデコード、エンコード、変換、フィルタリング、ストリーミングに使えるCライブラリ群とコマンドラインツール。
leandromoreira/digital_video_introduction
デジタル動画の基礎を、色やフレームの種類、H.264・H.265・VP9・AV1などのコーデック、ストリーミングまで、FFmpegの例を交えて実践的に学べる初心者向けガイドです。
- スター
- 16,380
- フォーク
- 1,381
- 未解決の Issue
- 19
- 最終コミット
- 一昨日
これは何?
ソフトウェア開発者を主な対象としつつ、誰でも理解できるように書かれた、デジタル動画の仕組みを学ぶ実践的な入門ガイドです。ピクセル、解像度、アスペクト比、ビットレートといった基本用語から始め、色・時間・空間における冗長性を取り除いて動画を圧縮する方法を解説します。
クロマサブサンプリング、I・P・Bフレーム、動き推定、イントラ予測、変換、量子化、エントロピー符号化を取り上げ、汎用的なコーデックの仕組みと、H.264・H.265・VP9・AV1の違いを紹介します。後半では、プログレッシブダウンロード、アダプティブストリーミング、コンテンツ保護など、オンラインストリーミングについて解説します。
多くのセクションに実行可能なサンプルが含まれています。コンテナ化されたFFmpegとmediainfoのコマンドに加え、画像配列、DCT係数、動きベクトルを可視化するJupyterノートブックを使います。プロジェクトは複数の言語に翻訳されています。
主な機能
- 01色モデル、YCbCr、クロマサブサンプリング、ビットレートなどの基本概念を解説します。
- 02I・P・Bフレームの種類と、フレーム間予測およびイントラ予測で冗長性を取り除く仕組みを説明します。
- 03パーティショニングからビットストリーム形式まで、汎用コーデックの主な処理段階を解説します。
- 04H.264・H.265・VP9・AV1と、それぞれの背景にある歴史を比較します。
- 05動画ファイルの調査に使える、FFmpegとJupyterの実践例を収録しています。
ユースケース
- 動画プレーヤー、ストリーミング、メディアパイプラインに携わるエンジニアのオンボーディング。
- キーフレーム間隔やBフレームなどのコーデック設定がファイルサイズに与える影響を学ぶ。
- 動画圧縮の基礎を扱うワークショップや講座での教材として使う。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/leandromoreira/digital_video_introduction.git - 2
プロジェクトフォルダーに移動する
cd digital_video_introduction - 3
セットアップスクリプトを実行する(Dockerが必要)
./setup.sh
使う前に知っておきたいこと
- 実践セクションを利用するには、Dockerのインストールが必要です。
- ソフトウェアライブラリやツールではなく、学習ガイドです。
収録されている特集
トピック
よくある質問
- digital_video_introduction とは?
- デジタル動画の基礎を、色やフレームの種類、H.264・H.265・VP9・AV1などのコーデック、ストリーミングまで、FFmpegの例を交えて実践的に学べる初心者向けガイドです。 ソフトウェア開発者を主な対象としつつ、誰でも理解できるように書かれた、デジタル動画の仕組みを学ぶ実践的な入門ガイドです。ピクセル、解像度、アスペクト比、ビットレートといった基本用語から始め、色・時間・空間における冗長性を取り除いて動画を圧縮する方法を解説します。
- digital_video_introduction は無料で使えますか?ライセンスは?
- digital_video_introduction は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- digital_video_introduction は今もメンテナンスされていますか?
- 活発にメンテナンス中。digital_video_introduction の最終コミットは 2026年11月5日 です。
- digital_video_introduction は何に使えますか?
- 動画プレーヤー、ストリーミング、メディアパイプラインに携わるエンジニアのオンボーディング。 キーフレーム間隔やBフレームなどのコーデック設定がファイルサイズに与える影響を学ぶ。 動画圧縮の基礎を扱うワークショップや講座での教材として使う。
- digital_video_introduction のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/leandromoreira/digital_video_introduction.git プロジェクトフォルダーに移動する: cd digital_video_introduction セットアップスクリプトを実行する(Dockerが必要): ./setup.sh
- digital_video_introduction はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/leandromoreira/digital_video_introduction
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Linux、Mac、Windowsで使えるオープンソースの動画トランスコーダー。既存の動画をスマートフォン、テレビ、ゲーム機、ブラウザー向けのMP4、MKV、WebMに変換します。
再エンコードせずに動画・音声ファイルをロスレスでカット、トリミング、リマックスできるクロスプラットフォーム対応のFFmpeg GUI。
Linux向けのオープンソースCCTV・映像監視ソフトウェア。IP、USB、アナログカメラの映像を撮影、解析、録画し、監視できます。
Brotliは、RFC 7932で規定された汎用の可逆圧縮形式とそのリファレンスライブラリで、主要な汎用圧縮方式に匹敵する圧縮率を実現します。
Rust製の低遅延Webリモートデスクトップ。H.264をWebSocketでブラウザーに送り、WebCodecsでデコードします。