当前位置:   article > 正文

【GitHub项目推荐--开箱即用的直播聊天系统,高颜值,支持二次开发】【转载】_开源直播平台 github

开源直播平台 github

Owncast 

Owncast 是一个免费开源的实时视频和网络聊天服务器,可与现有流行的广播软件一起使用。

github源代码:

https://github.com/owncast/owncast

国内镜像(中文)

http://www.gitpp.com/samgoat/owncast-cn

项目介绍

Owncast 是一个开源的、可以自行搭建的服务器软件,主要用于实现单用户视频串流和聊天功能。它允许用户创建自己的在线直播间,与传统的中心化直播平台不同,Owncast 是去中心化的,这意味着用户可以直接控制和托管自己的直播服务,而不需要依赖第三方平台。

功能与特点

 视频串流:Owncast 允许用户实时传输视频内容,支持标准直播协议,如 RTMP 和 HLS。

 聊天功能:它还提供了实时的聊天功能,使观众可以在直播过程中进行互动。

 去中心化:与其他中心化的直播平台不同,Owncast 允许用户自行搭建服务器,增加了一层安全性与隐私保护。

 开源特性:由于是开源软件,用户可以自由地修改和扩展其功能,以满足自己的需求。

搭建步骤

1. 准备工作:首先,需要一个运行 Linux 的服务器。推荐使用 Ubuntu 20.04 或其他支持 Owncast 的 Linux 发行版。

2. 安装依赖:安装必要的软件包和依赖,例如 FFmpeg、Node.js 等。

3. 下载与安装:

    可以通过官方提供的安装程序快速部署。

    或者,可以手动下载源代码包,然后按照安装指南进行安装。

4. 配置:编辑配置文件,设定直播流的设置、聊天功能、服务器信息等。

5. 启动服务:配置完成后,可以通过系统服务管理器(如 systemd)启动 Owncast 服务。

6. 测试:启动服务后,可以通过浏览器或直播软件测试直播流是否正常工作。

使用场景

Owncast 适用于个人或小团队建立自己的直播频道,例如游戏直播、在线教育、个人广播等。它也适合需要高安全性和隐私保护的企业或组织。

注意事项

 自行搭建直播服务器需要一定的技术基础。

 需要确保服务器的带宽和稳定性,以支持直播流的顺畅传输。

 遵守当地法律法规,确保直播内容符合相关规定。

Owncast 通过其独特的去中心化架构和开源特性,提供了一个强大而灵活的工具,让用户能够掌控自己的直播体验,同时保持隐私和安全性。

Owncast 是一个开源的直播软件,它可以接入多种平台和设备,使其成为一个多功能的直播解决方案。

以下是一些常见的平台和方式,通过它们可以接入Owncast进行直播:

1. 网页浏览器:

    用户可以通过Owncast提供的网页界面进行直播。

    观众也可以通过浏览器观看直播或者参与聊天。

2. 移动应用:

    可以使用支持Owncast协议的移动应用程序来直播。

    一些第三方移动应用可能支持 Owncast 直播流,例如使用RTMP或HLS协议。

3. 游戏直播:

    Owncast支持游戏直播,可以通过各种游戏直播软件或直接通过游戏平台(如Twitch、YouTube Gaming等)进行直播。

4. 社交媒体平台:

    可以将Owncast直播流推送到社交媒体平台,如Facebook Live、Twitter Periscope等。

    通过嵌入代码或使用第三方服务,可以将直播视频集成到社交媒体帖子中。

5. 视频平台:

    可以将直播视频上传到视频分享平台,如YouTube、Vimeo等。

    这些平台通常支持直接嵌入直播流。

6. 直播服务提供商:

    可以通过一些直播服务提供商,如Restream、Wirecast等,将Owncast直播流分发到多个平台。

7. 其他直播软件和硬件:

    可以使用支持RTMP或其他Owncast兼容协议的其他直播软件来推流。

    也可以通过各种硬件设备,如编码器、摄像头等,接入Owncast进行直播。

8. 自定义集成:

    对于有技术能力的用户或组织,可以通过自定义集成将Owncast直播流整合到自己的应用程序或网站中。

为了确保Owncast直播能够顺利接入这些平台,用户可能需要安装相应的插件、扩展程序或使用第三方服务。此外,一些平台可能需要使用特定的编码器或设置来确保直播流的质量和兼容性。在接入不同的平台时,需要遵守各平台的直播规范和版权政策。

官网:https://owncast.online/

02

Ant Media Server

https://github.com/ant-media/Ant-Media-Server

