问题:当你更新了wvp的版本后,发现点播等关键流程不能使用了。
最开始阶段:
(1) 啥也不懂,只能拿一个2021年的全版docker,直接跑起来,
https://hub.docker.com/r/648540858/wvp_pro
这个在最初做技术预言的时候,很重要,让你看到你想要的产品的样子。2021年底的时候,也给公司的同事们看了下,确定咱们 可以依托这个项目做。
(2) 自己制作的时候,media服务器开始用了wvp_pro docker里的media,这样,wvp_pro本身其实就不能用这个mediaServer了,于是比较混乱。
(3)然后就使用了下面这个docker,也是热心 的网友制作 的,当时的版本,这块都可以兼容。
docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp panjjo/zlmediakit
(4) 2022年官方出了个zlmediakit的docker,于是我们都用上了。
docker run -id -p 1935:1935 -p 8080:80 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp zlmediakit/zlmediakit:Release.last
(5) 直到2022-3-8号前的wvp的版本,与zlmediakit:Release.last这个版本还是可以兼容的。到了3-25号的wvp版本,编译后,连上zlmediakit:Release.last已经不再能点播了。
(6) 2022-3-28号 前后几天
GitHub - SaltFish001/wvp_pro_compose: 基于本人踩坑出来的WVP配置
这是一个全新docker-compose的 wvp, media同时更新的compose工程,使用这个,我们可以验证,最新的这两个工程的匹配,是不是正常的。
26号到28号晚,在作者的帮助下,saltfish甚至连夜远程 到我机器上进行帮忙。终于在28号晚编译成功。编译的问题,多半是各种资源的不可达,他给/etc/docker/daemon.json加了个dns.终于编译成功。 29号上午我验证了下,终于可以看到这两个工程是匹配的,但wvp的启动依然有些问题。但让我确定了两个工程是匹配的。
解决过程 :
向作者提问 :
QQ群提问 :
大家也不细答,就说了下,自己回家编译吧,用别人的docker不靠谱。
关键方法:
自己看了下代码 ,确定原因
可以看到,在2022-3-8号前,wvp在这里面,做了大量的端口分配的工作,即通过配置文件的30000-30500范围里选择一个,然后还要去zlm里去确认后,给一个端口。但目前就这样给一个随机端口,难道就可以保证是在30000-30500范围内了?
去看看wvp的更改历史 :2022-3-15号更新。这个就说明了在zlmediaKit那边同步更新 了,这意味着这个变化 后,zlmediaKit也要变化,但它的官方包没有更新。。。。,所以,我们只能自己更新zlmediaKit.
最终解决方案:你可以轻易的去更新wvp,但你的zlmediaKit要同步更新上。
具体操作问题:
(1) 你可以使用zlmediaKit wiki里的快速开始,构建 你的编译环境,
快速开始 · ZLMediaKit/ZLMediaKit Wiki · GitHub并自己构建,但老觉得少了一些插件的安装,没有去做,其实,只需要保证你zlmedia可以编译出来就行,可以用zlmediaServer这个可执行文件,替换docker里出来的就可以,但你的编译环境一定要一样,不然编译出来的一样不能使用,我做过ubuntu 20里编译出来的可执行文件,在ubuntu18里的docker环境里不可用。
(2) 可以参考docker-compose那个工程里的docker方法,当然我们使用
ZLMediaKit/docker at master · ZLMediaKit/ZLMediaKit · GitHub
里的各个docker方法,ubuntu里的docker因为资源的不可达,我直接失败了,用了N多时间,清明两天都在构建了。
后面,使用docker/centos7 里这个dockerfile.runtime,并作了下面的变化后,终于,构建成功。