开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

Posted 爱是与世界平行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享相关的知识,希望对你有一定的参考价值。

开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

一、优秀的流媒体博客资源

1.1 EasyNVR:专注于安防视频互联网化的技术

1.2 青柿视频流媒体的博客

liveqing.com 视频直播/点播/安防国标GB28181流媒解决方案。

1.3 TSINGSEE官方博客

TSINGSEE青犀视频开放平台:https://blog.csdn.net/TsingSee

博客园地址:https://www.cnblogs.com/TSINGSEE/

1.3 EasyDSS官方技术博客

专注于视频互联网化解决方案:https://blog.csdn.net/EasyDSS

1.4 chenchao

使用C/C++,擅长Linux,android底层,ios,Qt.专注于音视频,网络通讯协议,流媒体开发:https://blog.csdn.net/chenchao_shenzhen

先后就职于德国BOSCH,iBabyLabs等著名企业担任架构设计师,主程, 精通嵌入式Linux,Android底层,iOS,音视频,网络通讯协议/流媒体开发.精通常见的第三方库如Qt,FFMpeg,Metal/OpenGL等。

1.5 其他

1.5.1 banmajio:JavaCV,海康,大华SDK开发直播相关。

1.5.2 impingo:开源项目Pingos作者

官网:https://pingos.io,github地址:https://github.com/im-pingo/pingos

1.5.3 合肥黑

1.5.4 未央千城

二、流媒体服务器-推流服务器

2.1 Monibuca

Monibuca(m7s) 是一个开源的Go语言实现的流媒体服务器开发框架。

官网地址:http://monibuca.com/

Monibuca 是一个开源的流媒体服务器开发框架,适用于快速定制化开发流媒体服务器,可以对接 CDN 厂商,作为回源服务器,也可以自己搭建集群部署环境。 内置了后台 web 界面,方便观察服务器运行的状态。 也可以自己开发后台管理界面,通过 api 方式获取服务器的运行信息。 Monibuca 提供了可供定制化开发的插件机制,可以任意扩展其功能。

2.1.1 核心引擎及插件

核心引擎以及内置插件提供的功能:

  • 协议互相转换,音视频流转发
  • 接收RTMP协议推流、RTMP协议拉流播放
  • 接收RTSP协议推流、从远程拉取RTSP流
  • 读取远程HLS流、生成HLS流
  • 录制FLV格式文件、读取FLV格式流、读取TS文件流
  • GB28181协议支持
  • HTTP-FLV、WS-FLV、WS-RAW格式拉流播放
  • 集群功能
  • 接收WebRTC推流、WebRTC拉流播放

2.2 ZLMediaKit

基于C++11的高性能运营级流媒体服务框架

Github地址:https://github.com/ZLMediaKit/ZLMediaKit

2.2.1 项目特点

  • 基于C++11开发,避免使用裸指针,代码稳定可靠,性能优越。
  • 支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/WebRTC),支持协议互转。
  • 使用多路复用/多线程/异步网络IO模式开发,并发性能优越,支持海量客户端连接。
  • 代码经过长期大量的稳定性、性能测试,已经在线上商用验证已久。
  • 支持linux、macos、ios、android、windows全平台。
  • 支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。
  • 提供完善的标准C API,可以作SDK用,或供其他语言调用。
  • 提供完整的MediaServer服务器,可以免开发直接部署为商用服务器。
  • 提供完善的restful api以及web hook,支持丰富的业务逻辑。
  • 打通了视频监控协议栈与直播协议栈,对RTSP/RTMP支持都很完善。
  • 全面支持H265/H264/AAC/G711/OPUS。

2.2.2 项目定位

  • 移动嵌入式跨平台流媒体解决方案。
  • 商用级流媒体服务器。
  • 网络编程二次开发SDK。

