流媒体服务器概览

使用Nginx搭建流媒体服务器 流媒体服务器(Streaming Media Server)是一种用于存储和传输音频、视频、直播等媒体内容的服务器软件。它通过网络将媒体文件实时传输给用户,而不需要用户先下载完整文件。流媒体服务器支持按需播放、实时广播等功能,常见的使用场景包括在线视频、音频点播、直播视频等。视频流媒体数据传输往往对流媒体服务器编解码能力和协议转换有要求,因为不同的编码格式和不同的协议适用的场景不同。例如,RTMP协议延迟低,但是web浏览器不支持,需要将其转为HLS或者是FLV才能进行播放。 阅读详情

摘要

本文介绍了Top 10的开源流媒体服务器及选型建议。

术语

媒体:音频、视频、文本等信息表示形式的统称。

串流:表示将媒体数据串行化发送,比如将PC上的游戏画面串流到Pico、Oculus Quest之类的VR设备,实现沉浸式的游戏体验。

媒体流:一个mp4文件可以被串流化成一个媒体流(Media Stream)。

轨:一个媒体流中可包含零到多个音频轨(Audio Track)和视频轨(Video Track)。媒体播放器播放时可根据各个轨的媒体样本(Media Sample)的呈现时间戳(pts)进行时钟同步。

流媒体:以串流化的方式在网络中传送的音频、视频媒体形式。

流媒体服务器:在网络上提供媒体数据串流化服务的程序,一般支持实时媒体源直播(Live Streaming)和历史媒体源点播(VOD)两种形式。通过配置不同的串流化策略,可以将直播和点播功能统一设计,让用户只通过点击时间进度条即可在直播和点播之间自然切换。

流媒体技术历史悠久,风靡一时的流媒体服务器多不胜数。本文仅描述采用C/C++语言开发的、影响力排名前十的开源流媒体服务器。根据是否支持WebRTC,作者将流媒体服务器划分为两大类:

古典流媒体服务器:支持RTMP或RTSP/RTP/RTCP协议。

现代流媒体服务器:支持WebRTC。

古典流媒体服务器

  1. live555:实现了RTSP/RTP/RTCP协议。支持mkv、mp4容器文件点播。优点是简单,缺点是支持的协议少,性能差。作者提供的Windows版源码仓库:
流媒体之从零实现搭建简单流媒体服务器,推流,拉流播放全景视频 一、直播与点播 直播:在我的理解中是实时录制的内容,类似各个晚会的实时直播过程,在现场采集图像的同时传输影像到网络上。 点播:是提前录制完成的内容,类似某些直播平台上根据观众的需求播放某些电影或经典电视剧。终端看到的内容是编辑好的视频文件,不是实时录制的。 本篇文章实现的功能就类似是点播,将本地的全景视频通过服务器传输到各个客户端。 二、实现直播或点播的关键步骤 1、搭建及配置流媒体服务器 ; 2、推流,将本地视频或直播视频以流媒体的形式推送给流媒体服务器 (可能会涉及格式转换); 3、拉流 ,从服务 阅读详情

相关推荐

对计算机专业来说学历真的重要吗?

我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...

启舰 55万+

FFmpeg4.3系列之18:ZLMediaKit流媒体直播

敬告:该系列的课程在抓紧录制更新中,敬请大家关注。敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等。包括:音视频流媒体、直播、Android、视频监控28181、等。我将带领大家一起来学习:ZLMediakit配置安装与直播推流拉流、ubuntu18,centos7,windows10。。具体内容包括:1.Ubuntu18安装配置ZLMediaKit。2.Windows10编译运行ZLMediaKit。3.Centos7编译运行ZLMediaKit。 音视频流媒体是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频流媒体的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、流媒体直播、视频监控、等等。 梅老师从事音视频流媒体行业18年;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。

流媒体服务器(3)—— 常见开源流媒体服务器对比分析

