logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

webrtc的source、track和stream

media stream是track的集合(即track的容器)source是track的输入一个sender或者receiver对应于一个track,它们负责track的发送或者接收

#webrtc
FAAC源码阅读(1)——AAC和音频编码的介绍

1、介绍     AAC也叫高级音频编码,是基于MPEG-2的音频编码技术;MPEG-4出现后,AAC添加了一些新特性,重新集成到MPEG-4中2、AAC的编码流程2.1、滤波器组(Filter bank)     主要完成信号的时域到频域的转换,从而得到频域的频谱系数2.2、时域噪音修整(TNS)     通过在频域上的预测,来修整时域上的量化噪音的分布。在一些特

HM编码器代码阅读(22)——cabac的流程

TEncSbac::resetEntropy函数详解(熵编码的初始化过程):这个函数的实质就是初始化各种上下文// 重置熵编码器Void TEncSbac::resetEntropy(){IntiQp= m_pcSlice->getSliceQp();SliceType eSliceType= m_pcSlice->ge

#c++
HEVC/H.265理论知识(11)——网络适配层

一、HEVC分成视频编码层VCL和网络适配层NAL两层。VCL就是传统的视频编码处理,NAL就处理怎么把编码后的数据传输到网络上去二、NAL上的数据流由一个一个的NALU(NAL单元)构成三、NALU的分类:封装VPS、SPS、PPS、slice头部信息的NALU称为node-VALU;封装一个slice segment的编码数据的NALU称为VCLU四、图像类

HM编码器代码阅读(24)——变换系数的编码

入口函数TEncSlice::encodeSlice。在处理完VPS,SPS,PPS和片头信息之后就开始对片的数据(不仅是数据还有一些其他的参数和控制信息)进行编码了。encodeSlice函数就是熵编码的重头戏了。处理过程如下:(1)先初始化熵编码器,然后设置CABAC熵编码器为当前的熵编码器。(2)然后就是加载各种熵编码器,各种初始化,各种加载上下文信息。(3)遍历片中的每

#c++
HEVC解码器HM源码阅读(四)解析参数集

解析视频参数集VPS    得到如果NALU的装的是VPS,那么需要从NALU中把VPS解析出来,VPS包含了全局使用的一些信息,包含Profile、Level、Tier、时域层信息、TimingInfo、HRD等等    解析VPS的入口函数    1、创建VPS对象    2、解析VPS    3、把VPS放入参数集管理器中Void TDecTo

C++调用Lua读取配置文件的一个简单例子

首先顶一个Lua的处理类#ifndef _LUA_HANDLER_H_#define _LUA_HANDLER_H_extern "C"{#include#include#include};/*** Lua处理类*/class LuaHandler{public:// 构造函数LuaHandler(){// 打开lua虚拟机m_pLu

#c++#lua
HEVC/H.265理论知识(8)——熵编码

一、HEVC中熵编码采用的技术1、零阶(或者k阶)哥伦布指数编码(变长编码,类似于哈夫曼编码那样),主要用于VPS、SPS、PPS、slice头部信息的编码2、CABAC(算数编码),主要用于数据和参数的编码二、零阶哥伦布指数编码(假设对数字4进行编码,n=4)1、把n转换成二进制,即1002、对二进制加上一,即1013、计算二进制的比特数,假设为x,101的比特数

到底了