1. Modifying the engine Streams global variable to sync.Map increases stability and performance

2. Add record plugin to record raw audio data function
3. Fix security issues where API reading log files may access files outside of the log directory
4. Fix noise issue during GB streaming sound playback
5. Fix a memory leak
6. The GB28181 plugin combines a PR for API query of video recordings and directly returns data, no longer through Channel data
7. GB28181 plugin list returns no more nulls
8. On demand pull and push trigger logic code optimization
9. Debug plugin adds HTTP configuration

1、引擎Streams全局变量修改为sync.Map增加了稳定性和性能
2、录制插件增加录制裸音频数据功能
3、修复API读取日志文件可能访问到日志目录外的安全问题
4、修复GB流声音播放有噪声问题
5、修复一处内存泄漏
6、GB28181插件合并一个PR用于API查询录像直接返回数据,不再通过Channel数据中返回
7、GB28181插件list返回不再出现null
8、按需拉流和推流触发逻辑代码优化
9、debug插件增加HTTP配置
This commit is contained in:
langhuihui
2023-05-25 20:30:31 +08:00
parent 2a89629149
commit dd01ce0bc4
2 changed files with 37 additions and 36 deletions

24
go.mod
View File

@@ -3,22 +3,22 @@ module monibuca
go 1.19
require (
m7s.live/engine/v4 v4.12.10
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2
m7s.live/engine/v4 v4.13.0
m7s.live/plugin/debug/v4 v4.0.0
m7s.live/plugin/edge/v4 v4.0.5
m7s.live/plugin/fmp4/v4 v4.0.3
m7s.live/plugin/gb28181/v4 v4.3.2
m7s.live/plugin/hdl/v4 v4.1.5
m7s.live/plugin/hls/v4 v4.2.7
m7s.live/plugin/gb28181/v4 v4.3.3
m7s.live/plugin/hdl/v4 v4.1.6
m7s.live/plugin/hls/v4 v4.2.8
m7s.live/plugin/hook/v4 v4.0.2
m7s.live/plugin/jessica/v4 v4.1.4
m7s.live/plugin/logrotate/v4 v4.0.3
m7s.live/plugin/logrotate/v4 v4.0.4
m7s.live/plugin/monitor/v4 v4.0.2
m7s.live/plugin/preview/v4 v4.0.4
m7s.live/plugin/record/v4 v4.3.3
m7s.live/plugin/room/v4 v4.0.8
m7s.live/plugin/rtmp/v4 v4.1.11
m7s.live/plugin/rtsp/v4 v4.2.1
m7s.live/plugin/record/v4 v4.3.4
m7s.live/plugin/room/v4 v4.0.9
m7s.live/plugin/rtmp/v4 v4.2.0
m7s.live/plugin/rtsp/v4 v4.2.2
m7s.live/plugin/snap/v4 v4.0.6
m7s.live/plugin/webrtc/v4 v4.1.5
m7s.live/plugin/webtransport/v4 v4.0.4
@@ -37,7 +37,7 @@ require (
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
github.com/gobwas/httphead v0.1.0 // indirect
github.com/gobwas/pool v0.2.1 // indirect
github.com/gobwas/ws v1.1.0 // indirect
github.com/gobwas/ws v1.2.1 // indirect
github.com/golang/mock v1.6.0 // indirect
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
github.com/google/uuid v1.3.0 // indirect
@@ -97,5 +97,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.2 // indirect
m7s.live/plugin/ps/v4 v4.0.3 // indirect
)

49
go.sum
View File

@@ -43,8 +43,8 @@ github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u1
github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.1.0-rc.1/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk=
github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -299,6 +299,7 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
@@ -356,40 +357,40 @@ 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.12.10 h1:vO9jKAbeywZ2YTlg2TNEPc8t1neLZAUWkosrjHdGpcc=
m7s.live/engine/v4 v4.12.10/go.mod h1:LoALBfV5rmsz5TJQr6cmLxM33mfUE5BKBq/sMtXOVlc=
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2 h1:0QWJvozTHy7m+G/lOIGiejQ9okFIDjwzVsgXe6ZaJg8=
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2/go.mod h1:A/C1ViacCOK7EPeeCfiwlUrC2TUtRdEqzrR0Yd9b1KQ=
m7s.live/engine/v4 v4.13.0 h1:zvzCUfZ8Ma4iTmLq9n0UAo9VLCU/b3oB+nbatUOgKAI=
m7s.live/engine/v4 v4.13.0/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=
m7s.live/plugin/edge/v4 v4.0.5/go.mod h1:AWeJV1Nu2UWsEdlcCATlQW+bz6Pz/3A11AZG9Z4hIc0=
m7s.live/plugin/fmp4/v4 v4.0.3 h1:4wdIuM+COZG1J+0fvdwlsUnUKtMm2sOItM/IYw0zvMw=
m7s.live/plugin/fmp4/v4 v4.0.3/go.mod h1:9/DlkfpXuBtZziwARFHZogLRnT+vjXPbO5eTrbGkY+8=
m7s.live/plugin/gb28181/v4 v4.3.2 h1:P0RoBTrD2zkjeMLjzu52D0YXWn0mGLfFy81AH4kSxcw=
m7s.live/plugin/gb28181/v4 v4.3.2/go.mod h1:8OT8exFBJX+Er6V0rrFwrZSG26mnGvE5vPNNYQduLHc=
m7s.live/plugin/hdl/v4 v4.1.5 h1:0A1bUiAmcUiUCimM4+QyDmiHJE3+BQhHXIEPiZGNxT8=
m7s.live/plugin/hdl/v4 v4.1.5/go.mod h1:tUcbO5AZLj4Kg5UILxhYrDdSHnNNWPMQxN/+NFQuaTE=
m7s.live/plugin/hls/v4 v4.2.7 h1:KXEvdZsXx+UsPVDO2qoAAjYrJzNluxpkHFXn/ESRrPY=
m7s.live/plugin/hls/v4 v4.2.7/go.mod h1:7HpRotPvT0xxmFwcTEt0S89U5J1pzTCkBWwAq4Zte9I=
m7s.live/plugin/gb28181/v4 v4.3.3 h1:fc9XH+3DE8p+BIbTXcHmTA60WLp6BO0Ud928/OtsLng=
m7s.live/plugin/gb28181/v4 v4.3.3/go.mod h1:8OT8exFBJX+Er6V0rrFwrZSG26mnGvE5vPNNYQduLHc=
m7s.live/plugin/hdl/v4 v4.1.6 h1:vgc+9MJ0eZcnUF1ZdpZa029UKlFDB2Tz3zZvemMW7BY=
m7s.live/plugin/hdl/v4 v4.1.6/go.mod h1:tUcbO5AZLj4Kg5UILxhYrDdSHnNNWPMQxN/+NFQuaTE=
m7s.live/plugin/hls/v4 v4.2.8 h1:ML5qQx10c2WdPj6mCdj2AOVN2BtYjqHjkKYAoq2s/5A=
m7s.live/plugin/hls/v4 v4.2.8/go.mod h1:7HpRotPvT0xxmFwcTEt0S89U5J1pzTCkBWwAq4Zte9I=
m7s.live/plugin/hook/v4 v4.0.2 h1:fKwsx7gDAzfKfCz0C+knoY4wg/qnlQloM996l3jUWNc=
m7s.live/plugin/hook/v4 v4.0.2/go.mod h1:zoyGSwIIdt4NGFdqrKHLFCwwMk4oAOF+dlvSV6cizGU=
m7s.live/plugin/jessica/v4 v4.1.4 h1:6aYwIvNzPh6P06fiPrpb+R69Jx3f5g400vXLdsIa0Bk=
m7s.live/plugin/jessica/v4 v4.1.4/go.mod h1:lUmggsscxqiIvPSY1+RB2vzGstpgSaj/HQOlNTOVCCs=
m7s.live/plugin/logrotate/v4 v4.0.3 h1:f+teASc5Y5vDOrxXFc/ri3t7jdi6GIb6V9UMjhacb7I=
m7s.live/plugin/logrotate/v4 v4.0.3/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU=
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.0.4 h1:xDS0817CLo3hx+wAcncE46gPDiPN5AsIWdAdbBltGDA=
m7s.live/plugin/preview/v4 v4.0.4/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/ps/v4 v4.0.2 h1:Mpg+bsi+RnGtscG3NrN6mog2/gaRRPgqnsTGwiEsEO4=
m7s.live/plugin/ps/v4 v4.0.2/go.mod h1:lAPr3gGIFoU4ctMRnPeyjbcREueyT6TfiKhWBgDrOGM=
m7s.live/plugin/record/v4 v4.3.3 h1:2I0zrRjQqdgERlaP0YaL4B21cMqEKIDYfdVBTPi1mNI=
m7s.live/plugin/record/v4 v4.3.3/go.mod h1:8TWcAJAjMcsHOiuT/SVCxdknSmlXH93iZowkQLOfFU0=
m7s.live/plugin/room/v4 v4.0.8 h1:tt3VU7kM8OS4HZ3CMmssLKE0YyIrqzPJSr16we0DNcQ=
m7s.live/plugin/room/v4 v4.0.8/go.mod h1:rmngA5yNAJpjsT1+jt6kvbMtT7gjLM7q/gwPq3vaQDY=
m7s.live/plugin/rtmp/v4 v4.1.11 h1:wYsyzWyArkE4WU7mlGbgUbu2/oqCU3Wnr4StOE7qfHg=
m7s.live/plugin/rtmp/v4 v4.1.11/go.mod h1:7+3oO93TIsSlASnv482PCE3CXhYqyRIAwA8FllnOTgE=
m7s.live/plugin/rtsp/v4 v4.2.1 h1:wkaRjWQeXJbfwCNF7USUBEUcnRQ5AAs19xKRRxdNKUA=
m7s.live/plugin/rtsp/v4 v4.2.1/go.mod h1:ZZXfNRkL/2sEf5AOXQVQl5nPtbIyF4TMVCyjo5itdQ8=
m7s.live/plugin/ps/v4 v4.0.3 h1:oZraPEyDn6WErTRskx2Rs5aloqjGNS0p1M4CphDqKZA=
m7s.live/plugin/ps/v4 v4.0.3/go.mod h1:H6/wg14Zcg0Jpmw3e0XYq4mweotufmcpgpLybwF0kgo=
m7s.live/plugin/record/v4 v4.3.4 h1:KQhrAn2g1IwBL4alqyAMBGg40ivGgpcSGADMfG3MD+4=
m7s.live/plugin/record/v4 v4.3.4/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.0 h1:kCh6J3BrH2zm+Lu1DIoshp9qjtkYyzeo9zqVcVIJhd8=
m7s.live/plugin/rtmp/v4 v4.2.0/go.mod h1:7+3oO93TIsSlASnv482PCE3CXhYqyRIAwA8FllnOTgE=
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/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.5 h1:hqOJv2NVP/z4ZXd7VPhcPKW700aOkqiu+h5YX3kdriQ=