前言 目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等,我们应该怎么选择呢? 正文 今天这篇文章主要介绍SRS、EasyDarwin、ZLMediaKit和Monibuca的一些对比情况,可以作为日后调研选型的参考文档。 SRS SRS目前已经更新到3.0,功能和稳定性较之前的版本都有非常大的提升,新入门的同学可以考虑直接从3.0上手。接下来,我们从使用、配置、功能几个方面介绍SRS。 使用步骤 我们自己可以非常方便的搭

liuzhen007的专栏 5598

常见流媒体服务器方案对比分析

常见流媒体服务器方案对比分析

m0_60259116的博客 3788

手机音视频流媒体开发一些有用资料

目录: 1.CVideoPlayerUtility播放RTSP视频流 2.关于symbian流媒体播放 3.基于http的流媒体音乐播放器的开发 4. Symbian解码AMR的方法 5. 怎么样用C语言实现amr解码为pcm数据 6. Something about AAC 7. 3gp文件格式研究 8. mplayer音视频同步原理 9.  修改TCPMP界面 10.win

Bovi_L的专栏 3156

LiveQing视频点播流媒体RTMP推流服务用户手册-概览:CPU使用、内存使用、在线人数、流量统计、带宽使用(Mbps)、存储使用、实时存储(MB/s)...

LiveQing视频点播流媒体RTMP推流服务用户手册-概览:CPU使用、内存使用、在线人数、流量统计、带宽使用(Mbps)、存储使用、实时存储(MB/s)1、概览1.1、CPU使用1.2、内存使用1.3、在线人数1.4、流量统计1.5、带宽使用(Mbps)1.6、存储使用1.7、实时存储(MB/s)2、RTMP推流视频...

weixin_41293036的博客 146

流媒体服务器的作用

流媒体服务器(Media Streaming Server)在互联网上做视频点播和视频直播的基础支撑软件系统,如果您要在互联网上做视频播出应用,如在线课堂、网络电视、视频点播、视频资讯、短视频、网络直播、企业直播等,那您就需要使用流媒体服务器。从项目项目开发的角度来讲,流媒体服务器将您在构建在线应用中的与视频相关的工作集中处理,使得您可以只关注业务细...

一名高级工程师的博客 8571

38款 流媒体服务器开源软件

http://www.oschina.net/project/tag/111/streaming?lang=0&os=0&sort=view&p=1 Flash流媒体服务器 Red5 Red5是一个采用Java开发开源的Flash流媒体服务器。它支持:把音频(MP3)和视频(FLV)转换成播放流; 录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调

The Life with iOS 2万+

流媒体服务器一:使用成熟的流媒体SRS 搭建 RTMP流媒体服务器。使用ffmpeg 命令推流到SRS 服务器,使用ffplay 命令 从 SRS 服务器拉流播放。OBS推流,拉流

1 安装和测试srs流媒体服务器1 安装和测试srs流媒体服务器服务器:SRS(Simple RTMP Server,⽀持RTMP、HTTP-FLV,HLS)推流端:ffmpeg + OBS拉流端:ffplay +VLC + srs播放器1.1 安装srs流媒体服务器官网码云的源速度快:github的源速度慢:.git第⼀步,获取SRS。将官网上废话删除,直接写关键点这个名字是随便取的,之所以取3.0,是因为学习的教程中就是用3.0教授的,实际版本已经有5.x了。

hunandede的博客 4784

EasyDarwin开源流媒体服务器

本文介绍一个十分实用的高性能开源 RTSP 流媒体服务器:EasyDarwin。

明天你好的博客 6294

只需三分钟,即可轻松搭建流媒体服务器自己搞直播!支持OBS Studio、XSplit等流媒体文件,

使用OBS进行推流,点击通道,可以看到正在推流的地址信息,比如http://10.0.8.2:8080/live/01.m3u8。(推流格式:协议://ip地址:协议端口/live/名字 如http://10.0.8.2:8080/live/01.m3u8 )点击通道,可以看到正在推流的地址信息,比如http://10.0.8.2:8080/live/01.m3u8。播放(拉流)地址:rtmp://10.0.8.3:1935/live/01。rtmp://IP+端口/live/名字2。

qq_28768477的博客 1万+

搭建流媒体推流/拉流服务(RTMP/RTSP/HLS/HTTP-FLV)