Ant Media Server是一款实时流媒体引擎,通过WebRTC技术提供网络自适应的超低延迟流媒体服务,延迟约为0.5秒。Ant Media Server具备较高可扩展性,可以在本地服务器或云上运行。

功能特性:

  • 超低延迟流:Ant Media Server基于WebRTC的流媒体技术提供超低延迟流媒体,非常适合游戏和实时通信等应用。

  • 自适应比特率流:Ant Media Server支持自适应网络速度,这意味着它可以根据观众的连接速度自动调整流的质量。

  • 多协议支持:Ant Media Server支持一系列流媒体协议,包括RTMP、HLS和WebRTC,使其与各种设备和平台兼容。

  • 点播流媒体:除了流媒体直播,Ant Media Server还支持点播流媒体,允许观众在自己方便的时候观看预先录制的内容。

03

Monibuca

https://github.com/langhuihui/monibuca

Monibuca是一个用Go编写的开源流媒体服务开发框架。它没有任何外部依赖,并支持任何流协议。该框架由引擎、插件和实例项目三部分组成。引擎提供了一个通用的流数据缓存和转发机制;而插件提供了可以无限扩展的附加功能;实例项目使用了引擎和插件,并且可以根据需求进行自定义扩展。

功能特性:

引擎方面

  • 提供插件机制,对插件的启动,配置解析,事件派发等进行统一管理

  • 提供H264、H265、AAC、G711格式的转发

  • 提供可复用的AVCC格式、RTP格式、AnnexB格式、ADTS格式等预封装机制

  • 提供多Track机制,支持大小流,加密流扩展

  • 提供DataTrack机制,可用于实现房间文字聊天等功能

  • 提供时间戳同步机制,限速机制

  • 提供RTP包乱序重排机制

  • 提供订阅者追帧跳帧机制(首屏秒开)

  • 提供发布订阅对外推拉的基础架构

  • 提供鉴权机制的底层架构支持

  • 提供内存复用机制

  • 提供发布者断线重连机制

  • 提供按需拉流机制

  • 提供HTTP服务端口

  • 提供HTTP API接口自动注册机制

  • 提供HTTP接口中间件机制

  • 提供结构化日志

  • 提供流信息统计和输出

  • 提供事件总线机制,可以对所有插件广播事件

  • 提供配置热更新机制

插件方面

  • 提供RTMP协议的推拉流,对外推拉流(支持RTMPS)

  • 提供RTSP协议的推拉流,对外推拉流

  • 提供HTTP-FLV协议的拉流,对外拉流,读取本地FLV文件

  • 提供WebSocket协议的拉流

  • 提供HLS协议的拉流,对外拉流

  • 提供WebRTC协议的推拉流

  • 提供GB28181协议的推流,提供dump回放分析能力

  • 提供Onif协议的支持

  • 提供WebTransport协议的拉流

  • 提供fmp4协议的拉流

  • 提供边缘服务器功能,实现级联拉流

  • 提供录像功能,支持flv、mp4、hls、raw格式

  • 提供日志持久化功能,支持按天、按小时、按分钟、按秒、按大小、按文件数等多种方式

  • 提供截屏功能

  • 提供HTTP回调功能

  • 提供预览功能(集成Jessibuca Pro)

  • 提供房间功能(可实现视频会议)

  • 提供对接Prometheus的功能

远程控制台

  • 提供多实例管理功能

  • 提供流媒体详情

  • 提供配置可视化编辑

  • 提供日志可视化显示

  • 提供插件可视化管理

  • 提供GB设备管理

  • 提供动态添加远程推拉流界面

  • 提供WebRTC背景墙功能

  • 提供多人视频演示

docker安装:

docker run -id -p 1935:1935 -p 8080:8080 -p 8443:8443 -p 554:554 -p 58200:58200 -p 5060:5060/udp -p 8000:8000/udp -p 9000:9000 langhuihui/monibuca:latest

04

SRS

https://github.com/ossrs/srs

SRS视频服务器是一款可靠、高效的工具,可用于实时传输高质量视频内容。它支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB 28181等多种协议,为跨各种平台和跨设备的流媒体视频内容提供了全面的解决方案。SRS在设计时考虑到了简单性和效率,使其非常易于使用且高效。

其实时功能可确保视频内容以最小的延迟进行流式传输,为观众提供无缝体验。此外,SRS内置了高质量和高级功能,使用户能够优化其视频流体验。它支持多种协议,确保用户根据自己的需求和偏好有广泛的选择。总的来说,SRS是任何希望实时传输高质量视频内容的人的优秀工具,其多功能性和可靠性使其成为视频流媒体行业的杰出解决方案。

使用方式

