随笔分类 - C/C++
用于积累经验,查漏补缺
摘要:参考文献 https://webrtc.org.cn/mirror/ (主要参考文章) https://www.an.rustfisher.com/webrtc/intro/sync-build/(参考一下代理设置) https://blog.csdn.net/dangwei_90/article/
阅读全文
摘要:文章推荐:(提前了解背景) Open vSwitch源码阅读笔记 SDNLAB技术分享(六):Open vSwitch匹配处理流程和拓展性 ovs流表 OpenvSwitch 流表转换 上面文章不需要全部看懂,了解即可!! 一:功能目的和扩展字段含义 (一)功能目的:实现openflow字段的延迟更
阅读全文
摘要:功能介绍:实现一个类似ECHO报文处理机制 (一)ECHO报文回顾 注意:一般data数据是控制器填充的时间戳信息,当data再次回到控制器时,控制器获取新的时间戳信息,新的时间戳-data中旧的时间戳 = 控制器到交换机×2的时延 。以此获取了控制器到交换机的时延信息!!! (二)改进的ECHO
阅读全文
posted @ 2021-10-28 11:54
山上有风景
摘要:参考自: http://blog.chinaunix.net/uid-28541347-id-5578403.html https://blog.csdn.net/jasenwan88/article/details/7365060 https://www.cnblogs.com/oracleloy
阅读全文
摘要:一:视频为什么可以被压缩 视频信息之所以存在大量可以被压缩的空间,是因为其中本身就存在大量的数据冗余。 其主要类型有以下四种: 时间冗余:视频相邻的两帧之间内容相似,或者帧直接存在运动关系 空间冗余:视频的某一帧内部的相邻像素存在相似性,或者变化的相关性 编码冗余:视频中不同数据出现的概率不同(所以
阅读全文
摘要:一:协议解析 (一)协议格式设计 (二)字段说明 Version(1Byte):版本信息,这里默认0即可 Status(1Byte):协议的状态信息 #define PROTO_LOGIN_REQ 0x01 //登录服务器的请求与响应 #define PROTO_LOGIN_ACK 0x81 #de
阅读全文
摘要:一:主业务的创建 主要场景是对房间的管理,多方进行音视频互动。 Router代表房间,Transport代表一个传输,每个用户加入房间都会创建一个对应的连接。 Producer生产者,共享的音视频流中,每个音频、视频流都会产生一个生产者 Consumer消费者,对于每个加入房间的用户,都可以消费其他
阅读全文
摘要:补充:JS部分和C++代码见 WebRTC进阶流媒体服务器开发(三)Mediasoup源码分析之应用层(代码组成、Server.js、Room.js) mediasoup C++:C++部分,用于处理流媒体传输,包括lib与worker两部分 >lib:一些js文件组成,主要用于对mediasoup
阅读全文
摘要:一:NAT类型 基于UDP的P2P应用需要考虑NAT的类型,因为不同的NAT组合的穿透的方式并不一致,有的能通, 有的不能通。一般来讲, NAT可以分为四种类型,分别是: 1, 全锥型(Full Cone) 2, 受限锥型(Restricted Cone), 或者说是IP受限锥型 3, 端口受限锥型
阅读全文
摘要:一:WebRTC学习了解 (一)WebRTC应用场景 WebRTC的愿景就是各浏览器之间可以快速开发可以实时互动的音视频的应用场景!!! 将WebRTC加入浏览器,使得浏览器的功能更加强大。WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基
阅读全文
摘要:一:简单的播放器V1(只播放视频) (一)回顾 FFmpeg编程(二)FFmpeg中级开发 FFmpeg编程(三)SDL开发 (二)FFmpeg与SDL的简单结合 #include <stdio.h> #include <SDL.h> #include <libavutil/log.h> #incl
阅读全文
摘要:一:SDL介绍与安装 (一)SDL介绍 (二)SDL安装 1.源码下载:http://www.libsdl.org/download-2.0.php 2.生成Makefile文件 ./configure --prefix=/usr/local 3.安装 sudo make -j 8 && sudo
阅读全文
摘要:一:H264解码处理 (一)解码步骤 1.引入解码头文件 #include <libavcodec/avcodec.h> 2.常用数据结构 AVCodec编码器结构体: 所使用的编码器类型,(H264/H265,音频/视频)AVCodecContext编码器上下文: 串联各个API,形成API链条,
阅读全文
摘要:FFmpeg代码结构 libavformat 实现了流协议,容器格式及其基本IO访问 一:日志系统的使用 日志级别:(依次降低) AV_LOG_ERROR AV_LOG_WARNING AV_LOG_INFO AV_LOG_DEBUG (一)日志系统编程 #include <stdio.h> #in
阅读全文
摘要:一:音视频直播架构介绍 (一)直播产品种类 泛娱乐化直播:大规模直播(没有互动),多为观看,可以使用该架构。支持rtmp、hls、http/flv 实时互动直播:使用了RTP协议,与目前的学习协议不同;常用webrtc (二)泛娱乐化直播架构 1.主播端发送信令到信令服务器,创建房间,返回房间地址
阅读全文
摘要:一:RTMP协议 详细解析见:https://www.jianshu.com/p/b2144f9bbe28 (一)RTMP创建流的基本流程 RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的连接建立完成后,RTMP协议也要客户端和服务器通
阅读全文
摘要:一:H264了解(可跳过) (一)H.264的主要目标 1.高的视频压缩比;2.良好的网络亲和性; 为了完成这些目标H264的解决方案是: 1.VCL video coding layer 视频编码层; 视频编码层,H264编码/压缩的核心,主要负责将视频数据编码/压缩,再切分。 2.NAL net
阅读全文
摘要:一:H264码流结构 (一)H264码流分层 1.VCL video coding layer 视频编码层,H264编码/压缩的核心,主要负责将视频数据编码/压缩。 2.NAL network abstraction layer 网络抽象层,负责将VCL的数据组织打包。并且用于处理数据在网络中出现的
阅读全文
摘要:一:视频入门 (一)视频定义(什么是视频) (二)图像 1.像素:图像由像素组成(如下图图片中的一个个小格子)。 对于每个像素,还有位深的概念:用多少个位来表示位深。类似于音频中的采样大小 RGB888:对于R、G、B中每个元素占8位 RGBA:同上,多了一个A(透明度) 2.RGB:每个像素是由R
阅读全文
摘要:一:音频入门 (一)声音三要素 1.音调(音频) 2.音量(振幅) 3.音色(谐波) 粉色曲线是最接近自然界中的波形(基频+多种不同频率音频合并:如黄色、蓝色)绿色曲线为基频(主频率),可以看到粉色曲线都是在主频率上微调(走势是基本一致的)越接近正弦波,声音一般越好听,畸形或产生噪波 (二)模数转换
阅读全文

浙公网安备 33010602011771号