基于windows-docker的srs流媒体服务(一)部署

srs是一个流媒体集群,支持RTMP/HLS/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。基于c++开发的开源项目。

开源地址:https://github.com/ossrs/srs-docker/tree/dev

根据教程安装完docker 后,启动cmd 或者windows terminal  进入一个srs工作目录。本次进入F:/Docker 目录。执行下命令:

git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs && git remote set-url origin https://github.com/ossrs/srs.git && git pull

拉取完srs源码后,就可以创建docker了。执行创建docker命令:

docker run -it --name=srs -v `pwd`:/tmp/srs -w /tmp/srs/trunk -p 1935:1935 \
  -p 1985:1985 -p 8080:8080 -p 8085:8085 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev bash

执行后发现执行失败。问题在于文件映射。"pwd"是linux命令,需要把映射目录写为绝对路径,如下:

docker run -it --name=srs -v F:/Docker/srs:/tmp/srs -w /tmp/srs/trunk -p 1935:1935 \
  -p 1985:1985 -p 8080:8080 -p 8085:8085 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:dev bash

命令执行成功,进入docker 容器trunk目录。但是ls后发现,目录时空的,返回上层ls目录还是空的。

问题一:映射目录失败

问题原因:目录权限问题。大家都知道windows-docker其实就是自启动一个linu虚拟机环境。linux想访问windows当然需要权限设置。

解决办法:其实在docker-setting就可以设置。

   

 删除该docker后重现执行,再次进入容器发现文件已经映射成功。

接下来开始Build SRS in docker:

执行 ./configure 后出现问题:

问题二:/bin/bash^M: bad interpreter: No such file or directory

问题原因:因为我们是windows系统,文件格式是windows格式,而docker属于unix格式。换行标准\r\n。

解决办法:方法1、

vi configure
:set ff
:set fileformat=unix
:wq

方法2、用notepad++  打开文件修改文档格式:

  

修改完后继续执行./configure,出现:

问题三:$'\r': command not found 

问题原因:因为我们是windows系统,文件格式是windows格式,而docker属于unix格式。换行标准\r\n。需要文档格式修改未unix.

需要修改的文件:./trunk/configure ,./trunk/modules/hls-ingester/config  ,./trunk/modules/mp4-parser/config  ,/trunk/auto/所有.sh文件。

修改完毕后执行./configure  一切顺利。接下来执行make。出现:

问题四:Makefile:2 *** missing separator.  Stop.

   问题原因:makefile使用tab来作为separator.如果你使用4个空格就会报错,makefile:n: *** missing separator. Stop,其中n是第几行。

 解决办法:根据行号把空格去掉用tab键代替。

接下来继续执行make。出现:

问题五:error: stray '@' in program

问题原因:“@”是c++特殊标识符,需要转义。

解决办法:文件objs/srs_auto_headers.hpp 里面转义符换行出现问题。把53行起转义符规整。如图:

                              

 接下来执行make 顺利编译成功,并看到提示。执行./objs/srs -c conf/srs.conf 就可以启动srs服务了。

              

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值