-
OPUS:最优,两个核:口和耳,不支持RTMP协议
AAC:最常见,直播系统尤其泛娱乐化直播系统
Speex:AAC与OPUS之前最常用,一些外围功能模块:回音消除降噪等
G.711、G.722:固话
查看全部 -
rtmp{
server{
listen 1935;
chunk_size 4000;
application live{
live on;
record off;
allow play all;
}
}
}
rtmp 服务配置
查看全部 -
X264:目前最优
X265:更优,但是占用CPU
OpenH264:比H264差,但是支持svc技术,移动端不支持硬编,软编耗电耗CPU
VP8/VP9(google)与X264/X265对应
查看全部 -
rtmp 实时消息传输: tcp/ip 应用层协议 推送/直播 基本数据单元为消息
1B 消息类型 2B 长度 3B 时间 4B 流id 消息体
传输时 消息回被拆分成消息块 chunk chunk header + chunk data
flv: 大块音视频 加入标记头信息 延迟表现和大规模并发成熟
HLS:分成5-10s 用m3u8索引管理 用于朋友圈分享
m3u8索引: 直播信号源--视频编码器(后台视频处理)--流切片器--各种ts媒体文件(分发模块)--索引文件(数据库)--客户端
cdn网络 为了解决用户访问资源慢出现的技术
边缘节点 二级节点(大城市) 源站
搭建流媒体服务:
准备流媒体服务器 linux max 编译安装nginx服务 配置rtmp服务并启动nginx服务
声音三要素:音调 音量 音色
音频量化(模数转换):模拟数据 采样 量化 编码 数字信号 == 0101001110
码率 = 采样率(1.6w/44.1/48k)x 采样大小(8位-电话/16位-常见) x 声道数(单/双)
音频压缩: 有损消除冗余数据 哈夫曼无损编码
音频编码: 时域转频域---心里声学模型---量化编码---比特流格式化---比特流
音频编解码 : opus(口 耳 实时互动 最快) aac(直播用 次快) speed(回音 降噪等) g.711(固话)
aac : 取代mp3 加入 sir ps 技术
aac lc 128k / aac he v2 64k / aac he v2 32k/
aac 格式 : adif 从头开始解码,用在磁盘文件中 adts 每一帧都有一个同步字,可以在任何位置解码
aac 编码库 : libfdk_aac > ffmpeg aac >libfaac> libvo_aacenc
H264: I帧 关键 帧内压缩 / p帧 向前参考1帧 / B帧 双向参考帧
sps: 序列参数集/pps:图像参数集
GOF: 一组帧数 p帧丢失 会花屏卡顿
视频编码器: x264/x265 /open h264(svc)/vp8/vp9
h264 压缩技术-编码原理: 帧内预测压缩,空域冗余数据/帧间预测压缩,时域冗余数据/dcp整数离散余炫变换,傅立叶变换/cabac压缩
h264结构:视频序列--图像--片--宏块--子快
h264编码分层:nal 视频数据网络抽象层--vcl 视频数据编码层
码率:sodb 原始比特流 / rbsp sodb最后补1 / ebsp 起始码增加一个起始位0x03 / nalu nal+ebsp
nal unit = nalu 头部 + 一个切片(头/数据) 切片
yuv格式:4:4:4/4:4:2/4:2:0 (平坦编码 /半平坦编码)
查看全部 -
安装nginx 配置rtmp
brew install nginx-full --with-rtmp-module
nginx -s reload 重启
nginx 启动
#配置rtmp server
rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
record off;
allow play all;
}
}
}
FFmpet
推流
ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName
拉流
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv
查看全部 -
直播:
泛娱乐化直播(斗鱼,熊猫,花椒)
共享端-信令
信令服务器处理信令(创建房间-聊天-礼物)
返回共享端流媒体云地址(CDN)
音视频-rtmp-CDN网络
实时互动直播(思科,全时,声网)
查看全部 -
1.安装brew(安装过的跳过)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装nginx
先glone nginx项目到本地
brew tap denji/nginx(这一步卡了我好久,安装nginx提示一直找不到nginx-full,网上相关的教程没更新,原因在于nginx仓库已搬迁)
其它照着老师的步骤敲代码就OK了
查看全部 -
音视频基础知识讲解
查看全部 -
H264码流分层
查看全部 -
H264基本概念
查看全部 -
AAC格式:
ADIF 用于存储在磁盘
ADTS 直播,音频流
查看全部 -
AAC LC 低频高频都用128k码流
SBR 低频高频采样率不同,既保证质量又减小消耗 (码流64k)
PS 不同声道数据只存差异化数据 (码流32k)
查看全部 -
AAC规格图
查看全部 -
直播90%用AAC
查看全部 -
常见的音频编解码器
查看全部
举报