视频压缩、码率与流媒体传输知识总结

🎥 视频压缩、码率与流媒体传输知识总结

本笔记整理了 I/P/B 帧结构、码率计算、文件大小估算、压缩格式对比、推流带宽建议等视频工程常见技术要点。


一、单帧与未压缩视频数据量估算

  • 分辨率:1920×1080(1080p)

  • 色深:8bit × 3通道 = 24bit = 3 字节/像素

  • 每帧大小:

    • 1920 × 1080 × 3 ≈ 5.93 MB
  • 未压缩视频大小估算(30fps × 1.5 小时):

    • 5.93 MB × 30 × 60 × 90 ≈ 960 GB

二、压缩格式与文件大小对比(1.5 小时)

编码格式 压缩方式 平均码率(估算) 文件大小估算 播放建议带宽
未压缩 无压缩 ~1524 Mbps ~960 GB ≥1.6 Gbps
H.264 有损压缩 8–16 Mbps 6–12 GB ≥20 Mbps
H.265 / HEVC 高效压缩 5–10 Mbps 3–7 GB ≥10 Mbps
AV1 极致压缩 2–6 Mbps 2–4 GB ≥6 Mbps


三、RTSP 推流时的 2K@30fps 带宽需求估算

  • H.264:推荐码率 8–16 Mbps → 推荐带宽 12–20 Mbps
  • H.265:推荐码率 5–10 Mbps → 推荐带宽 8–15 Mbps

实际带宽 ≈ 码率 × 1.2–1.5,用于冗余、丢包与网络抖动。


四、码率、大小与时间三角关系

核心公式:

`text

  1. Bitrate (bps) = Size (Bytes) × 8 ÷ Duration (s)
  2. Size (Bytes) = Bitrate × Duration ÷ 8
  3. Duration (s) = Size × 8 ÷ Bitrate
    `

示例:

  • 文件大小:600 MB
  • 播放时长:10 分钟 = 600 秒
  • 平均码率 ≈ (600 × 1024² × 8) ÷ 600 ≈ 8.39 Mbps

五、码率设定的依据

目标码率 ≠ 简单计算,需参考:

  • 分辨率、帧率
  • 编码格式效率(H.264 < H.265 < AV1)
  • 画面复杂度(动作/纹理丰富 → 提高码率)
  • 画质预期目标(高压缩 or 无损)

经验表(1080p@25fps):

画质等级 H.264 推荐码率
高质量 5–8 Mbps
中画质 3–5 Mbps
一般监控 1.5–3 Mbps


六、查看视频码率与类型

使用 MediaInfo:

  • Bit rate:视频平均码率
  • Bit rate mode:
    • Constant → CBR
    • Variable → VBR

使用 ffprobe:

bash ffprobe -v error -selectstreams v -showentries stream=bitrate -of default=noprintwrappers=1 input.mp4


七、I帧 / P帧 / B帧 解码与播放顺序详解

  • I帧:关键帧,独立解码
  • P帧:预测帧,参考前 I/P帧
  • B帧:双向预测帧,需前后参考帧

示例播放顺序:

播放顺序:I - B - B - P - B - B - P 解码顺序:I → P4 → B2/B3 → P7 → B5/B6

解码依赖图:

解码顺序 ┌──────────────┐ ↓ ↓ [I] → [P4] [P7] ↑ ↑ ↑ [B2] [B3] [B5][B6] └────┴──────────┘


八、编码参数简要说明(ffmpeg)

  • -g:GOP 长度(控制 I 帧间隔)
  • -bf:B 帧数量(B 帧越多压缩越好,但延迟上升)
  • -refs:参考帧数量
  • -b:v:目标码率(可配合 CBR/VBR/CRF)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/84364.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/84364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式C++学习路线

