随笔 - 936  文章 - 0  评论 - 3  阅读 - 30万

EasyGBS以服务的方式启动但其中的easydss流媒体仍以进程启动的优化

TSINGSEE青犀视频开发的视频流媒体平台其中都将easydss流媒体作为其支撑运行的根本服务系统,因此有使用EasyGBS或者EasyNVR的用户在启动平台的时候,会看到easydss流媒体的启动。

在我们对EasyGBS的测试期间,发现当EasyGBS以服务方式启动的同时,其流媒体easydss却还是以进程方式启动的,对于程序的运行来说,这种启动方式并不会给程序带来额外的稳定性,反而容易出现easydss流媒体停止的情况,所以我们需要在程序中添加以服务方式启动easydss流媒体的功能。

添加如下代码,启动easydss.exe 加入服务命令参数,-service 让easydss能够以服务方式运行。

// 停止服务
func stopServer() {

       //cmd := exec.Command(GetServerPath(), "-c", getServerConfPath())
       cmd := exec.Command(GetServerPath(), "-service", "stop")
       log.Println("stop server media")
       // 设置运行路径,底层的 media server 才能找到正确的路径和配置文件
       cmd.Dir = GetServerDir()

       cmd.Stdout = os.Stdout
       cmdReader, err := cmd.StderrPipe()
       if err != nil {
              fmt.Println(err)
              return
       }
       scanner := bufio.NewScanner(cmdReader)	

再次启动程序,能够看到,easydss以服务方式启动的服务程序Tsingsee Mediaserver服务。

 

posted on   EasyGBS  阅读(31)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示