文章目录
- 前言
- 一、基础知识
-
- 1.1 直播推流流程分析
-
- 1.1.1 直播推流流程分析
- 1.1.2 推流过程
- 1.1.2 直播rtmp协议分析
-
- RTMP
-
- RTMP优缺点
- RTMP协议类型
- 握手
- 推流
- 二、流媒体服务器
-
- 2.1 直播服务器
-
- ubuntu 搭建crtmp流媒体服务器
- 1.2 下载ffmpeg工具推流并使用功能vlc拉流播放测试
- 1.3 nginx-rtmp源码下载、编译运行(ubuntu)
-
- crtmp参考1.2
- windows搭建流媒体服务器
- 直接使用Docker搭建好的CDN服务器
前言 一、基础知识 1.1 直播推流流程分析 1.1.1 直播推流流程分析
文章图片
推流协议:rtmp
直播服务器CDN:
- nginx-rtmp模块
- crtmp-server
- rtmp
- http-flv adobe的
- hls(苹果的延迟10s左右)
vlc
ffplay
基于flash的插件
1.1.2 推流过程
文章图片
1.1.2 直播rtmp协议分析
文章图片
文章图片
RTMP
- (Real Time Messaging Protocol,实时消息传送协议)
- RTMP是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。
RTSP(Real Time Streaming Protocol) 实时流传输协议,是TCP/IP协议体系中的一个应用层协议
RTP,即real-time transport protocol(实时传输协议),为实时传输交互的音频和视频提供了端到端传输服务。其中包括载荷的类型确认,序列编码,时间戳和传输监控功能。一般应用都是基于UDP协议,来使用RTP的多路技术以及验和服务。
RTCP,即实时传输控制协议(Real-time ControlProtocol,RTCP)
SDP全称是Session Description Protocol,翻译过来就是描述会话的协议。主要用于两个会话实体之间的媒体协商。什么叫会话呢,比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。
SIP(Session Initiation Protocol),是基于IP的一个应用层控制协议。由于SIP是基于纯文本的信令协议,可以管理不同接入网络上的会话等。会话可以是终端设备之间任何类型的通信,如视频会话、既时信息处理或协作会话。该协议不会定义或限制可使用的业务,传输、服务质量、计费、安全性等问题都由基本核心网络和其它协议处理。RTMP优缺点
- 优点
主流CDN支持,市面上绝大多数的直播产品采用。一协议简单易实现
- 缺点
- 基于TCP协议开销大
- Adobe私有协议 不维护了
- 工作在ILPL上口J文A.可宝越方火墙;
- RTMPT封装在HTTP请求之中,可穿越防火墙;
文章图片
推流
文章图片
二、流媒体服务器 2.1 直播服务器
- 七牛、腾讯、网易
- red5 ( java)和FMS商用
- crtmpserver (开源)
- Nginx+RTMP插件(开源)
- 虚拟机创建
- 安装OpenSSH
shiver@ubuntu:~$ sudo apt-get install openssh-server
The following packages have unmet dependencies:
openssh-server : Depends: openssh-client (= 1:7.6p1-4ubuntu0.5)
Depends: openssh-sftp-server but it is not going to be installed
Recommends: ssh-import-id but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
shiver@ubuntu:~$ sudo apt-get install openssh-client
shiver@ubuntu:~$ sudo apt-get install openssh-server
先卸载client版本 在安装 会有奇效,我是ubuntu18
- SSH连接本地虚拟机
[LINUX]使用SSH通过主机访问本地VMware虚拟机
- crtmpserver编译
windows/ubuntu编译crtmpserver1.2 下载ffmpeg工具推流并使用功能vlc拉流播放测试
参考 crtmpserver系列(二):搭建简易流媒体直播系统
文章图片
1.3 nginx-rtmp源码下载、编译运行(ubuntu) crtmp参考1.2
windows搭建流媒体服务器
Windows10下nginx的rtmp服务器搭建
直接使用Docker搭建好的CDN服务器
docker安装nginx+rtmp模块搭建服务器实现ffmpeg推流+ffplay播放
【项目实战|[笔记]Qt5+FFMpeg+Opencv 实现实时美颜直播推流《一》基础知识以及直播服务器配置】Docker简易搭建个人直播流rtmp服务器总结
推荐阅读
- 数据库|SQL SERVER数据库使用过程中系统提示死锁处理办法
- zabbix|zabbix监控基本概念和部署
- OpenCV图像处理|【OpenCV图像处理12】特征检测与匹配
- opencv|opencv入门
- opencv|小白写程序之利用OpenCV Dlib Face_Recognition进行人脸识别操作
- 树莓派+python|树莓派+python+Opencv+face_confignition实现实时人脸识别(人脸识别门禁系统)
- 计算机视觉|【人脸检测】基于OpenCV和Face_Recognition实现人脸检测
- 服务器|nginx网站服务
- 数据库|手工编译安装LNMP