
音视频传输
lipku
这个作者很懒,什么都没留下…
展开
-
python实现rtmp推流
本文介绍了用python实现rtmp推流的几种方式,开源代码供参考原创 2023-12-28 17:14:21 · 2955 阅读 · 0 评论 -
ffmpeg音视频同步
在编码时,送入编码器的frame会置pts,视频frame的pts是当前的帧数、duration是1,音频frame的pts是当前总共发送的sample数、duration是一帧的sample数(aac是1024)还有一点要注意的是,在推送h264和aac的rtmp流时,需要将codec的extradata赋值给stream,代码如下。av_rescale_q函数的作用是将codec的时间单位换算成发送流stream的时间单位,公式为。stream的timebase都是1/1000,表示ms。原创 2023-12-28 15:18:42 · 535 阅读 · 1 评论 -
licode服务架构及流程
1,licode模块licode服务端主要由nuve、erizoController、erizoAgent和erizoJS组成。模块之间的关系借用网络上图片如下所示详情可参阅文章https://zhuanlan.zhihu.com/p/40462946。简单点理解:nuve管理多个erizoControllererizoController管理多个会议室room,一个room有一个或多...原创 2020-02-01 22:00:18 · 2809 阅读 · 0 评论 -
webrtc video jitter详解(二)
1,kalman滤波原理https://www.zhihu.com/question/23971601假设你有两个传感器,测的是同一个信号。可是它们每次的读数都不太一样,怎么办?取平均。再假设你知道其中贵的那个传感器应该准一些,便宜的那个应该差一些。那有比取平均更好的办法吗?加权平均。怎么加权?假设两个传感器的误差都符合正态分布,假设你知道这两个正态分布的方差,用这两个方差值,(此处...原创 2020-01-31 15:38:23 · 1424 阅读 · 1 评论 -
webrtc video jitter详解(一)
webrtc jitter中缓存最近一段时间内的视频数据包,供解码线程取出解码显示。本文以h264视频为例讲解缓存机制。webrtc先将接收到的rtp包组装成帧数据(vcmframe)1,h264 rtp传输格式h264在rtp包中的封装格式如下,以下为借用网络图片上图的左边的打包流程对应的场景是“NALU的长度 <= MTU”,直接将NALU的header拷贝到H264 RTP...原创 2020-01-30 21:28:34 · 2834 阅读 · 0 评论 -
licode安装使用
licode实现了webrtc的转发服务,通过socketio与客户端进行信令通信,媒体层走webrtc。1,准备环境操作系统ubuntu16.04如果需要外网使用,最好准备一个域名和ssl证书,现在很多云服务申请域名都提供一个二级域名的免费证书。2,安装licode1, 下载licode代码git clone https://github.com/lynckia/l...原创 2017-12-25 18:41:33 · 6088 阅读 · 1 评论 -
录像存储mp4格式
视频录像为mp4格式,采用的libmp4v2库来实现。初始化文件mp4fileHandle_ = MP4Create(filename);//创建mp4文件 //MP4SetTimeScale(mp4fileHandle_, 90000);//添加h264 track mp4VideoTrack_ = MP4AddH264VideoTrack(mp4fileHa...原创 2019-04-27 08:30:59 · 2003 阅读 · 0 评论