搭建流媒体服务,将rtsp或者rtmp视频流转换为H5可以直接播放的视频。用在直播、安防监控、视频点播、屏幕画面转播等

Stronger的博客 3万+

常用流媒体服务器

以上这些服务器端本身都有各自的特点和开发的目标,因此有一些服务器端不一定完全能够满足用户自己的需求,用户需要根据其特性和自己的场景来加以取舍,最终需要用户根据WebRTC 服务器端的产品定位,功能,支持能力和自己的需求来决定选用哪种服务器。另外,根据视频会议是WebRTC的主要卖点,因此关于WebRTC的处理方式,很多开源媒体服务器的架构有有所不同,有的服务器端支持MCU方式,有的支持SFU方式,还有的WebRTC服务器支持混合方式。它支持视频会议,用户房间管理等非常灵活的功能,支持MCU模式。

程序猿老樊的博客 6041

WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构

WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构 WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的;如果不能实现 NAT 穿越,那么只能通过 TURN 服务器进行数据转发的方式实现通信。目前来看,Google 开源的用于学习和研究的项目基本都是基于 STUN/TURN 的 ...

weixin_40592935的博客 5008

学着搭建流媒体服务器

在aarch64上部署流媒体服务

lalee的博客 3925

如何快速的搭建简易的流媒体服务器

是一个基于Node.js的流媒体服务器,它提供了构建和管理实时音视频流媒体应用程序所需的功能。它是一个开源项目,具有灵活性和可扩展性,适用于各种流媒体应用场景。以下是一些RTMP支持:node-media-server 支持 RTMP(Real-Time Messaging Protocol)协议,用于接收和传输实时的音视频流。RTMP 适用于实时直播和互动应用等场景。多路并发流支持:node-media-server 具有多路并发流处理能力,可以同时处理多个流媒体的接收、转码、推流和录制等操作。

qq_42832540的博客 1911

全面解析开源RTSP流媒体服务器:功能、性能与应用场景对比

是一种网络传输协议,专门设计用于控制具有实时特性的数据传输,如音频和视频。RTSP提供了一个可扩展的框架,使实时数据的受控、点播成为可能。该协议用于建立和控制终端之间的媒体会话,允许客户端通过发送请求来控制媒体服务器上的媒体流,例如启动、停止和暂停媒体播放。RTSP通常与RTP(Real-time Transport Protocol)和RTCP(RTP Control Protocol)一起使用,以提供数据的实时传输和控制。控制能力:RTSP提供了一种可扩展的框架,使实时数据的受控、点播成为可能。

全世界的博客 5911

ZLMediaKit高并发实现原理

项目介绍 ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议。该项目已支持linux、macos、windows、ios、android平台,支持的编码格式包括H264、AAC、H265(仅rtsp支持H265);采用的模型是多线程IO多路复用非阻塞式编程(linux下采用epoll、其他平台采用select)。 该框架基于C++1...

老衲不出家 1万+

流媒体服务器SRS的搭建及QT下RTMP推流客户端的编写

本客户端基于我的博客:https://blog.csdn.net/linyibin_123/article/details/132107948 开发的播放器下新增RTMP推流。 播放器可以支持软硬解码,截图、录像等功能,详细功能看该博客。本客户端支持读取文件解码后推流,也支持拉取网络流解码后进行推流。推流地址为前面搭建的RTMP流媒体服务器,推流成功后,通过VLC播放器从RTMP服务器上拉流下来播放。

linyibin_123的博客 3775

【AUTOSAR-COM】-2.3_通过PduGroup批量控制CAN Frame/Pdu的接收

-->如果实现类似UDS诊断 $28服务,控制所有APP CAN Rx Frame/Pdu/报文接收; -->自定义过滤CAN信号的接收。

「汽车电子助手」的博客 1840

基于深度学习的果蔬识别计价系统.zip

基于深度学习的果蔬识别计价系统.zip

上一篇: 在Windows上编译和运行ZLMediaKit
下一篇: Docker入门教程
ADM实验室
博客等级 码龄20年 155粉丝 26原创
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADM实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值