码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 01-编码-H264编码原理


    整体方案:
    采集端:摄像头采集(YUV)->编码(YUV转H264)->RTMP推流
    客户端:RTMP拉流->解码(H264转YUV)->YUV显示(SDL2)

    1.整体概念
    编码的含义就是压缩,将摄像头采集的YUV或RGB数据压缩成H264。
    压缩的过程就是去除信息冗余的过程,一般视频有如下的冗余信息。
    (1)空间冗余:在同一个画面中,相邻的像素点之间的变化很小,因而可以用一个特定大小的矩阵来描述相邻的这些像素。
    (2)时间冗余:相邻的画面变化很小,因而可以记录变化的部分代替记录整个画面,从而减少空间的使用。
    (3)编码冗余:对出现概率高的像素分配尽量少的字节,对出现概率低的像素分配尽量多的字节。
    (4)视觉冗余:丢掉人眼不敏感的像素颜色,减少存储空间使用而不影响观看效果。
    (5)知识冗余:根据已有知识,对图像或物体构造其基本模型,并创建对应各种特征的图像库,图像的存储只保存一些特征参数。

    H264编码:帧内预测,帧间预测,变化量化,熵编码,NAL层编码。

    YUV数据进行编码后,会生成I帧,P帧和B帧,下面对这三种帧进行描述。
    I帧:关键帧,采用帧内压缩技术生成,I帧可以理解成一个完整的画面。
    P帧:采用帧间压缩技术,又叫向前参考帧,P帧表示的是这一帧与前一

  • 相关阅读:
    一个jsqlparse+git做的小工具帮我节省时间摸鱼
    多频电磁法概述 - 2. 理论
    侯捷 C++ STL标准库和泛型编程 —— 4 分配器 + 5 迭代器
    [项目管理-34]:项目经理在强矩阵与弱矩阵管理中不同的作用
    黑马点评--好友关注
    K8S使用开源CEPH作为后端StorageClass
    Python基础指南:表达式、语句和函数的基本概念及示例讲解
    MyBatis的各种查询功能(5种)
    安装并创建自己的第一个vue项目
    企业电子招投标采购系统源码之电子招投标的组成
  • 原文地址:https://blog.csdn.net/sishen4199/article/details/134258596
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号