简单几步构建设企业流媒体服务器

embedded/2024/10/20 3:29:03/

简单几步构建设企业流媒体服务器

在企业应用中,涉及到视频服务时,直接的应用要求即是视频的实时查看!如果使用各大平台的流媒体服务,对于针对设备的视频服务,如IPC的各种应用场景,在这个卷的时代,单台设备利润很低的终端,投入还是比较大的!其实对于90%以上的企业来说,设备的量比没有哪么大,其实简单的购买一台ECS云服务器,在上面架设一台开源稳定的视频流媒体服务器即可!

在使用各大平台的视频流媒体服务,还各种限制,价格贵不说,延时还大,想延时小就得多花钱!

这里使用开源的SRS流媒体服务,在你的设备已经提供RTSP流服务的情况下,零代码开发,即可实现本地视频的流上云,实现视频的直播或实时查看服务!

关于SRS

为什么用SRS? 简单,高效,还稳定!当前维护开发更新也很积极,实时性也很好!还是国内的开源项目,各种文档,解决方案再清楚不过了!

具体的可以查看其官网:https://ossrs.net/

编译

为什么不用docker?

因为是做C/C++的工程师,感觉什么都是自己编译一下,靠谱!

这里:https://gitee.com/ossrs/srs.git 选择一具体的稳定的版本!

下载解压后!

cd srs/trunk
./configure
make

以前编译过各种服务了,没有什么错误,用的ubuntu20系统,应该是依赖的软件安装的比较足了!

运行

编译好后,是放在根目录下的objs下的,在 conf目录下有一个 srs.conf的配置文件,具体的详细配置见文档了!

启动服务:

./objs/srs -c conf/srs.conf
# 查看SRS的状态
./etc/init.d/srs status# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log

运行正常后,可以在 srs.conf配置的WEB服务里看到SRS的一些运行信息!

http://xxxx/console/en_index.html#/clients

这样SRS服务器就建好了,直下来就是设备端的视频流,如何推到平台上!

设备推流

我们在IPC设备端编译出ffmpeg的应用,使用ffmpeg这个工具来推流!到我们设备上运行如下,

ffmpeg -re -i  rtsp://127.0.0.1:554/main  -c copy -f flv rtmp://srs.xxx.com/live/livestream

这样我们的设备流就上平台了!

拉流观看

观看端拉流!可以直接使用web里的js播放器拉流报流,SRS也直接有集成的WEB示例了!可以直接参考!

如上面的推流地址的播放地址即是:
http://srs.xxx.com/live/livestream.flv

关于SRS的使用体验

主要服务架设很简单,在各种系统上都可以跑,就是用他来跑在一台ARM的嵌入式设备上都可行,专门用来做为一个小型的视频服务器

用了一年多了服务稳定可靠!

实时性也很好,使用flv基本可以保证在2秒内左右的延时!

非常推荐用他来架设视频服务,不过没有搞过集群的方式!

后续想使用SRS+WEBRTC来试试对讲的效果!


http://www.ppmy.cn/embedded/43495.html

相关文章

Raven2掠夺者2渡鸦2角色创建、游戏预下载、账号怎么注册教程

《渡鸦2》(Raven 2)是由韩国开发的一款大型多人在线角色扮演游戏(MMORPG)类型的手游,作为前作《Raven》的续集,继承并发展了其黑暗奇幻世界观,同时在游戏设计和内容上进行了大量创新。游戏预计于…

【教学类-58-06】黑白三角拼图06(1页3张彩色黑点卡片,一种宫格36张,适合一个班级一次操作)

作品展示 背景需求 【教学类-58-05】黑白三角拼图05(2-10宫格,每个宫格随机1张-6张,带空格纸,1页3张黑白3张白卡)-CSDN博客文章浏览阅读343次,点赞10次,收藏6次。【教学类-58-05】黑白三角拼图…

案例题(第二版)

案例题目 信息系统架构设计 基本概念 信息系统架构(ISA)是对某一特定内容里的信息进行统筹、规划、设计、安排等一系列的有机处理的活动。特点如下 架构是对系统的抽象,它通过描述元素、元素的外部可见属性及元素之间的关系来反映这种抽象…

世界改变了我?还是我在改变着这个世界?-教育的魅力

目录 一、背景二、过程1.拥抱不确定性的心态2.应对变数的积极3.螺旋向上的能力4.突破自我的意志 三、总结 一、背景 现在这个时代唯一确定的就是不确定,社会发展太快了,尤其是中国的发展速度;大国生态人口生态。 有时候隐约中我自己也觉得和…

私域如何高效管理多微信并实现聚合聊天?

在私域经营中,管理多个微信号是一项具有挑战性的任务。为了提高工作效率,辅助工具成为必不可少的一部分。而个微管理系统将为大家带来高效的多微信号管理体验,让大家能够更好地聚合聊天。 首先,个微管理系统提供了一个统一的界面…

【C++】数据结构:哈希桶

哈希桶(Hash Bucket)是哈希表(Hash Table)实现中的一种数据结构,用于解决哈希冲突问题。哈希表是一种非常高效的数据结构,它通过一个特定的函数(哈希函数)将输入数据(通常…

汇编:循环结构

16位汇编语言中的循环结构主要通过条件跳转指令(如LOOP、JMP, JE, JNE, JG, JL, 等)来实现,常见的循环类型包括for循环和while循环; Loop指令 LOOP指令的操作非常简单:它将CX寄存器的值减1,如果结果不为零…

Swift 类和结构体

类和结构体 一、结构体和类对比1、类型定义的语法2、结构体和类的实例3、属性访问4、结构体类型的成员逐一构造器 二、结构体和枚举是值类型三、类是引用类型1、恒等运算符2、指针 结构体和类作为一种通用而又灵活的结构,成为了人们构建代码的基础。你可以使用定义常…