&#x1f680; 嵌入式C学习路线图 从C语言基础到嵌入式C高手的完整路径 &#x1f4cb; 学习进度追踪 总体目标&#xff1a; 20-26周完成全部学习内容 前置条件&#xff1a; C语言基础 STM32开发经验 学习方式&#xff1a; 理论学习 实践项目 阶段1: C基础过渡 (2-3周) 目标…

VSCode1.101.1Win多语言语言编辑器便携版安装教程

软件下载 【名称】&#xff1a; VSCode1.101.1 【大小】&#xff1a; 120M 【语言】&#xff1a; 简体中文 【安装环境】&#xff1a; Win10/Win11 【迅雷网盘下载链接】&#xff08;务必手机注册&#xff09;&#xff1a; 迅雷 【网站下载链接】: 其他网盘 软件介绍 VSCod…

ssh 服务和 rsync 数据同步

目录 一、ssh服务 1、概述 2、命令解析 远程登录命令 远程拷贝命令 3、登录方式配置 1、用户名密码登录 2、公钥验证登录 二、rsync 数据同步 1、rsync概述 2、rsync运行原理 3、rsync部署 一、ssh服务 1、概述 ssh服务&#xff0c;一种远程管理连接工具&#xf…

使用随机森林实现目标检测

核心实现思路 滑动窗口策略&#xff1a;在图像上滑动固定大小的窗口&#xff0c;对每个窗口进行分类多维特征提取&#xff1a;结合统计特征、纹理特征、边缘特征、形状特征等随机森林分类&#xff1a;训练二分类器判断窗口是否包含目标后处理优化&#xff1a;使用非极大值抑制…

3.6 move_base导航初体验

1.环境搭建 在工作空间src下git wpr_simulation&#xff0c;安装install_for_noetic.sh&#xff0c;然后再回退工作空间进行编译 下载参数文件 git clone https://github.com/6-robot/wpb_home.git下载需要魔法&#xff0c;在这里可以使用手机热点进行平替 进入脚本文件夹 …

Mysql高级——MVCC(多版本并发控制)

MySQL MVCC&#xff08;多版本并发控制&#xff09;详解 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;是 MySQL InnoDB 存储引擎实现的一种并发控制机制&#xff0c;用于在保证事务隔离性的同时&#xff0c;提高数据库的并发性能。下面从原理、实现、事务隔…

Oracle union连接的怎么排序

在Oracle数据库中&#xff0c;使用UNION或UNION ALL操作符来合并两个或多个查询结果时&#xff0c;如果想对这些合并后的结果进行排序&#xff0c;通常有两种方法可以实现&#xff1a; 方法1&#xff1a;在最后的查询结果上使用ORDER BY 你可以在所有使用UNION或UNION ALL合并…

uni-app总结2-所需知识储备和学习途径

使用uni-app进行跨平台开发&#xff0c;开发者不用去掌握各个平台的开发语言&#xff0c;只需一套代码即可完成多端的产品输出。那么使用uni-app需要掌握什么呢&#xff0c;这里给大家分享一下。 Vue.js uni-app里是通过Vue来开发的&#xff0c;所以首先肯定是要掌握Vue语言。…

如何高效实现公司文件管理

要实现公司文件管理的高效&#xff0c;企业应聚焦统一文件规范、部署文档管理系统、强化权限控制、推动协同编辑、实施定期清理、推进文化建设、引入可视化分析。其中&#xff0c;统一文件规范是文件高效管理的基础。若缺乏清晰的命名规则与分类体系&#xff0c;即便配备了先进…

多模态大语言模型arxiv论文略读(124)

MediConfusion: Can you trust your AI radiologist? Probing the reliability of multimodal medical foundation models ➡️ 论文标题&#xff1a;MediConfusion: Can you trust your AI radiologist? Probing the reliability of multimodal medical foundation models …

nacos的总结

