From 507caa141422edbd1cee08c31d966cbb75015644 Mon Sep 17 00:00:00 2001 From: langhuihui <178529795@qq.com> Date: Sat, 17 Jun 2023 22:04:08 +0800 Subject: [PATCH] - preview plugin (Jessibuca Pro) WebRTC protocol supports H265 and AAC formats - WebRTC plugin adds screen sharing test page - WebRTC plugin push stream test page adds camera selection function - The engine adds the function of dynamically inserting SEI frames - The engine transforms DataTrack and MediaTrack, and reuses part of the code to reduce complexity - The event bus adds the engine initialization completion event - The default port for connecting to the remote console is changed to 44944 - Fix the problem caused by publishing the same StreamPath at the same time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - preview插件(Jessibuca Pro)WebRTC协议支持H265以及AAC格式 - WebRTC插件增加屏幕分享测试页面 - WebRTC插件推流测试页面增加摄像头选择功能 - ​engine增加动态插入SEI帧的功能 - engine对DataTrack改造,和MediaTrack复用部分代码,减少复杂度 - 事件总线增加引擎初始化完成事件 - 连接远程控制台默认端口更换为44944 - 修复同时发布同一个StreamPath引起的问题 --- Dockerfile | 9 ++++++--- README.md | 11 +++++++---- config.yaml | 5 ----- go.mod | 16 ++++++++-------- go.sum | 32 ++++++++++++++++---------------- 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/Dockerfile b/Dockerfile index ce16830d..059a005c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,12 +3,15 @@ FROM alpine:latest WORKDIR /opt -ADD monibuca /opt +ADD monibuca_linux /opt +ADD favicon.ico /opt ADD config.yaml /opt ADD local.monibuca.com.key /opt ADD local.monibuca.com_bundle.pem /opt +# RUN apk --no-cache add ffmpeg #暴露端口 -EXPOSE 8080 8081 1935 554 58200 5060 8000-9000 +EXPOSE 8080 8443 1935 554 58200 5060 8000-9000 EXPOSE 5060/udp 58200/udp 8000-9000/udp + #最终运行docker的命令 -ENTRYPOINT ["./monibuca"] \ No newline at end of file +ENTRYPOINT ["./monibuca_linux"] \ No newline at end of file diff --git a/README.md b/README.md index b30ba03e..d0ff1ddf 100644 --- a/README.md +++ b/README.md @@ -119,9 +119,10 @@ Don't forget to fix the rights chmod +x m7s_xxx_xxx on Linux and Mac. - Similar to Linux and Mac, you may need to modify the executable permissions of the file or double-click to run - Windows, double-click m7s directly_windows_x86.exe can be started -:::tip 运行多实例 -由于实例会监听http端口,所以如果需要运行多实例,就需要为每个实例指定不同的http端口,因此需要启动时指定配置文件,例如./m7s_linux_x86 -c config.yaml -::: +## Docker +```bash +docker run -id -p 1935:1935 -p 8080:8080 -p 8443:8443 -p 554:554 -p 58200:58200 -p 5060:5060/udp -p 8000:8000/udp -p 9000:9000 langhuihui/monibuca:latest +``` ## Self-compiled startup project 1. `git clone https://github.com/langhuihui/monibuca` @@ -134,4 +135,6 @@ You can watch the video tutorial: - [从零启动 m7s V4](https://www.bilibili.com/video/BV1iq4y147N4/) -- [m7s v4 视频教程——插件引入](https://www.bilibili.com/video/BV1sP4y1g7BF/) \ No newline at end of file +- [m7s v4 视频教程——插件引入](https://www.bilibili.com/video/BV1sP4y1g7BF/) + +![公众号](https://m7s.live/images/m7s/footer/wx-mp.jpg) \ No newline at end of file diff --git a/config.yaml b/config.yaml index 1a7b97e9..274724a1 100644 --- a/config.yaml +++ b/config.yaml @@ -4,11 +4,6 @@ # 插件配置参考各个插件的文档 # 插件都有一个enable配置,如果为false则不启用该插件,默认为true即不需要配置。 -global: - http: - listenaddrtls: :8081 - certfile: local.monibuca.com_bundle.pem - keyfile: local.monibuca.com.key llhls: enable: false hls: diff --git a/go.mod b/go.mod index b568d171..1b010f73 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module monibuca go 1.19 require ( - m7s.live/engine/v4 v4.13.2 + m7s.live/engine/v4 v4.13.4 m7s.live/plugin/debug/v4 v4.0.0 m7s.live/plugin/edge/v4 v4.0.5 m7s.live/plugin/fmp4/v4 v4.0.3 @@ -13,14 +13,14 @@ require ( m7s.live/plugin/hook/v4 v4.0.2 m7s.live/plugin/jessica/v4 v4.2.0 m7s.live/plugin/logrotate/v4 v4.0.4 - m7s.live/plugin/monitor/v4 v4.0.2 - m7s.live/plugin/preview/v4 v4.1.0 + m7s.live/plugin/monitor/v4 v4.0.3 + m7s.live/plugin/preview/v4 v4.1.1 m7s.live/plugin/record/v4 v4.3.6 - m7s.live/plugin/room/v4 v4.0.9 - m7s.live/plugin/rtmp/v4 v4.2.1 - m7s.live/plugin/rtsp/v4 v4.2.2 + m7s.live/plugin/room/v4 v4.0.10 + m7s.live/plugin/rtmp/v4 v4.2.2 + m7s.live/plugin/rtsp/v4 v4.2.3 m7s.live/plugin/snap/v4 v4.0.6 - m7s.live/plugin/webrtc/v4 v4.1.6 + m7s.live/plugin/webrtc/v4 v4.1.7 m7s.live/plugin/webtransport/v4 v4.0.6 ) @@ -102,5 +102,5 @@ require ( golang.org/x/text v0.9.0 // indirect golang.org/x/tools v0.6.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - m7s.live/plugin/ps/v4 v4.0.5 // indirect + m7s.live/plugin/ps/v4 v4.0.6 // indirect ) diff --git a/go.sum b/go.sum index 02866179..adb3f4f8 100644 --- a/go.sum +++ b/go.sum @@ -398,8 +398,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -m7s.live/engine/v4 v4.13.2 h1:0OhHNenyLgZJW/6aU5NmT5yv5sXG/e0c2qxLmJ0LqgM= -m7s.live/engine/v4 v4.13.2/go.mod h1:LoALBfV5rmsz5TJQr6cmLxM33mfUE5BKBq/sMtXOVlc= +m7s.live/engine/v4 v4.13.4 h1:+cdu5+eqrYrg993oKAkoEwHmleEbbEjguafdFaAzvig= +m7s.live/engine/v4 v4.13.4/go.mod h1:LoALBfV5rmsz5TJQr6cmLxM33mfUE5BKBq/sMtXOVlc= m7s.live/plugin/debug/v4 v4.0.0 h1:yVFI/XB/EwR9NyihwvTIC/tocibPdE/NQZjDnOtRq/M= m7s.live/plugin/debug/v4 v4.0.0/go.mod h1:A/C1ViacCOK7EPeeCfiwlUrC2TUtRdEqzrR0Yd9b1KQ= m7s.live/plugin/edge/v4 v4.0.5 h1:0CEfbMAmD2jAUeb+jaZD5vvq968wrJli30PUkaNpbDo= @@ -418,23 +418,23 @@ m7s.live/plugin/jessica/v4 v4.2.0 h1:HhK/f5CpfXeKueWgaIB3DR3JJunKojGlON+X0Q+/O58 m7s.live/plugin/jessica/v4 v4.2.0/go.mod h1:4z+5NOFuEaLiAszUdABb9SI5o+ZRnFzTB4wWYImeCbk= m7s.live/plugin/logrotate/v4 v4.0.4 h1:y3X+aJ/FSftWMa4yDWF+662xfV5lrEaOZofV8SGQLTc= m7s.live/plugin/logrotate/v4 v4.0.4/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU= -m7s.live/plugin/monitor/v4 v4.0.2 h1:Pto/w3HqzN19wLIJLRwsXPOfLOrkE3b10GCtoqP3UsY= -m7s.live/plugin/monitor/v4 v4.0.2/go.mod h1:wYcjvXM03RK00DGA/R7zfiENNT7jDFQhp0rEBvO1mTw= -m7s.live/plugin/preview/v4 v4.1.0 h1:VdGAFSTNNG5uY8NNp8k+i0k1/vp3tZMRiyZdDFJuzJo= -m7s.live/plugin/preview/v4 v4.1.0/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg= -m7s.live/plugin/ps/v4 v4.0.5 h1:qd+B4vEiPflqQVUce4dbQwsQcQ0wwYYyyCdfOaEdRg4= -m7s.live/plugin/ps/v4 v4.0.5/go.mod h1:H6/wg14Zcg0Jpmw3e0XYq4mweotufmcpgpLybwF0kgo= +m7s.live/plugin/monitor/v4 v4.0.3 h1:hu0Sh3W8+gcpmZ5LW6Gt/h1Mvl04+k1px5KtddsPPVw= +m7s.live/plugin/monitor/v4 v4.0.3/go.mod h1:wYcjvXM03RK00DGA/R7zfiENNT7jDFQhp0rEBvO1mTw= +m7s.live/plugin/preview/v4 v4.1.1 h1:2Gz++9QyT9G+lpHzvZrWNGkOru7HRKiSeBrXaI0g1hQ= +m7s.live/plugin/preview/v4 v4.1.1/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg= +m7s.live/plugin/ps/v4 v4.0.6 h1:oHtQf35ic1dCEvi/LFM3sGuPcAN/ho9q6rYlIu8RRz4= +m7s.live/plugin/ps/v4 v4.0.6/go.mod h1:2JaJqcfJQjQEC34uu1QeH8ci4aXGhE48Cragl2Wsf4A= m7s.live/plugin/record/v4 v4.3.6 h1:aFZPpop6QFPOPfKvOnKBWr4dknzPweKAqALAvEclk74= m7s.live/plugin/record/v4 v4.3.6/go.mod h1:8TWcAJAjMcsHOiuT/SVCxdknSmlXH93iZowkQLOfFU0= -m7s.live/plugin/room/v4 v4.0.9 h1:1kscEupO4NLYkNZI8ayJ8tu9qDuENxnDhgGZ9MtRcSk= -m7s.live/plugin/room/v4 v4.0.9/go.mod h1:rmngA5yNAJpjsT1+jt6kvbMtT7gjLM7q/gwPq3vaQDY= -m7s.live/plugin/rtmp/v4 v4.2.1 h1:8QKhIvHsJvaW3dqF9y0qnER0GN9oQ4oUHIBGCbxl/vo= -m7s.live/plugin/rtmp/v4 v4.2.1/go.mod h1:d1U5Kg7SLTrRbw2VN9uVbnAswsQrVuzGenk95dv50Pw= -m7s.live/plugin/rtsp/v4 v4.2.2 h1:qNlouWgMUvXPiAdIbQK2AxjzFo/T0ElkGnReXJNQDnA= -m7s.live/plugin/rtsp/v4 v4.2.2/go.mod h1:ZZXfNRkL/2sEf5AOXQVQl5nPtbIyF4TMVCyjo5itdQ8= +m7s.live/plugin/room/v4 v4.0.10 h1:wa/bidlvNmjuYjtoGMhZifhFypvANWFkvKJWC5f6EVg= +m7s.live/plugin/room/v4 v4.0.10/go.mod h1:EljepngX6Kdrtvfh6Lz7WmItvs/W/fV2jBaW9Tz8A1Q= +m7s.live/plugin/rtmp/v4 v4.2.2 h1:rHSm6oDNEHppYVhVk8MYRSJZcapqByUsuAtCIcnKEOQ= +m7s.live/plugin/rtmp/v4 v4.2.2/go.mod h1:d1U5Kg7SLTrRbw2VN9uVbnAswsQrVuzGenk95dv50Pw= +m7s.live/plugin/rtsp/v4 v4.2.3 h1:oIMTZyxcoh4rdGT0hfsJP1XokyIthCBQVusPJxBx9CM= +m7s.live/plugin/rtsp/v4 v4.2.3/go.mod h1:xSBM9wFXbqTIueJnTtVqrWKK78yWb7B027ToYhseraI= m7s.live/plugin/snap/v4 v4.0.6 h1:Hz0WEN6YrKDWvwpAwpfPl+V40eW0k/+8qzqS2OupzxA= m7s.live/plugin/snap/v4 v4.0.6/go.mod h1:XHggonZ0lIKEX/OP2rXjV2mPpG4urmvMT3foIaFRsus= -m7s.live/plugin/webrtc/v4 v4.1.6 h1:MzKtwcIHopmUiQPfsJDXkYOZvuuy0UbyGdygL4u1Nb4= -m7s.live/plugin/webrtc/v4 v4.1.6/go.mod h1:0kDXvyiPUputAR9MT6U9zu8yuJ5JhkYEMHB6aYEBRU8= +m7s.live/plugin/webrtc/v4 v4.1.7 h1:LS7NgOBDBQZQn0XbbFQe7Pu5CyITXEXTuzVIVkLtdtg= +m7s.live/plugin/webrtc/v4 v4.1.7/go.mod h1:0kDXvyiPUputAR9MT6U9zu8yuJ5JhkYEMHB6aYEBRU8= m7s.live/plugin/webtransport/v4 v4.0.6 h1:mgAkNs4GxHc8UiCi/NT2R2i+tD6uKujb0/uqW3CagWQ= m7s.live/plugin/webtransport/v4 v4.0.6/go.mod h1:BNe8/gAIRpgeGGTVnFnaHrqEKtzOeSq3VdlQgfc9ri4=