2.2.3 功能清单

  • RTSP[S]
    • RTSP[S] 服务器,支持RTMP/MP4/HLS转RTSP[S],支持亚马逊echo show这样的设备
    • RTSP[S] 播放器,支持RTSP代理,支持生成静音音频
    • RTSP[S] 推流客户端与服务器
    • 支持 rtp over udp rtp over tcp rtp over http rtp组播 四种RTP传输方式
    • 服务器/客户端完整支持Basic/Digest方式的登录鉴权,全异步可配置化的鉴权接口
    • 支持H265编码
    • 服务器支持RTSP推流(包括rtp over udp rtp over tcp方式)
    • 支持H264/H265/AAC/G711/OPUS编码,其他编码能转发但不能转协议
  • RTMP[S]
    • RTMP[S] 播放服务器,支持RTSP/MP4/HLS转RTMP
    • RTMP[S] 发布服务器,支持录制发布流
    • RTMP[S] 播放器,支持RTMP代理,支持生成静音音频
    • RTMP[S] 推流客户端
    • 支持http[s]-flv直播
    • 支持websocket-flv直播
    • 支持H264/H265/AAC/G711/OPUS编码,其他编码能转发但不能转协议
    • 支持RTMP-H265
    • 支持RTMP-OPUS
  • HLS
    • 支持HLS文件生成,自带HTTP文件服务器
    • 通过cookie追踪技术,可以模拟HLS播放为长连接,可以实现HLS按需拉流、播放统计等业务
    • 支持HLS播发器,支持拉流HLS转rtsp/rtmp/mp4
    • 支持H264/H265/AAC/G711/OPUS编码
  • TS
    • 支持http[s]-ts直播
    • 支持ws[s]-ts直播
    • 支持H264/H265/AAC/G711/OPUS编码
  • fMP4
    • 支持http[s]-fmp4直播
    • 支持ws[s]-fmp4直播
    • 支持H264/H265/AAC/G711/OPUS编码
  • HTTP[S]与WebSocket
    • 服务器支持目录索引生成,文件下载,表单提交请求
    • 客户端提供文件下载器(支持断点续传),接口请求器,文件上传器
    • 完整HTTP API服务器,可以作为web后台开发框架
    • 支持跨域访问
    • 支持http客户端、服务器cookie
    • 支持WebSocket服务器和客户端
    • 支持http文件访问鉴权
  • GB28181与RTP推流
    • 支持UDP/TCP国标RTP(PS或TS)推流服务器,可以转换成RTSP/RTMP/HLS等协议
    • 支持RTSP/RTMP/HLS转国标推流客户端,支持TCP/UDP模式,提供相应restful api
    • 支持H264/H265/AAC/G711/OPUS编码
    • 支持海康ehome推流
  • MP4点播与录制
    • 支持录制为FLV/HLS/MP4
    • RTSP/RTMP/HTTP-FLV/WS-FLV支持MP4文件点播,支持seek
    • 支持H264/H265/AAC/G711/OPUS编码
  • WebRTC
    • 支持WebRTC推流,支持转其他协议
    • 支持WebRTC播放,支持其他协议转WebRTC
    • 支持simulcast
    • 支持rtx/nack
    • 支持单端口、多线程、客户端网络连接迁移(开源界唯一)
  • 其他
    • 支持丰富的restful api以及web hook事件
    • 支持简单的telnet调试
    • 支持配置文件热加载
    • 支持流量统计、推拉流鉴权等事件
    • 支持虚拟主机,可以隔离不同域名
    • 支持按需拉流,无人观看自动关断拉流
    • 支持先拉流后推流,提高及时推流画面打开率
    • 提供c api sdk
    • 支持FFmpeg拉流代理任意格式的流
    • 支持http api生成并返回实时截图
    • 支持按需解复用、转协议,当有人观看时才开启转协议

2.2.4 怎么使用

你有三种方法使用ZLMediaKit,分别是:

  • 1、使用c api,作为sdk使用,请参考这里.
  • 2、作为独立的流媒体服务器使用,不想做c/c++开发的,可以参考restful apiweb hook.
  • 3、如果想做c/c++开发,添加业务逻辑增加功能,可以参考这里的测试程序.

2.2.5 Docker 镜像

你可以从Docker Hub下载已经编译好的镜像并启动它:

docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp panjjo/zlmediakit

你也可以根据Dockerfile编译镜像:

bash build_docker_images.sh

2.2.6 开源协议

MIT,在保留版权信息的情况下可以自由应用于各自商用、非商业的项目。

2.3 SRS

SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。

Github地址:https://github.com/ossrs/srs