服务发现与健康监测&#xff1a;Nacos 支持多种服务注册方式&#xff0c;包括 API、SDK 和 Annotation 等&#xff0c;服务消费者可以通过 DNS 或 RPC 方式方便地发现服务。其健康检查机制通过主动和被动的方式实时监测服务实例的健康状态&#xff0c;确保流量不会被发送到不健…

低轨导航 | 低轨卫星导航PNT模型,原理,公式,matlab代码

一、PNT模型原理 低轨卫星PNT(定位、导航、授时)模型利用低轨星座的快速几何构型变化和强信号特性,通过三类核心观测值实现增强定位: 几何增强原理 低轨卫星速度7km/s(比GNSS快8-10倍)5分钟内观测几何变化相当于地面站24小时变化量加速模糊度收敛和误差分离信号增强原理…

基于python的查询工具,查询手机号的卡号归属地

本文介绍了一个利用Python进行电话号码归属地查询的代码示例。代码使用requests库发送HTTP请求&#xff0c;伪装浏览器UA头&#xff0c;通过lxml库解析网页数据&#xff0c;并运用XPath提取号码归属地信息。程序构建了查询URL&#xff0c;发送GET请求后解析返回的HTML内容&…

AI面试系统选型HR应考虑哪些问题?

北森人才管理研究院发布的《2025 企业校园招聘 AI 应用实用指南》数据显示&#xff1a;全球 44% 的企业已在招聘环节部署AI技术&#xff0c;72% 的 HR 每周至少使用一次 AI 工具&#xff0c;87% 的 HR 认为 AI 能显著提升招聘效率。 来源于《北森2025 企业校园招聘 AI 应用实用…

Redis02

redis的持久化机制 1.redis为什么需要持久化 redis本身运行时数据保存在内存中&#xff0c;那么在关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉。 redis持久化方式有两种: RDB AOF redis默认采用了一种持久化方式&#xff0c;即RDB &#xff08;Redi…

Gartner发布网络安全组织设计指南:设计网络安全组织的五项原则和六种主要安全组织类型

安全和风险管理领导者经常寻求一种通用的模型来组织其职能&#xff0c;这可能导致效率低下和需求得不到满足。然而&#xff0c;目前并没有一个标准的组织模型。这项研究可以帮助他们根据企业实际情况&#xff0c;设计出最合适的网络安全组织。 主要发现 许多安全和风险管理 (SR…

简述redis的单线程模式

在redis版本6之前&#xff0c;网络IO和键值对读写都是由一个线程来完成的。而redis的其他功能&#xff0c;比如持久化、异步删除、集群数据同步等&#xff0c;是由其他线程完成的。 为什么采用单线程 多线程有助于提升吞吐率&#xff08;系统同时处理的请求数&#xff09;&am…

WebSocket深度指南:从零基础到生产级应用

📚目录 1. WebSocket基础概念深度解析 2. WebSocket协议技术详解 3. WebSocket生命周期与状态管理 4. Spring Boot WebSocket完整实现 5. 完整聊天室项目实战 6. 高级功能与扩展应用 1. WebSocket基础概念深度解析 1.1 什么是WebSocket?深度理解 WebSocket是HTML5开…

复现 apache HTTPD 换行解析漏洞(CVE-2017-15715)

一、漏洞环境 docker环境 http://192.168.99.124:8082二、漏洞原理 Apache HTTPD是一款HTTP服务器&#xff0c;它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞&#xff0c;在解析PHP时&#xff0c;1.php\x0A将被按照PHP后缀进行解析&#xff0c;导致…

创始人 IP 起盘方法论:从 0 到 1 的系统化破局路径

在流量逻辑不断更新的当下&#xff0c;创始人 IP 如何构建可持续的商业闭环&#xff1f;结合行业头部案例的实战经验&#xff0c;可梳理出一套兼顾落地性与前瞻性的起盘策略&#xff0c;帮助 IP 在波动的市场中建立稳定的变现能力。 一、定位&#xff1a;在动态中验证方向 某…