ZLMediaKit
ZLMediaKit服务器源码再读
WebApi
/**
安装api接口
所有api都支持GET和POST两种方式
POST方式参数支持application/json和application/x-www-form-urlencoded方式
*/
void installWebApi() {
addHttpListener();
GET_CONFIG(string,api_secret,API::kSecret);//获取线程负载
//测试url http://127.0.0.1/index/api/getThreadsLoad
api_regist(“/index/api/getThreadsLoad”,{
EventPollerPool::Instance().getExecutorDelay([invoker, headerOut](const vector &vecDelay) {
Value val;
auto vec = EventPollerPool::Instance().getExecutorLoad();
int i = API::Success;
for (auto load : vec) {
Value obj(objectValue);
obj[“load”] = load;
obj[“delay”] = vecDelay[i++];
val[“data”].append(obj);
}
val[“code”] = API::Success;
invoker(200, headerOut, val.toStyledString());
});
});
监听kBroadcastHttpRequest
处理kBroadcastHttpRequest
FFMPEG
ffmpeg循环推流://注意看,此处推的是rtmp,webrtc服务器也能接收到流
ffmpeg -re -stream_loop -1 -i 1.mp4 -vcodec h264 -acodec aac -f flv rtmp://192.168.2.205/live/test1
rtsp服务器,端口默认554
rtsps服务器,端口默认322
rtmp服务器,端口默认1935
rtmps服务器,端口默认19350
http服务器,端口默认80
https服务器,端口默认443
telnet远程调试服务器
在主流的推流拉流技术中,主流的推送协议RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包
RTMP是目前最主流的流媒体传输协议,对CDN支持良好,但RTMP不支持浏览器
RTMP Real Time Messaging Protocol(实时消息传输协议)
RTMP HLS拉流、HTTP-FLV拉流、RTMP拉流
| 摄像头或录屏格式 | RGB、YUV | H.265、H.264 |
|音频 |PCM |AAC|
合成 FLV、TS、RTMP packet格式
向服务器推流的协议:
HLS、RTSP、RTMP 应用层
RTCP、RTP 传输层协议
RSVP 网络层协议
从服务器拉流:
HLS、RTSP、RTMP 应用层
RTCP、RTP 传输层协议
RSVP 网络层协议
H.264 和 AAC 使用硬解码(GPU解码和CPU解码)和软解码(CPU解码)
将YUV或RGB
ZLMediaKit相关推荐
- 系统中编译安装ZLMediaKit的步骤
这篇文章给大家分享的是centos6系统中编译安装ZLMediaKit的步骤.小编觉得挺实用的,因此分享给大家学习.如下资料是编译安装的步骤. 1.安装基础编译环境 1.1 gcc-5.4的安装 ...
- mac下RTSP服务器搭建(ZLMediaKit)
mac下RTSP服务器搭建(ZLMediaKit) 目录 获取代码 编译器 cmake 依赖库 构建和编译项目 运行 测试 注:参考wiki(包含其他系统安装方式):https://github.co ...
- 使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放
使用 GB28181.Solution + ZLMediaKit + MediaServerUI 进行摄像头推流和播放 独立观察员 2020 年 8 月 25 日 一.摄像机 GB28181 配置 打 ...
- ZLMediaKit webRTC编译
ZLMediaKit webrtc编译 安装编译环境 代码下载 编译器要求 编译器安装 运行ZLMediaKit 测试webrtc 参考 最近公司要提高流媒体视频的播放性能,多方查询资料后,发现ZLM ...
- ZLMediaKit中_all_track_ready置为true的过程
ZLMediaKit中_all_track_ready置为true的过程 RtmpMediaSourceImp继承来自以下类 public RtmpMediaSource public TrackLi ...
- ZLMediaKit视频推流和播放步骤
记录一下使用ZLMediaKit轻量级流媒体服务器进行视频推流和播放的步骤,以免后期遗忘: 一.首先要开启ZLMediaKit流服务器,或者启动带rtmp的nginx,这里采用第一种方案 cd ZLM ...
- ZLMediaKit启用webrtc编译
参考资料 ZLMediaKit github https://github.com/ZLMediaKit/ZLMediaKit ZLMediaKit 微信公众号 可查看视频教程 ZLMediaKit ...
- 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放
场景 目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS.EasyDarwin.ZLMediaKit和Monibuca等. 1.SRS GitHub - ossrs/srs: SRS is a ...
- ZLMediaKit源码分析 - NotifyCenter
简介 ZLTooKit的NoticeCenter实现一个全局的事件订阅分发的松耦合机制,通过单例模式获取全局唯一的NoticeCenter对象进行事件监听(addListener).发送(emitEv ...
- ZLMediaKit Windows编译快速入门
前言 我也只是个初学ZLMediaKit的,遇到什么我就写什么,但是Windows平台的使用确实让我觉得有些难为情,我就记录了下来 一.下载源码 前提条件:安装git #国内用户推荐从同步镜像网站gi ...
最新文章
- LeetCode Majority Element
- Gradle笔记系列(一)
- Flutter Gzip 编码与解码 Dart Gzip 工具类操作
- 你的心思很难猜?3亿+用户的心TA都懂!
- Ubuntu下远程访问MySQL数据库
- 适配器模式/adapter模式/结构型模式
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境
- 快递100 的 《API URL 所支持的快递公司及参数说明》和《支持的国际类快递及参数说明》
- Halcon教程八:简单的语法介绍
- java pageoffice_JAVA调用PageOffice在线打开、编辑Word文档
- 怎么将图片转成html,一种将图片转成HTML文档的方法与流程
- Delphi 字体修改一例 (转)
- 调用QQ与陌生人聊天
- 使用较广泛的安全测试工具有哪些?
- 按下 Home 键后发生了什么事?
- AI视屏处理(C++)
- Python中的sys中的stdout
- 微信跳转外部浏览器下载app
- linux安装un解压工具,压缩及解压缩工具
- GIT码云仓库提交步骤
热门文章
- 翻译文本软件有什么?文本翻译器有什么?
- PS插件CameraRaw-初次尝试
- Python/numpy之ravel()多维数据展平函数
- excel学习-数据透视表字段修改
- GUN tar for windows Practice
- Apple Tree(dfs序+树状数组)
- 操原上机(一)在 Windows 环境下,编写一个批处理程序(算命大师.bat)
- HTML搜索框-滑块-简单验证
- python调用msfconsole全自动永恒之蓝攻击_永恒之蓝-ETERNALBLUE漏洞MS17-010利用过程
- 【Python爬虫+数据可视化】国内疫情或将零增长,我们离疫情结束有多远?(世界地图)