SRS是一个服务器,也可以扩展成集群,还涉及多种协议和场景。下图是SRS的概览大地图,先有个大概印象:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pBYtG3SL-1632368642883)(https://camo.githubusercontent.com/3bd25ab8e6645760729f06dc3394e5920bd6c502d4cd534522f32f74605d010e/68747470733a2f2f67697465652e636f6d2f77696e6c696e7669702f7372732d77696b692f7261772f6d61737465722f696d616765732f7372732d61726368342d312e706e67)]

  • 全平台直播,小荷才露尖尖角。只需要上图的Encoders(FFmpeg/OBS)推送RTMP到SRS;一台SRS Origin(不需要Cluster),转封装成HTTP-FLV流转封装成HLS;Players根据平台的播放器可以选HTTP-FLV或HLS流播放。
  • WebRTC通话业务,一对一通话多人通话,会议室等。WebRTC是SRS4引入的关键和核心的能力,从1到3秒延迟,到100到300毫秒延迟,绝对不是数字的变化,而是本质的变化。
  • 监控和广电上云,各行业风起云涌。除了使用FFmpeg主动拉取流到SRS,还可以广电行业SRT协议推流,或监控行业GB28181协议推流,SRS转换成互联网的协议观看。
  • 直播低延迟和互动,聚变近在咫尺。RTMP转WebRTC播放降低播放延迟,还能做直播连麦,或者使用WebRTC推流,未来还会支持WebTransport直播等等。
  • 大规模业务,带你装逼带你飞。如果业务快速上涨,可以通过Edge Cluster支持海量Players,或者Origin Cluster支持海量Encoders,当然可以直接平滑迁移到视频云。未来还会支持RTC的级联和集群。

2.4 PingOS

PingOS依赖NGINX构建,并且继承arutAlexWoonginx-rtmp-module模块。修复arut和AlexWoo版本存在的部分问题外,PingOS在编码和直播协议以及其他方面做了多项功能扩展。

Github地址:https://github.com/pingostack/pingos

2.4.1 功能特性

  • 直播协议: RTMP、HTTP(S)-FLV、HTTP(S)-TS、HLS(支持HTTPS)、HLS+(支持HTTPS)、DASH(支持HTTPS)。

  • 音视频编码: H264、H265、MP3、AAC。

  • 直播录像: FLV文件格式和TS文件格式。

  • GOP缓存: 实现秒开和内存复用。

  • application支持通配符: “ * ”号通配符实现自动匹配推拉流时使用的application名字,无需累赘的配置。

  • VHOST功能: 支持配置多个server域名。

  • 控制台接口: 通过HTTP API接口控制推流、拉流以及录像过程。

  • 配置动态加载: 修改配置文件后无需对nginx做任何操作就可读取最新配置。

  • 流量计费: 通过配置自定义流量日志。

  • 变量参数配置: 配置文件中使用变量。

  • 进程间回源: 进程间相互拉流,解决了原生nginx-rtmp-module模块多进程拉流失败的问题。

  • 集群化功能: 服务器间推拉流功能(http-flv、rtmp协议)。

  • html5网页播放器: pingos-player播放器将持续兼容各浏览器平台,以及多种直播协议。

2.5 Node-Media-Server

一个 Node.js 实现的RTMP/HTTP/WebSocket/HLS/DASH流媒体服务器

Github地址:https://github.com/illuspas/Node-Media-Server

2.5.1 特性

  • 跨平台支持 Windows/Linux/Unix
  • 支持的音视频编码 H.264/H.265/AAC/SPEEX/NELLYMOSER
  • 支持缓存最近一个关键帧间隔数据,实现RTMP协议秒开
  • 支持RTMP直播流转LIVE-HTTP/WS-FLV流,支持 NodePlayer.js 播放
  • 支持星域CDN风格的鉴权
  • 支持事件回调
  • 支持https/wss加密传输
  • 支持服务器和流媒体信息统计
  • 支持RTMP直播流转HLS,DASH直播流
  • 支持RTMP直播流录制为MP4文件并开启faststart
  • 支持RTMP/RTSP中继
  • 支持API控制中继
  • 支持实时多分辨率转码

2.6 青犀流媒体解决方案

官网地址:http://www.tsingsee.com/

  • easydarwin:http://www.easydarwin.org/

高性能开源RTSP流媒体服务器,基于go语言研发,维护和优化:RTSP推模式转发、RTSP拉模式转发、录像、检索、回放、关键帧缓存、秒开画面、RESTful接口、WEB后台管理、分布式负载均衡

2.6.1 功能特性

  • 基于Golang开发维护;
  • 支持Windows、Linux、macOS平台;
  • 支持RTSP推流分发(推模式转发);
  • 支持RTSP拉流分发(拉模式转发);
  • 服务端录像 参考:https://blog.csdn.net/jyt0551/article/details/84189498
  • 服务端录像检索与回放 参考:https://blog.csdn.net/jyt0551/article/details/84189498
  • 关键帧缓存;
  • 秒开画面;
  • Web后台管理;
  • 分布式负载均衡;

2.7 ipchub

一个即拷即用、支持摄像头集中管理、多级路由及h5播放的流媒体服务器。

Github地址:https://github.com/cnotch/ipchub

2.7.1 功能特性

  • 基于纯 Golang 开发
  • 支持 Windows、Linux、macOS 平台
  • 支持 RTSP 推流(主动推送)
  • 支持 RTSP 拉流(拉取摄像头或其他流媒体服务器资源)
  • 支持 RTSP TCP、UDP、Multicast 播放
  • 支持 H264+AAC H5播放,包括:
  • 支持 H265+AAC H5播放(实验,需自行寻找播放软件),包括:
    • HTTP-FLV
    • Websocket-FLV
  • 支持流媒体用户推拉权限管理
  • 业务系统集成 RestfulAPI
  • 支持 user 和 routetable 提供者插件:仅支持 linux 和 mac

2.8 WVP-GB28181

WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。
流媒体服务基于ZLMediaKit-https://github.com/xiongziliang/ZLMediaKit
前端展示基于MediaServerUI-https://gitee.com/kkkkk5G/MediaServerUI/tree/gb28181/

2.8.1 应用场景

主要应用在IPC等设备没有固定IP地址,但需要在互联网中观看的场景。
要求IPC设备可以访问互联网,有云服务器用于部署本服务。

2.8.2 功能特性

1、视频预览
2、云台控制(方向、缩放控制)
3、视频设备信息同步
4、离在线监控
5、录像查询与回放(基于NVR\\DVR,暂不支持快进、seek操作)
6、无人观看自动断流

三、流媒体播放器-拉流服务器

3.1 Video.js

基于html5的网页视频播放器。它支持HTML5视频和媒体源扩展,以及其他播放技术,如YouTube和Vimeo(通过插件)。支持桌面和移动设备上的视频回放。

Github地址:https://github.com/videojs/video.js

Github的Star数:32K+

3.2 ijkplayer

B站开源的播放器:基于FFmpeg n3.4的Android/iOS视频播放器,支持MediaCodec, VideoToolbox。

ijkplayer 是一个基于 ffplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供Android平台下应用弹幕集成的解决方案,此方案目前已用于美拍和斗鱼 APP。

Github地址:https://github.com/bilibili/ijkplayer

Github的Star数:29.4K+

3.3 Jessibuca

纯H5直播流播放器

官网地址:http://jessibuca.monibuca.com/

1. 无插件

基于ASM.js/WebAssembly(wasm)实现的纯javascript直播播放器

2. 低延时

能够在 PC\\Android\\iOS 浏览器Webview 内实现2秒以内低延迟直播播放

3. 支持H265

软解码H.264/H.265+AAC/PCMA/PCMU流,WebGL视频渲染,WebAudio音频播放。

3.4 GSYVideoPlayer

视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。

Github地址:https://github.com/CarGuo/GSYVideoPlayer

Github的Star数:16.7K+

3.5 ckplayer

网页上播放视频的JS插件

官网地址:https://www.ckplayer.com/

3.6 Vue-Video-Player

适用于 Vue 的 video.js 播放器组件。

Github地址:https://github.com/surmon-china/vue-video-player

Github的Star数:3.9K+

3.7 DPlayer

DPlayer是一个可爱的HTML5弹幕视频播放器,帮助人们轻松构建视频和弹幕。

Github地址:https://github.com/MoePlayer/DPlayer

Github的Star数:11.8K+

官网地址:http://dplayer.js.org/zh/

3.8 ZY-Player && ZY-Player-APP

3.8.1 ZY-Player

跨平台桌面端视频资源播放器.简洁无广告.免费高颜值。

Github地址:https://github.com/cuiocean/ZY-Player

特性

  • 全平台支持. Windows, Mac, Linux
  • 支持 IPTV, 卫视直播
  • 视频源支持自定义, 支持导入, 导出
  • 支持海报模式和列表模式浏览资源
  • 播放历史, 自动跳转历史进度
  • 收藏夹支持导入,导出, 支持同步追剧
  • 支持精简模式, 摸鱼划水
  • 一键搜索所有资源, 支持历史搜索记录
  • 导出资源下载链接
  • 支持第三方播放器播放
  • 显示豆瓣评分

3.8.2 ZY-Player-APP

跨平台移动端视频资源播放器. 简洁免费. ZY Player 移动端 APP,基于 Uni-app 开发。

Github地址:https://github.com/cuiocean/ZY-Player-APP

特性

  • 视频源支持自定义, 支持链接导入
  • 播放历史, 自动跳转历史进度
  • 支持搜索功能, 搜索结果图片显示
  • 支持收藏夹功能
  • 支持青少年模式

3.9 MuiPlayer

MuiPlayer 是一款 HTML5 视频播放插件,其默认配置了精美可操作的的播放控件,涉及了常用的播放场景,例如全屏播放、播放快进、循环播放、音量调节等功能。

支持 mp4、m3u8、flv 等多种媒体格式播放,解决大部分兼容问题,同时适应在PC、手机端播放。

MuiPlayer 具有丰富的参数可以自定义播放器实例,通过轻松的配置即可完成自定义场景的视频播放。

Gitee地址:https://gitee.com/muiplayer/hello-muiplayer

3.9.1 功能特性

MuiPlayer 帮助我们解决了日常 H5 Video 应用开发中的常见的一些大量问题:

  1. 各浏览器平台播放 ui 不能统一
  2. ui 扩展之间以及状态处理容易产生冲突
  3. 在不同环境下(android、ios、pc)针对 h5 video api 可能触发事件的时机尽不相同
  4. 媒体格式存在各种兼容问题,muiplayer 处理了大多数在不同环境下播放的兼容问题
  5. 重复踩踏在开发 h5 video 过程中的一些问题,我们提供了一套完好的解决方案,让编程员少走一些弯路

3.10 EasyPlayer.js

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS视频直播与视频点播等多种协议,支持H.264、H.265、AAC等多种音视频编码格式,支持mse、wasm等多种解码方式,支持Windows、Linux、Android、iOS全平台终端的H5播放器,使用简单, 功能强大。

Github地址:https://github.com/tsingsee/EasyPlayer.js

3.10.1 功能特性说明

  • 支持 MP4 播放
  • 支持 m3u8/HLS 播放;
  • 支持 HTTP-FLV/WS-FLV 播放;
  • 支持 H265编码视频;
  • 支持 RTMP 播放;
  • 支持直播和点播播放;
  • 支持播放器快照截图;
  • 支持点播多清晰度播放;
  • 支持全屏或比例显示;
  • 自带的 flash 支持极速和流畅模式;
  • 自带的 flash 支持 HTTP-FLV 播放;
  • 自动检测 IE 浏览器兼容播放;
  • 支持重连播放;

3.11 WXInlinePlayer

最快的H.264,H.265 FLV播放器。

Github地址:https://github.com/ErosZy/WXInlinePlayer

3.11.1特性

  1. FLV H264/H265 点播/直播全支持
  2. 自由选择解码依赖,在实际gzip中,Tinyh264只需 ~180k,OpenH264 ~260k,de265 ~210k (如何选择解码依赖
  3. 专为移动端性能优化,内存和CPU占用稳定
  4. 直播延迟优化,比MSE的原生Video实现低1-2s(如何降低卡顿和延迟
  5. 音频/视频独立支持
  6. 微信WebView自动播放
  7. 无音频动画自动播放
  8. 良好的移动端WebView兼容性

3.11.2 兼容性

兼容测试使用BrowserStack服务提供的相关机型,仅供参考:

  • Android 5+
  • iOS 10+ (含Safari及WebView)
  • Chrome 25+
  • Firefox 57+
  • Edge 15+
  • Safari 10.1+

3.12 moovie.js

专注于H5电影的播放器。

Github地址:https://github.com/BMSVieira/moovie.js

3.12.1 功能特性

  • 完全可定制和易于使用

  • 内置标题偏移动态调整

  • 内置支持。vtt和。srt标题文件

  • 内置插件,使用你真正需要的代码!

  • 内置CustomEvents,添加多个将运行特定currentTime的事件

  • 使用API动态添加音轨/字幕

  • 添加轨道/字幕本地运行(无需服务器或上传)

  • 飞行中调整速度

  • 标准化事件/快捷方式/ API

  • 标题自定义

  • 没有依赖,是用VanillaJS构建的

  • 在所有现代浏览器中测试

  • 响应

  • 集成了webtorrent.js, dash.js, Shaka Player和hls.js

  • 控件国际化(i18n)

3.13 Sewise Player

Sewise Player是一款专业的免费网页HTML5视频、流播放器,它功能强大,体积小,跨平台,兼容性好,使用方便简洁。

Github地址:https://github.com/jackzhang1204/sewise-player

  • 播放器是主要以HTML5技术为平台开发,同时兼容Flash技术,实现了跨平台各浏览器兼容的视频播放。使用Sewise Player您可以在Windows, MacOS, Linux,Windows Phone, Android, IOS等任意平台上,通过对应的浏览器或者APP中基于WebView播放视频。
  • Sewise Player使用非常简单,只要在页面对应的DIV内嵌入一个JS文件即可,播放器将通过自动识别浏览器的功能来启用HTML5或Flash模式播放视频。您不需要掌握任何JavaScript或ActionScript编码技术就可以制作出专业的网页视频播放器。
  • Sewise Player即可以做为单一的前台播放器来在页面上播放视频和流,也可以结合Sewise Server后台技术实现专业的可交互的点播、直播视频播放。

3.13.1 功能特性

  • 支持HTML5,Flash视频播放技术。
  • 支持多平台,PC包括Windows, MacOS, Linux等。Mobile包括Android, IOS, Windows Phone等。
  • 支持多浏览器兼容,如IE6/7/8/9/10、Google Chrome、Firefox、safari、Opera等。
  • 支持多种视频格式,如mp4、m3u8、oga、webm、theora、flv、f4v等。
  • 支持多种协议直播流,如rtmp、hls、http等。
  • 支持Flash播放m3u8文件,以及AES-128解码播放。
  • 支持PC与Mobile平台播放器自动识别功能。
  • 支持浏览器HTML5与Flash特性检测。
  • 支持HTML5不同视频格式地址Fallback兼容播放功能。
  • 支持Flash Fallback到HTML5视频播放功能。
  • 支持播放地址AMF, AJAX, JOSNP类型请求。
  • 支持自定义HTML5与Flash皮肤,让您无需了解专业的编码技术也可以制作出超烗风格的皮肤。
  • 支持前置广告(swf, 图片, 视频)。
  • 支持字幕。
  • 支持多种播放参数设定,并支持启动参数设置。
  • 支持丰富的api接口,以此可以快速打造功能强大的插件。

四、直播平台

4.1 直播源相关资源汇总

GItHub地址:https://github.com/imDazui/Tvlist-awesome-m3u-m3u8

现在各个宽带运营商都有 IPTV 业务,不用安装有线电视就可以高清无卡顿的看电视。

4.2 视沃科技-大牛直播SDK

业内为数不多致力于极致体验的超强全自研跨平台(Windows/Linux/Android/iOS)流媒体内核,通过模块化自由组合,支持实时RTMP推流、RTSP推流、RTMP/RTSP直播播放(支持RTSP/RTMP H.265)、实时录像、多路流媒体转发(RTSP转RTMP,RTMP转RTMP)、音视频导播、动态视频合成、音频混音、一对一互动直播、内置轻量级RTSP服务、RTSP网关服务等,比快更快,业界真正靠谱的超低延迟直播SDK(1秒内,低延迟模式下200~400ms)。

适用于在线教育、智慧教室|无纸化推屏|会议、运营商视频云平台、远程医疗、金融双录、智能可视门禁对讲、智慧安防、智能家居、物联网、智能车载、传统硬件领域、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、监控对接等场景。

Github地址:https://github.com/daniulive/SmarterStreaming

官网地址:https://daniusdk.com/

4.3 DesktopSharing

桌面共享, 支持RTSP转发, RTSP推流, RTMP推流。

Github地址:https://github.com/PHZ76/DesktopSharing

4.3.1 功能特性

  • 完成屏幕采集(DXGI)和H.264编码。
  • 完成音频采集(WASAPI)和AAC编码。
  • 完成RTSP本地转发音视频数据。
  • 完成RTSP推流器。
  • 完成RTMP推流器。
  • 完成独显硬件编码(nvenc), 仅支持部分nvidia显卡。
  • 完成核显硬件编码(qsv)。
  • 完成简单的UI界面。

4.4 云豹直播系统

云豹直播系统是完全开源的商用直播平台源码,由我司专业直播软件开发团队自主研发,支持二次开发,全球服务器任意节点可进行直播平台搭建部署,含众多运营级直播特色功能,快速实现平台引流、互动直播、流量变现等运营需求。系统功能通用,无论是个人还是企业都可以利用该系统快速搭建一个属于自己的商业直播平台。

Gitee地址:https://gitee.com/yunbaokji888/yunbaolive_uni-app

4.4.1 功能展示

页面展示

五、移动端流媒体

5.1 PLDroidCameraStreaming

PLDroidCameraStreaming 是一个适用于 Android 的 RTMP 直播推流 SDK,可高度定制化和二次开发。特色是同时支持 H.264 软编/硬编和 AAC 软编/硬编。支持 Android Camera 画面捕获,并进行 H.264 编码,以及支持 Android 麦克风音频采样并进行 AAC 编码;还实现了一套可供开发者选择的编码参数集合,以便灵活调节相应的分辨率和码率;同时,SDK 提供数据源回调接口,用户可进行 Filter 处理。借助 PLDroidCameraStreaming ,开发者可以快速构建一款类似 MeerkatPeriscope 的 Android 直播应用。

Github地址:https://github.com/pili-engineering/PLDroidMediaStreaming

5.1.1 功能特性

  • 支持 H.264 和 AAC 软编(推荐)
  • 支持 H.264 和 AAC 硬编
  • 软编支持 Android Min API 15(Android 4.0.3)及其以上版本
  • 硬编支持 Android Min API 18(Android 4.3)及其以上版本
  • 支持构造带安全授权凭证的 RTMP 推流地址
  • 支持 RTMP 封包及推流
  • 支持 RTMP 推流自适应网络质量动态切换码率或自定义策略
  • 支持内置美颜,以及可动态调节美颜效果
  • 支持数据源回调接口,可自定义 Filter (滤镜) 特效处理
  • 支持前后置摄像头,以及动态切换
  • 支持自动对焦
  • 支持手动对焦
  • 支持 Encoding Mirror 设置
  • 支持 Zoom 操作
  • 支持 Mute/Unmute
  • 支持闪光灯操作
  • 支持纯音频推流,以及后台运行
  • 支持截帧功能
  • 支持动态更改 Encoding Orientation
  • 支持动态切换横竖屏
  • 支持动态水印
  • 支持动态文字与贴图
  • 支持蓝牙麦克风
  • 支持后台推流
  • 支持双声道立体声
  • 支持 QUIC 推流
  • 支持 ARM, ARMv7a, ARM64v8a, X86 主流芯片体系架构
  • 支持 SEI 信息发送
  • 支持 SRT 推流

六、网络会议

6.1 BigBlueButton

BigBlueButton 是一个使用 ActionScript 开发的在线视频会议系统或者是远程教育系统,主要功能包括在线PPT演示视频交流语音交流,还可以进行文字交流举手发言等功能,特别适合用在网上教学,支持中文等多种语音。

BigBlueButton是一个开源的网络会议系统。

BigBlueButton支持实时共享音频、视频、幻灯片(带有白板控件)、聊天和屏幕。教师可以通过投票、表情符号、多用户白板和休息室让远程学生参与进来。

主讲人可以录制和回放内容,以便稍后与他人分享。

Github地址:https://github.com/bigbluebutton/bigbluebutton

  • 分享一些干货,分享一些工作,学习当中的笔记、总结,并帮助需要帮助的任何人,关注我,大家一起来学习吧!

以上是关于开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享的主要内容,如果未能解决你的问题,请参考以下文章

开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

搭建自己的直播流媒体服务器SRS,以及SRS+OBS直播推拉流使用及配置

搭建自己的直播流媒体服务器SRS,以及SRS+OBS直播推拉流使用及配置

RTSP推拉流视频平台EasyNVR出现拉流不稳定现象的排查与解决

FFmpeg - Android 直播推拉流

技术分享| 如何搭建直播场景下的推拉流媒体服务器