个人直播/流媒体服务解决方案实践

目录

1. 说明

1.1 拓扑结构图

2. 准备工作

2.1 软硬件清单

3. 步骤

3.1 按上面的软硬件清单准备好材料

3.2 内网检查测试

3.3 透传到公网服务器 

3.5 机顶盒配置

4. 总结 

5. 参考

6. 后语


1. 说明

- 在本地局域网建立流媒体服务,并发布到公网服务器供终端(机顶盒/移动设备)订阅浏览

- 整个方案费用:本地硬件,本地上网费,公网服务器费, 域名费

1.1 拓扑结构图

其中: 流媒体服务器(Streaming Server), 媒体编排/发布客户机(Media Client)

2. 准备工作

2.1 软硬件清单
条目说明
流媒体小主机

这里我用了虚拟机,分配6核14G,安装软件:

  • 宝塔
  • oryx - 流媒体服务器,Docker方式
  • frpc service- frps客户端
媒体编排电脑

4核8G, 安装软件:

- vMix  绿色版

TVBOX / 机顶盒 (安卓系统)

4核2G,安装软件:

- TVBOX, CatBox等

路由器- iStoreOS
公网服务器 + 域名

2核1G,安装软件:

- frps service - frps 服务端

设置子域名指向, 如 live.xxx.top

3. 步骤

3.1 按上面的软硬件清单准备好材料
3.2 内网检查测试

流媒体服务器:

媒体编排机:

其中的流配置里面填上上面的推流地址与密钥

点击SRS中的简易播放器浏览 

3.3 透传到公网服务器 

通过透传软件, 暴露2022端口给外部访问, 注意公网服务器的防火墙开放相关端口。

frp 相关配置

frps.toml

bindPort = 7000

auth.method = "token"   #服务端连接身份认证,默认token
auth.token = "asyouwant"   #服务端token密码

webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = "admin"
webServer.password = "asyouwant"

frpc.toml

serverAddr = "frps.***.com"
serverPort = 7000

auth.method = "token"   #服务端连接身份认证,默认token
auth.token = "asyouwant"   #服务端token密码,密码不正确将无法连接服务器


