Repolode
leandromoreira

leandromoreira/digital_video_introduction

面向开发者的数字视频入门教程,讲解色彩、帧类型、H.264/H.265/VP9/AV1 编解码与流媒体,并附带 FFmpeg 实操示例。

Star
16,380
Fork
1,381
未关闭 Issue
19
最近提交
前天

这是什么?

这是一份面向软件开发者、但任何人都能读懂的数字视频技术入门指南,配有大量可动手实践的示例。内容从像素、分辨率、宽高比、码率等基础概念讲起,再逐步解释视频如何通过去除颜色、时间和空间上的冗余来压缩。

指南涵盖色度抽样、I/P/B 帧、运动估计、帧内预测、变换、量化和熵编码等环节,说明通用编解码器的工作原理,并比较 H.264、H.265、VP9 和 AV1 的差异。后半部分介绍在线流媒体,包括渐进式下载、自适应码率流媒体和内容保护。

许多章节提供可直接运行的示例,包括容器化的 FFmpeg 和 mediainfo 命令,以及用于可视化图像矩阵、DCT 系数和运动矢量的 Jupyter 笔记本。项目还提供多种语言版本。

核心功能

  • 01讲解色彩模型、YCbCr、色度抽样和码率等核心概念。
  • 02介绍 I、P、B 帧类型,以及帧间与帧内预测如何去除冗余。
  • 03逐步拆解通用编解码器的主要环节,从画面分块到码流格式。
  • 04比较 H.264、H.265、VP9 和 AV1 的差异及其发展历史。
  • 05提供 FFmpeg 和 Jupyter 实操示例,用于分析视频文件。

适用场景

  • 帮助刚进入视频播放器、流媒体或媒体处理领域的工程师快速上手。
  • 理解关键帧间隔、B 帧等编码参数如何影响文件大小。
  • 用于视频压缩基础的培训或课程教学。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/leandromoreira/digital_video_introduction.git
  2. 2

    进入项目文件夹

    cd digital_video_introduction
  3. 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目

基于 Linux 的开源 CCTV 视频监控软件,可采集、分析、录制并监控 IP、USB 和模拟摄像头。

安全#cctv#video-surveillance#security-camera
5983+10 本周1315PHPGPL-2.0更新于 昨天

Brotli 是一种通用无损压缩格式及参考实现,遵循 RFC 7932 规范,压缩率接近主流通用压缩方法。

其他#compression#lossless-compression#codec
1.5万+22 本周1395TypeScriptMIT维护活跃更新于 17小时前