docker安装/运行:

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \    -p 8000:8000/udp -p 10080:10080/udp ossrs/srs:5

使用ffmpeg推流:

ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream

使用VLC Player 播放:

RTMP:rtmp://localhost/live/livestream

http-flv :  http://localhost:8080/live/livestream.flv 

HLS:http://localhost:8080/live/livestream.m3u8.

05

LiveGo

https://github.com/gwuhaolin/livego

LiveGo是一款高效且友好的直播服务器,旨在满足现代直播的需求。它基于纯Golang框架,兼容各种平台,易于使用。

该服务器支持RTMP、AMF、HLS、HTTP-FLV、FLV、TS、H264、AAC和MP3等常用传输协议,是寻求通用性和灵活性的用户的理想选择。此外,LiveGo的先进编码格式确保您的广播具有高质量,并且没有任何延迟。

LiveGo还为用户提供各种工具和资源,以增强直播体验。例如,可以通过添加覆盖层、徽标和其他视觉元素来自定义广播。此外,服务器提供了一系列的分析工具,使您能够跟踪您的观众参与和其他重要指标.

总的来说,LiveGo是一个特殊的直播服务器,旨在满足现代流媒体的需求。凭借其令人印象深刻的功能,用户友好的界面和高性能的功能,它是任何寻找可靠和高效的直播解决方案的人的理想选择。

docker启动方式:

docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego

使用方式:

(1)访问 http://localhost:8090/control/get?room=movie 

获取一个房间的 channelkey(channelkey用于推流,movie用于播放)。

(2)推流

通过RTMP协议推送视频流到地址 

rtmp://localhost:1935/{appname}/{channelkey} (appname默认是live),

例如:

ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}

(3)播放

支持多种播放协议,播放地址如下:

RTMP:rtmp://localhost:1935/{appname}/movie

FLV:http://127.0.0.1:7001/{appname}/movie.flv

HLS:http://127.0.0.1:7002/{appname}/movie.m3u8

06

pingos

https://github.com/pingostack/pingos

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

功能特性:

  • 直播协议: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播放器将持续兼容各浏览器平台,以及多种直播协议。

Docker安装部署:

# 添加可执行权限chmod +x run.sh# 编译镜像, 可选操作(./run.sh up -d时若镜像不存在则自动编译)./run.sh build# 默认以同目录docker-compose.yml文件作为配置文件启动容器# 使用docker/compose容器启动容器./run.sh up -d# 或docker-compose up -d

推流地址:rtmp://ip/live/流名

播放地址:

  • rtmp 播放:rtmp://ip/live/流名

  • http(s)-flv 播放:http(s)://ip/flv/流名

  • hls 播放:http(s)://ip/hls/流名.m3u8

  • hls+ 播放:http(s)://ip/hls2/流名.m3u8

  • http(s)-ts 播放:http(s)://ip/ts/流名

直播流监控后台:

访问地址:http://ip/rtmp_stat 。通过该页面可以查看当前正在执行的推流和播放记录。

html5播放器:

访问地址:http://ip/h5player/flv 这个播放器是基于flv.js的网页播放器,可以实现无插件播放http-flv直播流。 一旦你能够访问这个页面,说明你的直播服务器已经成功搭建起来了。

07

LiveKit

https://github.com/livekit/livekit

LiveKit是一个可用于提供WebRTC多用户会议服务的开源项目。该项目旨在帮助开发人员实现实时视频音频功能。

通过利用LiveKit的强大功能,开发人员可以创建无缝、可扩展、可靠的会议解决方案,例如在线教育平台、商业通信工具等等。LiveKit能够处理多个用户并提供高质量的会议体验,是应用程序开发的视频音频功能首选。

功能特征:

  • 可扩展的分布式WebRTC SFU(选择性转发单元)

  • 现代、功能齐全的客户端SDK

  • 专为生产环境而构建,支持JWT身份验证

  • 强大的网络和连接,UDP/TCP/TURN

  • 易于部署:单个二进制文件、Docker或Kubernetes

  • 高级功能包括:说话人检测、联播、端到端优化、开发人员友好的API、webhooks、分布式多区域。

  • 提供多个客户端,包括JavaScript、Swift UI、Flutter、React Native、科特林、Rust和Unity WebGL。

  • 丰富的生态系统

MacOS安装:

brew install livekit

Linux安装:

curl -sSL https://get.livekit.io/cli | bash

windows安装下载地址:

https://github.com/livekit/livekit-cli/releases/latest

原文链接:

开箱即用的直播聊天系统,高颜值,支持二次开发

7个开源免费流媒体直播平台 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/669753
推荐阅读
相关标签
  

闽ICP备14008679号