Compare commits

...

5 Commits

Author SHA1 Message Date
langhuihui
d095c45dee refactor: remove sei track 2024-03-07 20:50:24 +08:00
langhuihui
f2e119e0e5 1. fix: subscriber wait track timeout
2. feat: reduce wait close when no subscribe
3. fix: rtmp encode nil value
4. fix: global value override
5. fix: new publisher use old track
6. fix: WriteRTPFrame panic
7. feat: fit wrong timestamp
8. fix: debug get profile
9. fix: fmp4 h265 with enhanced rtmp protocol
10. fix: logrotate grep_linux.go
11. fix: rtmp seqhead will reset timestamp、bad publish
12. feat: room add args to  userleave and user enter event
13. feat: room add ping and pong to websocket connection
14. feat: webrtc play add query
15. fix: webrtc add PeerConnectionStateClosed handler to publisher and subscriber
2024-02-21 10:59:56 +08:00
langhuihui
1379471390 fix: fmp4 play h265, rtmp send seqhead reset timestamp bug 2024-02-12 21:36:16 +08:00
langhuihui
e5bcdb227c feat: add auto build docker 2024-01-24 15:09:47 +08:00
langhuihui
06bf245f2b fix: global config not overide 2024-01-22 16:26:09 +08:00
4 changed files with 57 additions and 117 deletions

View File

@@ -80,4 +80,17 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET }}
AWS_S3_BUCKET: monibuca
SOURCE_DIR: 'bin'
DEST_DIR: ${{ env.dest }}
DEST_DIR: ${{ env.dest }}
- name: docker build
if: success() && startsWith(github.ref, 'refs/tags/')
run: |
tar -zxvf bin/m7s_linux_amd64.tar.gz
mv m7s monibuca_linux
docker login -u langhuihui -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t langhuihui/monibuca:latest .
docker push langhuihui/monibuca:latest
- name: docker push
if: success() && !contains(env.version, 'beta')
run: |
docker tag langhuihui/monibuca:latest langhuihui/monibuca:${{ env.version }}
docker push langhuihui/monibuca:${{ env.version }}

21
go.mod
View File

@@ -4,23 +4,23 @@ go 1.20
require (
go.uber.org/zap v1.26.0
m7s.live/engine/v4 v4.14.6
m7s.live/plugin/debug/v4 v4.0.2
m7s.live/plugin/fmp4/v4 v4.0.5
m7s.live/engine/v4 v4.15.2-0.20240307124820-0280cfa65521
m7s.live/plugin/debug/v4 v4.0.3
m7s.live/plugin/fmp4/v4 v4.0.6
m7s.live/plugin/gb28181/v4 v4.4.4
m7s.live/plugin/hdl/v4 v4.1.10
m7s.live/plugin/hls/v4 v4.3.8
m7s.live/plugin/hook/v4 v4.0.3
m7s.live/plugin/jessica/v4 v4.2.1
m7s.live/plugin/logrotate/v4 v4.0.5
m7s.live/plugin/logrotate/v4 v4.0.6
m7s.live/plugin/monitor/v4 v4.0.5
m7s.live/plugin/preview/v4 v4.1.4
m7s.live/plugin/record/v4 v4.4.6
m7s.live/plugin/room/v4 v4.0.12
m7s.live/plugin/rtmp/v4 v4.2.10
m7s.live/plugin/rtsp/v4 v4.3.4
m7s.live/plugin/room/v4 v4.1.0
m7s.live/plugin/rtmp/v4 v4.3.1-0.20240307124858-efe5c2b0ee20
m7s.live/plugin/rtsp/v4 v4.3.5-0.20240228010654-14ef344d0848
m7s.live/plugin/snap/v4 v4.0.8
m7s.live/plugin/webrtc/v4 v4.2.4
m7s.live/plugin/webrtc/v4 v4.2.6-0.20240228010952-272f6e1bc8bd
m7s.live/plugin/webtransport/v4 v4.0.10
)
@@ -99,11 +99,12 @@ require (
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
golang.org/x/mod v0.12.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/sync v0.3.0 // indirect
golang.org/x/sync v0.5.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/term v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/tools v0.13.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
m7s.live/plugin/ps/v4 v4.1.5-0.20231213072312-25570d9571b3 // indirect
m7s.live/plugin/ps/v4 v4.1.5-0.20240228014109-36ba11968b92 // indirect
)