[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6022
transport.useEncryption = true
transport.useCompression = true

[[proxies]]
name = "oryx"
type = "tcp"
localIP = "127.0.0.1"
localPort = 2022
remotePort = 2022

 3.4 公网测试

类似内网测试, 获取HLS流url, 如: http://***.top:2022/live/livestream.m3u8

3.5 机顶盒配置

找个网上的直播节目json做修改,如 live.txt:

🇨🇳|蓝光频道,#genre#
Ben MTV,http://live.xxx.top:2022/live/livestream.m3u8
4K超高清,http://liveop.cctv.cn/hls/4KHD/playlist.m3u8?zzhongd

 继续tvbox配置, 导入直播数据源, 打开直播节目, 如图:

搞掂!

4. 总结 

- 比较过几个透传方案,都是狠钱党,而且限制多多, 包括:DDNSTO, Ngrok 等。

5. 参考

  • SRS (Simple Realtime Server) | SRS
  • frp/README.md at dev · fatedier/frp · GitHub
  • 内网穿透!如何配置frp新版0.56.0的配置文件.toml:提供web、samba、ssh远程连接示例_frp 配置-CSDN博客

6. 后语

最近环境不太好, 趁着有点时间做些实践方案,分享之 ... 共勉。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/596894.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CTF Web】XCTF GFSJ0482 weak_auth Writeup(弱口令+密码爆破)

weak_auth 小宁写了一个登陆验证页面,随手就设了一个密码。 解法 随便输入一些字符,提示以 admin 登录。 使用 Burp 抓包。 导入密码字典。 进行爆破。 得到密码。 账号:admin 密码:123456取得 flag。 Flag cyberpeace{42c9664…

(论文阅读-多目标优化器)Multi-Objective Parametric Query Optimization

目录 摘要 一、简介 1.1 State-of-the-Art 1.2 贡献和大纲 二、定义 三、相关工作 四、问题分析 4.1 分析 4.2 算法设计影响 五、通用算法 5.1 算法概述 5.2 完备性证明 六、分段线性代价函数算法 6.1 数据结构 6.2 基本运算实现 6.3 复杂度分析 七、实验评估 …

数据库大作业——基于qt开发的图书管理系统(二) 相关表结构的设计

前言 在上一篇文章中。我们完成了Qt环境的安装,同时完成了有关项目需求的分析并绘制了整体的项目架构图,而在图书管理系统中,其实我们主要完成的就是对数据的增删改查,并将这些功能通过信号与槽机制和可视化界面绑定在一起&#…

【菜单下拉效果】基于jquery实现二级菜单下拉效果(附完整源码下载)

Js菜单下拉特效目录 🍔涉及知识🥤写在前面实现效果🍧一、涉及知识🌳二、具体实现2.1 搭建一级菜单2.2 搭建二级菜单项2.3 引入js文件2.4 构建CSS文件 🐋三、源码获取🌅 作者寄语 🍔涉及知识 ht…

Xinstall实操指南:二维码推广,轻松追踪App安装效果!

在移动互联网时代,App的推广方式层出不穷,但二维码推广始终占据着重要的地位。作为国内专业的App全渠道统计服务商,Xinstall深知二维码推广的潜力与价值,并致力于通过创新的技术和服务,帮助广告主和开发者实现推广效果…

AtCoder Regular Contest 176(ARC176)A、B

题目:AtCoder Regular Contest 176 - tasks 官方题解:AtCoder Regular Contest 176 - editorial 参考:atcoder regular 176 (ARC176) A、B题解 A - 01 Matrix Again 题意 给一个nn的方格,给出m个坐标(x,y)m,在方格中…

opencv图像处理详细讲

传统的计算机视觉框架: SimpleCV BoofCV Dlib JavaCV 深度学习计算机视觉框架 Caffe Tensorflow Pytorch Paddlepaddle Keras 深度视觉计算机视觉框架 OpenVINO TensorRT onnxruntime Deepface YOLO/DarkNet mmdetection Paddle-detection/seg/ocr …

csrf攻击(跨站请求伪造)【2】

1.DVWA中csrf漏洞验证low (1)受害者将密码更改为password,显示更改成功 (2)受害者未退出登录状态,打开了新链接(黑客设计好的修改密码为admin123(原本为passwrod)的链接),导致受害者密码被更改&#xff0c…

测试环境搭建:JDK+Tomcat+Mysql+Redis

基础的测试环境搭建: LAMPLinux(CentOS、ubuntu、redhat)ApacheMysqlPHP LTMJLinux(CentOS、ubuntu、redhat)TomcatMysql(Oracle)RedisJava 真实的测试环境搭建:(企业真实的运维) 基于SpringBoot(SpringCloud分布式微…

【从零开始学架构 前言】整体的学习路线

本文是《从零开始学架构》的第一篇学习笔记,在工作6年左右的这个时间点需要有一些先行的理论来指导即将面临的复杂实践,以便在真正面临复杂实践的时候能有所参照。 主要从以下几个方面和顺序来进行学习 架构基础:从架构设计的本质、历史背景…

网络模块-reactor模式

reactor其实没那么神秘 背景介绍实现一个单线程的reactor(epoll)单独事件结构体reactor总表reactor事件增删改 总结优点缺点使用到reactor的开源库 背景 高性能服务器的开发需要考虑到3点:I/O事件、定时事件、信号。 对于多并发的场景&#…

ROS机器人入门:机器人系统仿真【学习记录】——2

承接上一篇博客: ROS机器人入门:机器人系统仿真【学习记录】——1-CSDN博客 我们先前结束了(上一篇博客中): 1. 概述 2. URDF集成Rviz基本流程 3. URDF语法详解 4. URDF优化_xacro 下面让我们继续学习ROS机器人…

基于ESP32和ESP8266的物联网开发过程(一)

给大家演示一个小工具,通过Wifi去连接ESP32或者ESP8266出来的一个热点。连接到这个热点之后,可以输密码,也可以不输密码。这里我设置的是不输密码直接进来,我这个是ESP8266。 进来之后直接点配置Wifi,然后可以看到ESP8…

tecplot 宏的使用方法及代码改写

我们在对流场数据进行批量提取时,不可避免的需要使用tecplot宏文件,因此,俺就研究了一下,主要针对的是批量切片-批量转换成dat文件-批量转换成excel的格式 以下贴出我的宏文件 1.批量切片 重点在于设置循环 2.批量dat转excel 大…

SPSS之聚类分析

SPSS中系统聚类分析功能在【分析】—【分类】—【系统聚类】中完成。系统聚类有两种类型,一种是对样本进行聚类,称为Q型聚类;一种是对变量进行聚类,称为R型聚类。在【系统聚类分析】—【聚类】框下选择【个案】——Q型聚类&#x…

优惠券样式案例

优惠券样式案例 <template><view class"box"><view class"boxItem"><img src"../../../static/come.png" alt"" class"img"/><span class"icon">&#xffe5;</span><s…

MySQL之查询 拿下 * 。*

DQL数据查询语言 对上述的的查询操作进行代码演示&#xff08;续上一篇学生表代码进行处理&#xff09; 下面是上一篇的代码分享 下面进行简单的查询操作 字符串如果强行进行算数运算默认只为0 查询时常用的单行函数列举 未完待续

电源管理芯片该如何测试?

电源管理芯片作为电子产品的重要组成部分&#xff0c;其性能测试必不可少。通过各项指标测试&#xff0c;评估电源管理芯片是否符合设计规范&#xff0c;及其稳定性和可靠性。 可通过检测以下指标参数来评估电源芯片的性能&#xff1a; 输入/出电压范围、输出纹波、电压调整率、…

数据结构学习/复习8--树与二叉树的概念与基本性质练习

一、树 1.概念 2.树的表示 二、二叉树 1.二叉树的概念 2.与性质相关的题

StreamingT2V

下面首先是参考的一些博客 https://blog.csdn.net/qq_44681809/article/details/137081515 qustion SDEdit:就是给图片加一点噪声然后再用模型去噪&#xff0c;来获得一个更好的帧&#xff0c;比如去掉伪影和污点 这里的分割为m个24帧的块&#xff0c;块与块之间已经有8帧重叠…