134
go.sum
View File

@@ -1,6 +1,4 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Eyevinn/mp4ff v0.38.0 h1:9DrGxg0qDTsjJuj7MoE0a8IWZP8AnwfRd98csXgrWhs=
github.com/Eyevinn/mp4ff v0.38.0/go.mod h1:w/6GSa5ghZ1VavzJK6McQ2/flx8mKtcrKDr11SsEweA=
github.com/Eyevinn/mp4ff v0.40.1 h1:7q/AtT2CFrZuYiR4PWB3nqsbG0nhyP9QAiX8iTId/+M=
github.com/Eyevinn/mp4ff v0.40.1/go.mod h1:w/6GSa5ghZ1VavzJK6McQ2/flx8mKtcrKDr11SsEweA=
github.com/abema/go-mp4 v1.1.1 h1:OfzkdMO6SWTBR1ltNSVwlTHatrAK9I3iYLQfkdEMMuc=
@@ -13,12 +11,8 @@ github.com/asticode/go-astits v1.13.0 h1:XOgkaadfZODnyZRR5Y0/DWkA9vrkLLPLeeOvDwf
github.com/asticode/go-astits v1.13.0/go.mod h1:QSHmknZ51pf6KJdHKZHJTLlMegIrhega3LPWz3ND/iI=
github.com/bluenviron/gohlslib v1.0.0 h1:UOI7wW7EdXPnnoflPL+WRiUB+bDSyrR9AXtu029n5EY=
github.com/bluenviron/gohlslib v1.0.0/go.mod h1:fwqXogd2G/CJ/0kD6TTALmWI3KAm66nZoI+06O02YKI=
github.com/bluenviron/gortsplib/v4 v4.3.0 h1:wYtXickYP9zkCxbBIt2WEseQPX0wROB+K0DAew4Ls7g=
github.com/bluenviron/gortsplib/v4 v4.3.0/go.mod h1:4XBcXsbK4MDFqnraexSDeKj++ZzrSd81CVplSpSNqKk=
github.com/bluenviron/gortsplib/v4 v4.6.2 h1:CGIsxpnUFvSlIxnSFS0oFSSfwsHMmBCmYcrGAtIcwXc=
github.com/bluenviron/gortsplib/v4 v4.6.2/go.mod h1:dN1YjyPNMfy/NwC17Ga6MiIMiUoQfg5GL7LGsVHa0Jo=
github.com/bluenviron/mediacommon v1.5.0 h1:lS0YKNo22ZOyCsYcLh3jn3TgUALqYw0f7RVwalC09vI=
github.com/bluenviron/mediacommon v1.5.0/go.mod h1:Ij/kE1LEucSjryNBVTyPL/gBI0d6/Css3f5PyrM957w=
github.com/bluenviron/mediacommon v1.5.1 h1:yYVF+ebqZOJh8yH+EeuPcAtTmWR66BqbJGmStxkScoI=
github.com/bluenviron/mediacommon v1.5.1/go.mod h1:Ij/kE1LEucSjryNBVTyPL/gBI0d6/Css3f5PyrM957w=
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
@@ -65,8 +59,6 @@ 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.3.0 h1:sbeU3Y4Qzlb+MOzIe6mQGf7QR4Hkv6ZD0qhGkBFL2O0=
github.com/gobwas/ws v1.3.0/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
github.com/gobwas/ws v1.3.1 h1:Qi34dfLMWJbiKaNbDVzM9x27nZBjmkaW6i4+Ku+pGVU=
github.com/gobwas/ws v1.3.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
@@ -294,7 +286,6 @@ golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
@@ -324,7 +315,6 @@ golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
golang.org/x/net v0.13.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
@@ -336,6 +326,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -372,7 +364,6 @@ golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
@@ -387,7 +378,6 @@ golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo=
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
@@ -402,7 +392,6 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
@@ -447,118 +436,55 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/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.14.6-0.20231211041734-46130a13bb84 h1:zOj3cvOzj/fF7LPCoO2AuPEkco7T2eNPzUqQ25ZCvg0=
m7s.live/engine/v4 v4.14.6-0.20231211041734-46130a13bb84/go.mod h1:cRR/WOZbPSAQfYxIHuCkj1YMg+C54CYlFpOJ88q+OG4=
m7s.live/engine/v4 v4.14.6-0.20231211113156-35741fc0fcc0 h1:kHd0vsKac3iLMXtGnmU09n8dlO8m2SgvJlIC65CSY4I=
m7s.live/engine/v4 v4.14.6-0.20231211113156-35741fc0fcc0/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6-0.20231212090218-434de39d3a97 h1:lepZVJ6X1jfkHIx5lDfK+EH3TE9WM//wS93kMNr/ToA=
m7s.live/engine/v4 v4.14.6-0.20231212090218-434de39d3a97/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6-0.20231212121132-c8fbf374875a h1:q63bTcgZaQWbclmghLGKoSDFmdxGMr6tdQ2wNXHnGPE=
m7s.live/engine/v4 v4.14.6-0.20231212121132-c8fbf374875a/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6-0.20231214052800-5927c4a30a0f h1:ecSK7dHlmK58R1L0ceX2cNgoNtOxmY4QCskK407HG6E=
m7s.live/engine/v4 v4.14.6-0.20231214052800-5927c4a30a0f/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6-0.20231214060627-b486af848404 h1:dwjYbGgoL0Rvqac/N9bIW0Porjcp3hl93arzo592JX4=
m7s.live/engine/v4 v4.14.6-0.20231214060627-b486af848404/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6-0.20231215101010-5e3008f00beb h1:T35bQ5W2R0b7TMUxsY260UmHJ2C6yDiQyb0CcflY7LE=
m7s.live/engine/v4 v4.14.6-0.20231215101010-5e3008f00beb/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6-0.20231220021402-453ea6a6f244 h1:9sCtX8OiQJayEczhp8ggBDiHf2jkxDlVH0qNScEW1Lo=
m7s.live/engine/v4 v4.14.6-0.20231220021402-453ea6a6f244/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.14.6 h1:7V5Tv/DEHHPl2PCJCU+hI8YSGY9zKxi4FK8EaXFKpzQ=
m7s.live/engine/v4 v4.14.6/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/plugin/debug/v4 v4.0.1 h1:sX0UADsiikwSol8qx+8aQzGeaFa8yJFa/cUKpBs5Lzw=
m7s.live/plugin/debug/v4 v4.0.1/go.mod h1:A/C1ViacCOK7EPeeCfiwlUrC2TUtRdEqzrR0Yd9b1KQ=
m7s.live/plugin/debug/v4 v4.0.2-0.20231220021419-8560e3adc2d2 h1:gSkJ5fz9sV0UGcKVegdKqKELp59xJy6ONL7hKhpd/bg=
m7s.live/plugin/debug/v4 v4.0.2-0.20231220021419-8560e3adc2d2/go.mod h1:muzikl1KrHfbT/+2aHzKg9qDGfpArViQAtpcfFrST88=
m7s.live/plugin/debug/v4 v4.0.2/go.mod h1:muzikl1KrHfbT/+2aHzKg9qDGfpArViQAtpcfFrST88=
m7s.live/plugin/fmp4/v4 v4.0.5 h1:0madI/TKvrLkYVAKuPK1HBvbVf0RJg0g2WruET3S+9c=
m7s.live/plugin/fmp4/v4 v4.0.5/go.mod h1:4ShxA9Ud2LeYZ/xQaPTWEVfjpK844ijoXxLqhCA607A=
m7s.live/plugin/gb28181/v4 v4.4.4-0.20231208110443-ce4946368990 h1:yq4wzL55nbk4x/6ET4d2CZ4eCJuEKevLs98Cm+D+0b8=
m7s.live/plugin/gb28181/v4 v4.4.4-0.20231208110443-ce4946368990/go.mod h1:mK5embLQwDULFJjA7jBls1Cwvow98lTWS6n/uZ7Ampk=
m7s.live/plugin/gb28181/v4 v4.4.4-0.20231212111848-bee261a67086 h1:0GDyECZQLVbnNATSKJmNxd951d2NnFsxXZK8Ecl089k=
m7s.live/plugin/gb28181/v4 v4.4.4-0.20231212111848-bee261a67086/go.mod h1:mK5embLQwDULFJjA7jBls1Cwvow98lTWS6n/uZ7Ampk=
m7s.live/engine/v4 v4.14.7 h1:dAR34ADfJ89aCndkukLM4ee4HjQd/D0B+Ee2pV/Vhzg=
m7s.live/engine/v4 v4.14.7/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.15.1 h1:oRIz4f+7sjFqBAHWKsePUvUj+vPItt9GVjYygl6GqaU=
m7s.live/engine/v4 v4.15.1/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/engine/v4 v4.15.2-0.20240307124820-0280cfa65521 h1:BDesxbDba3bVdDERQlI3iN86CHRXVN6/X1A0gkfL6OQ=
m7s.live/engine/v4 v4.15.2-0.20240307124820-0280cfa65521/go.mod h1:FRtMPBGzNE6kCLgY0wuS3H7d1btKocRiVe9fAkDtP1g=
m7s.live/plugin/debug/v4 v4.0.3 h1:lwqKkySXhu47kon/YeF+h5UXXac6c9seb2L6Y8X5ktM=
m7s.live/plugin/debug/v4 v4.0.3/go.mod h1:muzikl1KrHfbT/+2aHzKg9qDGfpArViQAtpcfFrST88=
m7s.live/plugin/fmp4/v4 v4.0.6 h1:X4FXfYuI1OCgaJzyJUNySDRPNPHzLJ5StgX/IxljQIA=
m7s.live/plugin/fmp4/v4 v4.0.6/go.mod h1:0P3IbefEJ6Cs9AeMME0FbEiOK7XNn1fJ5xHohtefIQA=
m7s.live/plugin/gb28181/v4 v4.4.4 h1:2ZeHCYk1qyYoF9YwEJPFkqZzH/FmkadSxT2GC+tkKFk=
m7s.live/plugin/gb28181/v4 v4.4.4/go.mod h1:mK5embLQwDULFJjA7jBls1Cwvow98lTWS6n/uZ7Ampk=
m7s.live/plugin/hdl/v4 v4.1.10 h1:6/3aCaVvqpc4m/oyhW1jgQeYfPHINiKGAP+FGptVNqU=
m7s.live/plugin/hdl/v4 v4.1.10/go.mod h1:SzMML8acGj8QD5AwihVTnTuCAdKCOpdf+q/CYl/3/Hc=
m7s.live/plugin/hls/v4 v4.3.7 h1:cSXSAsplk1vhqnhF0eTykQV9f66FGsGvjvGDJJoxW0Y=
m7s.live/plugin/hls/v4 v4.3.7/go.mod h1:ol/+hCmdqip2Ns1zIDXHWoDD7xk5Dp76AhqlIwrbRSc=
m7s.live/plugin/hls/v4 v4.3.8-0.20231213072004-7ec5ce26b101 h1:GzKNBDIPNY5lJdJqRdVlbepae4JAGTU6iZ5/T/vOjgw=
m7s.live/plugin/hls/v4 v4.3.8-0.20231213072004-7ec5ce26b101/go.mod h1:ol/+hCmdqip2Ns1zIDXHWoDD7xk5Dp76AhqlIwrbRSc=
m7s.live/plugin/hls/v4 v4.3.8 h1:VrN1b9OuUmfsPDXuL905mfAltR01Lt/oAsUCCr7uDIo=
m7s.live/plugin/hls/v4 v4.3.8/go.mod h1:5b9FA/l4EQ8KhrmML83zmqX1Pt//bv9LLMlfW5ceCWc=
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/hook/v4 v4.0.3-0.20231213072035-80b5f6e25286 h1:5sCxQSBnEzqIIDMpehZLKNDmcLlVf8H//kSQ1BMa0M0=
m7s.live/plugin/hook/v4 v4.0.3-0.20231213072035-80b5f6e25286/go.mod h1:bX151KQljdzLPAD7sqae4W+bGjTrQ+9i24/Svs2wWDk=
m7s.live/plugin/hook/v4 v4.0.3 h1:SDIUQ0lmq9bHfpIcHrvPqwGPad4z0wyI/lIvuYXi/RM=
m7s.live/plugin/hook/v4 v4.0.3/go.mod h1:bX151KQljdzLPAD7sqae4W+bGjTrQ+9i24/Svs2wWDk=
m7s.live/plugin/jessica/v4 v4.2.1 h1:GbQ8V2ElHT7Q/0y1cyXCzw/DvTnqkpP1kCOpVd+0d6Y=
m7s.live/plugin/jessica/v4 v4.2.1/go.mod h1:62tI6vio/PkJhuIbkrIKZm9jAEHwkzXe4Uk1EJaK5iQ=
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/logrotate/v4 v4.0.5-0.20231213072057-ea7b8d660ad0 h1:I/dV+8J9umz6sznsRcUHWImCrpr6+Cmeth6cXOP4INA=
m7s.live/plugin/logrotate/v4 v4.0.5-0.20231213072057-ea7b8d660ad0/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU=
m7s.live/plugin/logrotate/v4 v4.0.5 h1:5TK91rhqo3kJMUHu9C1CBkd/j8HeoUSG4okk5gRjq4Y=
m7s.live/plugin/logrotate/v4 v4.0.5/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU=
m7s.live/plugin/monitor/v4 v4.0.4 h1:vJ/gZctUej9s5ukjsNXDvl6JWqK5I+7L6W0REXR2Xpg=
m7s.live/plugin/monitor/v4 v4.0.4/go.mod h1:wYcjvXM03RK00DGA/R7zfiENNT7jDFQhp0rEBvO1mTw=
m7s.live/plugin/monitor/v4 v4.0.5-0.20231213072129-bff5c426e8bc h1:kCia/+0zrwndnAWZ1L5Lvfe+A0khm7sUmGzcaV6QwJo=
m7s.live/plugin/monitor/v4 v4.0.5-0.20231213072129-bff5c426e8bc/go.mod h1:rMERBOcTTTdsVh+rPLjxdM45aAjVSQ+I0kADvUol4J4=
m7s.live/plugin/logrotate/v4 v4.0.6 h1:BIuwLzIdXhPNnhplMXIxBn/zQ8JzCsCs8/DWk6LDO9c=
m7s.live/plugin/logrotate/v4 v4.0.6/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU=
m7s.live/plugin/monitor/v4 v4.0.5 h1:NOoCBd8832H0BuTGvtuxGljSxFW3GIMM/gg+5xk8KcA=
m7s.live/plugin/monitor/v4 v4.0.5/go.mod h1:rMERBOcTTTdsVh+rPLjxdM45aAjVSQ+I0kADvUol4J4=
m7s.live/plugin/preview/v4 v4.1.4-0.20231207023537-d0d43f80c4c9 h1:6Kyyu9X6+YN4cZp5MM8lj1rB0sJTrKICDubLDDyqhWc=
m7s.live/plugin/preview/v4 v4.1.4-0.20231207023537-d0d43f80c4c9/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/preview/v4 v4.1.4-0.20231214052634-6e5ce878edd0 h1:DaYwxaa+/NG2Lm5sphAx9fNBbMCZ7NJTLO85/LZf2rc=
m7s.live/plugin/preview/v4 v4.1.4-0.20231214052634-6e5ce878edd0/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/preview/v4 v4.1.4-0.20231226030707-6bfd6b38610e h1:M6ZrFFf8Wmgqifi9mkiTpC3yA5LWef7eODRbF6zov6M=
m7s.live/plugin/preview/v4 v4.1.4-0.20231226030707-6bfd6b38610e/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/preview/v4 v4.1.4 h1:ij5X5AYyD3vTOpla8DfVIcQi62HNZTHMppTgr7fFEh4=
m7s.live/plugin/preview/v4 v4.1.4/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/ps/v4 v4.1.4 h1:Hycrjyk6uJRxrGfytSoIdstAotGx69L5jumFVr9yTV4=
m7s.live/plugin/ps/v4 v4.1.4/go.mod h1:RAb507iNmPG43I5kUA6ewF1fTRHDRsKbIVkIdLdKeeI=
m7s.live/plugin/ps/v4 v4.1.5-0.20231213072312-25570d9571b3 h1:Ibo6vCb8VpqnpIQ2/3PFIr35BMku/2/j44f8cms77AM=
m7s.live/plugin/ps/v4 v4.1.5-0.20231213072312-25570d9571b3/go.mod h1:RAb507iNmPG43I5kUA6ewF1fTRHDRsKbIVkIdLdKeeI=
m7s.live/plugin/record/v4 v4.4.5 h1:v5xjJiC1inpsqIUeNmI8QWOCN0bsTe1x6IlO4z9blzg=
m7s.live/plugin/record/v4 v4.4.5/go.mod h1:lwVE6xn4sGQBLOWgshw3L1fa5zyEM7NlmQ8otTQGXUY=
m7s.live/plugin/record/v4 v4.4.6-0.20231213072327-1181cbca3686 h1:UVun29MJLxVNPdpIEGkbnVNg6hJbvkoY9fWHiR9IfU8=
m7s.live/plugin/record/v4 v4.4.6-0.20231213072327-1181cbca3686/go.mod h1:lwVE6xn4sGQBLOWgshw3L1fa5zyEM7NlmQ8otTQGXUY=
m7s.live/plugin/record/v4 v4.4.6-0.20231215101053-3733b9f4e61f h1:NXbePsmM1JKOdcuU3XUI9eqGjjG6HYZxMHxkS+/3QXg=
m7s.live/plugin/record/v4 v4.4.6-0.20231215101053-3733b9f4e61f/go.mod h1:lwVE6xn4sGQBLOWgshw3L1fa5zyEM7NlmQ8otTQGXUY=
m7s.live/plugin/ps/v4 v4.1.5-0.20240228014109-36ba11968b92 h1:0MWqnsyQ69RKTCogkrpCajnGJZrW2KIaUxHxYigTyzo=
m7s.live/plugin/ps/v4 v4.1.5-0.20240228014109-36ba11968b92/go.mod h1:a4Z6Bd8Fhclz4uFg2Bct+pYFGzUHe9SLrEq2PDl4fSY=
m7s.live/plugin/record/v4 v4.4.6 h1:uXhJIudBQ8T3hsNkkOgEbtWsC8feiIT1o/+Ij1SWU0A=
m7s.live/plugin/record/v4 v4.4.6/go.mod h1:4fSAA/AYCNsFA0Ii0UVuBqsbhoTXC1s3lC/en5qabjg=
m7s.live/plugin/room/v4 v4.0.11 h1:a4XOzHmsTrvi3N809IMaFGpimiJUMz8D9+BRnBk44Oc=
m7s.live/plugin/room/v4 v4.0.11/go.mod h1:bGNV2Me/k2KBfbO+fiUdC+HKJBE2wS84HczzSHfrSAI=
m7s.live/plugin/room/v4 v4.0.12-0.20231213072347-4ec68e833905 h1:Sw0MUvHze5ueZT6YnwmJjyK7M9Apsum1VCaWgJKCzjE=
m7s.live/plugin/room/v4 v4.0.12-0.20231213072347-4ec68e833905/go.mod h1:/bhhkT3bMh3q08HEO2eTC9sr8xV0XIcODEAJryeSVUI=
m7s.live/plugin/room/v4 v4.0.12 h1:jT2Ovpd/tV9F+F3gUhwxqDunrCPfa90/kSXnqqCbiZ4=
m7s.live/plugin/room/v4 v4.0.12/go.mod h1:4GBdAHUYtdp+nkHcGIClI8xkIUo/VTrD9Y0YMlTE7HU=
m7s.live/plugin/rtmp/v4 v4.2.9 h1:2wIFZ3KHvnI4yJ+ahmknnvfptOJGLEPdXALRLNtGdLA=
m7s.live/plugin/rtmp/v4 v4.2.9/go.mod h1:UqI1l1+3Y2zg2oOUkfVJ719hcv10bMYVAlg5e+gqy2E=
m7s.live/plugin/rtmp/v4 v4.2.10-0.20231213072600-93973f247912 h1:aM+sdeVQHghyQ2mrFo1kkuNnAFp8nAPcQgztbmQQYT4=
m7s.live/plugin/rtmp/v4 v4.2.10-0.20231213072600-93973f247912/go.mod h1:UqI1l1+3Y2zg2oOUkfVJ719hcv10bMYVAlg5e+gqy2E=
m7s.live/plugin/rtmp/v4 v4.2.10 h1:Ag7clTnKbbGVEZ0gFBxwFrCUxT61/VgRzR3WSsEzS98=
m7s.live/plugin/rtmp/v4 v4.2.10/go.mod h1:UqI1l1+3Y2zg2oOUkfVJ719hcv10bMYVAlg5e+gqy2E=
m7s.live/plugin/rtsp/v4 v4.3.3 h1:SVvQT7mPdy1uLKwCYtPfWTzAdei0h1Q4yKlgJ2Egsz4=
m7s.live/plugin/rtsp/v4 v4.3.3/go.mod h1:s6tETQjq/peipACzpkPjXsZfHw+Vq7D1lyHnqSl8DRs=
m7s.live/plugin/rtsp/v4 v4.3.4-0.20231213072710-5e722bf84914 h1:NVmpte5refCcJhFM0zwVMxCl2mFByBCiRJwrKp7D9FE=
m7s.live/plugin/rtsp/v4 v4.3.4-0.20231213072710-5e722bf84914/go.mod h1:s6tETQjq/peipACzpkPjXsZfHw+Vq7D1lyHnqSl8DRs=
m7s.live/plugin/room/v4 v4.1.0 h1:7avMuCnYHX1z9jmoPaGl4tdw5DKFDWiAgFK0+RWVqzA=
m7s.live/plugin/room/v4 v4.1.0/go.mod h1:4GBdAHUYtdp+nkHcGIClI8xkIUo/VTrD9Y0YMlTE7HU=
m7s.live/plugin/rtmp/v4 v4.3.0 h1:zXnN5D0cdFWAZWEiz451WhlLdpgB6y2R3nS3f/cFspI=
m7s.live/plugin/rtmp/v4 v4.3.0/go.mod h1:UqI1l1+3Y2zg2oOUkfVJ719hcv10bMYVAlg5e+gqy2E=
m7s.live/plugin/rtmp/v4 v4.3.1-0.20240228010619-887c9bb6c3b7 h1:I0/OKyTbzRKo2r5flVzvpO9/BChFfe0QowNwXWRKugU=
m7s.live/plugin/rtmp/v4 v4.3.1-0.20240228010619-887c9bb6c3b7/go.mod h1:6yihulC3KwZaT28qIHHgD68/aP7S6LpA2x3L8mMq6+w=
m7s.live/plugin/rtmp/v4 v4.3.1-0.20240307124858-efe5c2b0ee20 h1:ugC5795EjCm0sNFUYp7NzmfZGy46Rz1/PY240DFSpOQ=
m7s.live/plugin/rtmp/v4 v4.3.1-0.20240307124858-efe5c2b0ee20/go.mod h1:6yihulC3KwZaT28qIHHgD68/aP7S6LpA2x3L8mMq6+w=
m7s.live/plugin/rtsp/v4 v4.3.4 h1:dwRCdmXEFORzvVhPHfIV+5Pdlhx/OMjk5xmaKDpRDXw=
m7s.live/plugin/rtsp/v4 v4.3.4/go.mod h1:s6tETQjq/peipACzpkPjXsZfHw+Vq7D1lyHnqSl8DRs=
m7s.live/plugin/snap/v4 v4.0.7 h1:9otl/K5Iq+wlnrcTEIOnBXGarNXd+Fl4r+684Uz+V+k=
m7s.live/plugin/snap/v4 v4.0.7/go.mod h1:XHggonZ0lIKEX/OP2rXjV2mPpG4urmvMT3foIaFRsus=
m7s.live/plugin/snap/v4 v4.0.8-0.20231213072736-501c97276e0c h1:gFD0kENK/xFtxpExn0/SKi94UpAuEnCluSkRL4ZrskI=
m7s.live/plugin/snap/v4 v4.0.8-0.20231213072736-501c97276e0c/go.mod h1:gVOKn5v2wpKQrklES+nQsaMo6T6ZjfEME7Nz3G51D74=
m7s.live/plugin/rtsp/v4 v4.3.5-0.20240228010654-14ef344d0848 h1:vjI/Pc9kOcvXClq6i3i0U93GdZ73OLWCJ5PsJq9q2f0=
m7s.live/plugin/rtsp/v4 v4.3.5-0.20240228010654-14ef344d0848/go.mod h1:eU4T50gY67EqNRQqUNeEgCi4W9Pa6tGxltHuOJTFwio=
m7s.live/plugin/snap/v4 v4.0.8 h1:65t4Wd9wiBdD1/ucCSVma5/LhEg/6XbC4yqf95uvCxI=
m7s.live/plugin/snap/v4 v4.0.8/go.mod h1:gVOKn5v2wpKQrklES+nQsaMo6T6ZjfEME7Nz3G51D74=
m7s.live/plugin/webrtc/v4 v4.2.4-0.20231208110605-99b470948c03 h1:+loJAcQuKWoThSV7cRgcH7fvp5epYjrPSqUZUwNxMz4=
m7s.live/plugin/webrtc/v4 v4.2.4-0.20231208110605-99b470948c03/go.mod h1:GHnmheJotswzQAPzMrQ7mjImzTECLCSFfWWgavwbkng=
m7s.live/plugin/webrtc/v4 v4.2.4-0.20231213072749-467b55cfecf6 h1:2fpocvEtB2A8uW/hbGNXr34xhs5B/xbKqLQMWyVi1rQ=
m7s.live/plugin/webrtc/v4 v4.2.4-0.20231213072749-467b55cfecf6/go.mod h1:GHnmheJotswzQAPzMrQ7mjImzTECLCSFfWWgavwbkng=
m7s.live/plugin/webrtc/v4 v4.2.4 h1:wG+aMaUK10q/vQEDXLpmIoHgLsIsY472GfnabI9dxAE=
m7s.live/plugin/webrtc/v4 v4.2.4/go.mod h1:GHnmheJotswzQAPzMrQ7mjImzTECLCSFfWWgavwbkng=
m7s.live/plugin/webtransport/v4 v4.0.9 h1:G1HUDgi1MvdOE08XIES5bI/cRTy7LrtCU/StCql+f6o=
m7s.live/plugin/webtransport/v4 v4.0.9/go.mod h1:OBTNwQ4TLMaWV4C6Q2un1YKEJaMwk26qdgfI3hX1+qw=
m7s.live/plugin/webtransport/v4 v4.0.10-0.20231214053057-d0d850c713dc h1:lffChG8vjWCYcqNNtyy88AtgOCn8aLWn0fJF3P0gXuA=
m7s.live/plugin/webtransport/v4 v4.0.10-0.20231214053057-d0d850c713dc/go.mod h1:OBTNwQ4TLMaWV4C6Q2un1YKEJaMwk26qdgfI3hX1+qw=
m7s.live/plugin/webrtc/v4 v4.2.5 h1:0swsCn+eSMHZX04PKjAAmLXsyzADuA+hKF+p/LTAFKQ=
m7s.live/plugin/webrtc/v4 v4.2.5/go.mod h1:m6B864s2X6r6ZGnky9yL3uJafPCeZfMH6w9cnz4BYcc=
m7s.live/plugin/webrtc/v4 v4.2.6-0.20240228010952-272f6e1bc8bd h1:a7TVZ2Fuw9B29ORpHM1Xp8o0JWWTrXURHP4fjKEquU4=
m7s.live/plugin/webrtc/v4 v4.2.6-0.20240228010952-272f6e1bc8bd/go.mod h1:JbKoTZcUF1qPIFFKaQNM1CBi7IYIBtwJbu1ov8wur7Y=
m7s.live/plugin/webtransport/v4 v4.0.10 h1:qacHR9Jsfrx98vngTLwtNtbdh3U2XcPe1BQqUdnDDA4=
m7s.live/plugin/webtransport/v4 v4.0.10/go.mod h1:OBTNwQ4TLMaWV4C6Q2un1YKEJaMwk26qdgfI3hX1+qw=

View File

@@ -92,9 +92,9 @@ func (s *UnitTestSubsciber) OnEvent(event any) {
func (pub *UnitTestPublisher) OnEvent(event any) {
switch event.(type) {
case IPublisher:
pub.VideoTrack = track.NewH264(pub.Stream)
pub.VideoTrack = track.NewH264(pub)
pub.VideoTrack.WriteAnnexB(0, 0, spspps)
pub.AudioTrack = track.NewAAC(pub.Stream)
pub.AudioTrack = track.NewAAC(pub)
go pub.WriteAudio()
go pub.WriteVideo()
}