Compare commits

...

5 Commits

Author SHA1 Message Date
dexter
f65bd3a760 rtp相关追帧完成,修复音频数据写入bug 2022-06-25 20:53:25 +08:00
dexter
91a9171c5c preview插件加入索引页面,engine的api/plugins输出完整配置信息 2022-06-23 00:47:17 +08:00
dexter
0b51fecf48 snap插件更新 2022-06-20 13:25:50 +08:00
dexter
493bce72cb 取消flv补完,跳帧后的时间戳修复 2022-06-20 13:11:31 +08:00
dexter
a48057e713 更新engine依赖 2022-06-17 10:39:31 +08:00
5 changed files with 57 additions and 140 deletions

6
.gitignore vendored
View File

@@ -10,7 +10,5 @@ shutdown.sh
.m7s
debug.go
dist/
flv
hls
mp4
raw
record/
config2.yaml

View File

@@ -1,92 +0,0 @@
[Engine]
EnableAudio = true
EnableVideo = true
# 发布流默认过期时间单位秒
PublishTimeout = 60
# 自动关闭触发后延迟的秒数(期间内如果有新的订阅则取消触发关闭)
AutoCloseDelay = 10
# RTP包乱序重排
RTPReorder = false
[Summary]
# 1秒中采样一次
SampleRate = 1
[RTMP]
ListenAddr = ":1935"
[GateWay]
ListenAddr = ":8081"
ListenAddrTLS = ":8082"
CertFile = "server.pem"
KeyFile = "server.key"
[Jessica]
#ListenAddr = ":8081"
#ListenAddrTLS = ":8083"
#CertFile = "xxx.cert"
#KeyFile = "xxx.key"
[LogRotate]
# 日志存储目录相对或绝对
Path = "logs"
# 日志是否按大小分割0表示不按大小分割非零代表按该大小字节进行分割
Size = 0
Days = 1
# 按照go layout格式化默认按照小时
Formatter = "2006-01-02T15"
# [FFMPEG]
[HLS]
# 是否开启写磁盘开启后侦测到发布流就会开始写TS文件
EnableWrite = false
# 是否打开内存模式在内存中保留TS数据方便直接读取
EnableMemory = false
# 分片大小 单位秒
Fragment = 10
# 窗口数里代表一个m3u8文件里面有几个ts
Window = 2
# ts文件存放目录m3u8会存放在上一级
Path = "resource"
[HDL]
#ListenAddr = ":2020"
#ListenAddrTLS = ":2021"
#CertFile = "xxx.cert"
#KeyFile = "xxx.key"
#Reconnect = true
[HDL.AutoPullList]
# "live/hdl" = "http://flv.bdplay.nodemedia.cn/live/bbb.flv"
[TS]
# ts存放目录
Path = "resource"
[Record]
Path = "resource"
# 自动录制功能
AutoRecord = false
[RTSP]
# 端口接收推流
ListenAddr = ":554"
Reconnect = true
#启动后自动拉流,可以配置多个
[RTSP.AutoPullList]
# "live/rtsp" = "rtsp://114.116.215.52:38558/sub/3"
"live/rtsp" = "rtsp://admin:MOMA2021@47.94.226.17/Streaming/Channels/201?transportmode=unicast"
# "live/rtc" = "rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4"
# "live/rtsp" = "rtsp://admin:123456@42.193.7.166:9018/video1"
[WebRTC]
# 端口范围不配置的话是自动分配
# PortMin = 30000
# PortMax = 40000
# 公网访问必须配置PublicIP否则无法建立连接
# PublicIP = ["192.168.1.120"]
# WebRTC 推流时控制GOP大小单位毫秒
# PLI = 2000
[GB28181]
Serial = "34020000002000000001"
Realm = "3402000000"
Expires = 3600
# 媒体端口
# MediaPort = 58200
# 开启TCP拉流默认关闭
# TCP = true
# TCP端口数量超过一个的话将会每个设备轮流使用从MediaPort往下递增
# TCPMediaPortNum = 1
ListenAddr = "192.168.1.120:5060"
# 自动停止发布当订阅者数量将为0时延迟N秒自动断开,-1代表不断开
AutoCloseAfter = -1
# 自动拉流,如果开启,则拿到设备注册信息后,就从设备拉流
AutoInvite = true

View File

@@ -1,3 +1,8 @@
# 说明:插件默认启用默认配置,修改请参考配置文档,修改的部分会自动覆盖默认配置。
# 全局配置参考 https://m7s.live/guide/config.html
# 插件配置参考各个插件的文档
# 插件都有一个enable配置如果为false则不启用该插件默认为true即不需要配置。
# global:
# secret: "123456"
# http:
@@ -17,9 +22,6 @@
# pullonstart: true
# pulllist:
# live/rtsp : rtsp://admin:aaa123456@airiot.link:18554/Streaming/Channels/101
# push:
# pushlist:
# live/test : rtsp://localhost:8554/live/test
# hls:
# enable: false
# pull:

24
go.mod
View File

@@ -3,22 +3,22 @@ module monibuca
go 1.18
require (
m7s.live/engine/v4 v4.2.0
m7s.live/engine/v4 v4.4.0
m7s.live/plugin/debug/v4 v4.0.0-20220506113031-34f3a736ceb2
m7s.live/plugin/gb28181/v4 v4.0.0-20220607131724-e110acfb56d3
m7s.live/plugin/hdl/v4 v4.0.0-20220520061858-640094798008
m7s.live/plugin/hls/v4 v4.0.0-20220526032106-b2c401b1cbb5
m7s.live/plugin/hdl/v4 v4.0.0-20220619154106-b109dd48a6e4
m7s.live/plugin/hls/v4 v4.0.0-20220625093111-3bf2cf54b4d3
m7s.live/plugin/hook/v4 v4.0.0-20220510140048-d4f76fd1c415
m7s.live/plugin/jessica/v4 v4.0.0-20220511035009-ac66c57b299d
m7s.live/plugin/jessica/v4 v4.0.0-20220619154153-bcd0a5960ac1
m7s.live/plugin/logrotate/v4 v4.0.0-20220506113619-1a557d4707a5
m7s.live/plugin/preview/v4 v4.0.0-20220612074126-ea770517a67e
m7s.live/plugin/record/v4 v4.0.0-20220612043738-8f9b23601007
m7s.live/plugin/preview/v4 v4.0.0-20220622123746-8dd850d71d33
m7s.live/plugin/record/v4 v4.0.0-20220625032502-232d974a1c93
m7s.live/plugin/room/v4 v4.0.0-20220512035851-f980d4a7f6a0
m7s.live/plugin/rtmp/v4 v4.0.0-20220526123604-cbe785dedaae
m7s.live/plugin/rtsp/v4 v4.0.0-20220605130937-f9bc450d0186
m7s.live/plugin/snap/v4 v4.0.0-20220612035905-720756e0d9ce
m7s.live/plugin/webrtc/v4 v4.0.0-20220606135438-05117be5d638
m7s.live/plugin/webtransport/v4 v4.0.0-20220606132852-13c8e2349a26
m7s.live/plugin/rtmp/v4 v4.0.0-20220619154232-ab31af1fb7d6
m7s.live/plugin/rtsp/v4 v4.0.0-20220625121132-93d6eedff2b2
m7s.live/plugin/snap/v4 v4.0.0-20220619154320-97a4991e775b
m7s.live/plugin/webrtc/v4 v4.0.0-20220625121305-db54d6ee4d17
m7s.live/plugin/webtransport/v4 v4.0.0-20220619154419-bf138bc5958b
)
require (
@@ -87,7 +87,7 @@ require (
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
golang.org/x/net v0.0.0-20220607020251-c690dde0001d // indirect
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f // indirect
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c // indirect
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/tools v0.1.10 // indirect

67
go.sum
View File

@@ -411,8 +411,9 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c h1:aFV+BgZ4svzjfabn8ERpuB4JI4N6/rdy1iusx77G3oU=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -495,45 +496,53 @@ grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJd
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
m7s.live/engine/v4 v4.2.0 h1:8t19PmVHoiLxvfogs6pgh/MeEeYm4EBca8U1wmLFqR8=
m7s.live/engine/v4 v4.2.0/go.mod h1:rliHP5yJnSyr40ha6q8OhUResRn8fo26TxmmBbR2X4M=
m7s.live/engine/v4 v4.3.1 h1:KWUDKiHOTOU/4LEpD5fO8l7akWHlW0d7mHuD2urFjpA=
m7s.live/engine/v4 v4.3.1/go.mod h1:rliHP5yJnSyr40ha6q8OhUResRn8fo26TxmmBbR2X4M=
m7s.live/engine/v4 v4.4.0 h1:e8YuCyUKgrnOxnRjkH6/bqEG9JAB116Q5Mngd0Mzhh0=
m7s.live/engine/v4 v4.4.0/go.mod h1:uzpGiVnIcuoXehpvqOj9iTVxnyf7RZQZ/Ikiwyjs01E=
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/plugin/gb28181/v4 v4.0.0-20220607131724-e110acfb56d3 h1:zhDjSjstW82eRaihAJdNwgat5hMhRD39GbyWf2Kg8+I=
m7s.live/plugin/gb28181/v4 v4.0.0-20220607131724-e110acfb56d3/go.mod h1:cEVPp9jSsN7u85Km8ztdG54n2Sj4LyxvIp3SJIYPByE=
m7s.live/plugin/hdl/v4 v4.0.0-20220520061858-640094798008 h1:T3YXiK8jfO6Jr6EPtPQ++D0Heve3r2LBhO4oyrWnnFE=
m7s.live/plugin/hdl/v4 v4.0.0-20220520061858-640094798008/go.mod h1:txWIOO3PYSim9eCYMq428NQLChHs6aUrSHpezH5OUEE=
m7s.live/plugin/hls/v4 v4.0.0-20220526032106-b2c401b1cbb5 h1:URhjSOLn5QQgVsuCpObtHljNJ5dFPDgD8FzLf5pijyg=
m7s.live/plugin/hls/v4 v4.0.0-20220526032106-b2c401b1cbb5/go.mod h1:Qn4dDz5xlyBJwO+eZ3w8CUQ8Hl6KN1nmv0a3IsOjJvw=
m7s.live/plugin/hdl/v4 v4.0.0-20220619154106-b109dd48a6e4 h1:l9y3NU/mD2lWnBop3sq1mGbGcQhzutxIZ6++wWIOlUM=
m7s.live/plugin/hdl/v4 v4.0.0-20220619154106-b109dd48a6e4/go.mod h1:oYox1NW5lUlwWNuAqqmgY7csuP8Hyd8TlIGuF7DoxIk=
m7s.live/plugin/hls/v4 v4.0.0-20220619163635-447976e65ab9 h1:EcB8awppfwza+s4ECjUr3xLTtl9BgJcZ12EgfE/L2YA=
m7s.live/plugin/hls/v4 v4.0.0-20220619163635-447976e65ab9/go.mod h1:Qn4dDz5xlyBJwO+eZ3w8CUQ8Hl6KN1nmv0a3IsOjJvw=
m7s.live/plugin/hls/v4 v4.0.0-20220625093111-3bf2cf54b4d3 h1:9EA4qWYR5tr5vzvFyy1SJ81a4B4izM2Fzm3TEUFvmow=
m7s.live/plugin/hls/v4 v4.0.0-20220625093111-3bf2cf54b4d3/go.mod h1:Qn4dDz5xlyBJwO+eZ3w8CUQ8Hl6KN1nmv0a3IsOjJvw=
m7s.live/plugin/hook/v4 v4.0.0-20220510140048-d4f76fd1c415 h1:ByaKrp8iWIDhASzxxCsJRBx0Cyw1P466KLgvSiMSix4=
m7s.live/plugin/hook/v4 v4.0.0-20220510140048-d4f76fd1c415/go.mod h1:ky3FOzCMKSDIiosPOw3wrKrQLM3YERSe5YrQZToJh/I=
m7s.live/plugin/jessica/v4 v4.0.0-20220511035009-ac66c57b299d h1:QNIg4SAg+FnJ0rS7KlXAAH29wbTeuee9+jI7HINVNlo=
m7s.live/plugin/jessica/v4 v4.0.0-20220511035009-ac66c57b299d/go.mod h1:mJCONeOUeIPPA7Pfgge844l65KzHXa+QwE+AJ64Cf+4=
m7s.live/plugin/jessica/v4 v4.0.0-20220619154153-bcd0a5960ac1 h1:7muSZHyx6EQSzO8svuZKlFNVk3OrOdra+e8proeGAUY=
m7s.live/plugin/jessica/v4 v4.0.0-20220619154153-bcd0a5960ac1/go.mod h1:mJCONeOUeIPPA7Pfgge844l65KzHXa+QwE+AJ64Cf+4=
m7s.live/plugin/logrotate/v4 v4.0.0-20220506113619-1a557d4707a5 h1:XkkHG9sYk45GXVxZXDbY7WgtwoiXfJ8Mf58CPT5Bzss=
m7s.live/plugin/logrotate/v4 v4.0.0-20220506113619-1a557d4707a5/go.mod h1:a8hIV59GjpQDE+Ip790CU7yOHaG4+Iweci0sLvo43FU=
m7s.live/plugin/preview/v4 v4.0.0-20220608021414-a4c9f8eab7f5 h1:JjCpIj+JaLUVdPGQn85M7aSAnyP1HcGp2yvnmoVLO1k=
m7s.live/plugin/preview/v4 v4.0.0-20220608021414-a4c9f8eab7f5/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/preview/v4 v4.0.0-20220609062649-c4f3571bbc80 h1:cZ47Qp6dzbEpPaKM+FBY2FxJ0xo59s1qibYprzOJA9g=
m7s.live/plugin/preview/v4 v4.0.0-20220609062649-c4f3571bbc80/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/preview/v4 v4.0.0-20220612074126-ea770517a67e h1:S8hrME0L3QWwmJ4i6iEvGSqXCGpgWHgg42N0M1Pq3N0=
m7s.live/plugin/preview/v4 v4.0.0-20220612074126-ea770517a67e/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/record/v4 v4.0.0-20220602063958-0e61984aec81 h1:t3lB7xeF85vqbqaIpLFpbK+BmTjhkqgZEK01ol7BHmY=
m7s.live/plugin/record/v4 v4.0.0-20220602063958-0e61984aec81/go.mod h1:a2/CY+ddgmxzUMDpVTfAsTHrtWNDo/JOmzi6Xf05bQM=
m7s.live/plugin/record/v4 v4.0.0-20220609103825-f838166f51d3 h1:onsa8Z6EtztuF1D3oAlhKhTNrOHc8A0JFT2H6dJyKak=
m7s.live/plugin/record/v4 v4.0.0-20220609103825-f838166f51d3/go.mod h1:a2/CY+ddgmxzUMDpVTfAsTHrtWNDo/JOmzi6Xf05bQM=
m7s.live/plugin/record/v4 v4.0.0-20220612043738-8f9b23601007 h1:sqg20vFQjVGXivFih+aMZMjDYdE0cJ0tuCjmu5rzvwM=
m7s.live/plugin/record/v4 v4.0.0-20220612043738-8f9b23601007/go.mod h1:RH4YeWiKMIheDA7UpRUJWuvd4s+yCl7v/FXT4NASwUA=
m7s.live/plugin/preview/v4 v4.0.0-20220622123746-8dd850d71d33 h1:lSp0SLr3Ltaro6IGHN6IwDRyQKJJKpw2+KR2KozasP4=
m7s.live/plugin/preview/v4 v4.0.0-20220622123746-8dd850d71d33/go.mod h1:iYhWqFbTvTNDFplbTOrE5X9M6ED7gCKkKMuM5QmBocg=
m7s.live/plugin/record/v4 v4.0.0-20220620045616-933fb3cceda5 h1:Lv3elhs9rW885D3TyfEz58WC3g14S2riTtowFMPOAv4=
m7s.live/plugin/record/v4 v4.0.0-20220620045616-933fb3cceda5/go.mod h1:pOe8VNiXm/m1SiJSO16iFZhqrWJeb1xcV3s9qv5v6eo=
m7s.live/plugin/record/v4 v4.0.0-20220622154241-0029c816f11f h1:4WJBtbGL/NZ/d+yg/Vkfgn1SbxMTdP4sYrl1UHhi+UE=
m7s.live/plugin/record/v4 v4.0.0-20220622154241-0029c816f11f/go.mod h1:pOe8VNiXm/m1SiJSO16iFZhqrWJeb1xcV3s9qv5v6eo=
m7s.live/plugin/record/v4 v4.0.0-20220625032502-232d974a1c93 h1:4voF7d0cDsSm0QV7CpJuyBxWaMOPYoPz6Ub/e96g5zA=
m7s.live/plugin/record/v4 v4.0.0-20220625032502-232d974a1c93/go.mod h1:pOe8VNiXm/m1SiJSO16iFZhqrWJeb1xcV3s9qv5v6eo=
m7s.live/plugin/room/v4 v4.0.0-20220512035851-f980d4a7f6a0 h1:rv/GTbcVz1k3/7xWHTXnp4f9LU7Bzf+qC3Dqe9TIEZs=
m7s.live/plugin/room/v4 v4.0.0-20220512035851-f980d4a7f6a0/go.mod h1:s/e+9cyOkJVMAsOVRM08RDvlPikeaeh5R26qk8oekFA=
m7s.live/plugin/rtmp/v4 v4.0.0-20220526123604-cbe785dedaae h1:AMCGnBXpMQ4Z/JRXeh8GDKP+a6IWXgzSZpEoMWcm3V4=
m7s.live/plugin/rtmp/v4 v4.0.0-20220526123604-cbe785dedaae/go.mod h1:Qq/uCVLaROsvhCnlpsUEKy9ZFvD5ajeF23tnJBQEt5s=
m7s.live/plugin/rtsp/v4 v4.0.0-20220605130937-f9bc450d0186 h1:ddyK1aeMQeG8YnCaidXmoTl+N58FDjR+aaOAiV2QKjw=
m7s.live/plugin/rtsp/v4 v4.0.0-20220605130937-f9bc450d0186/go.mod h1:pGxUDv4pes+hA/PxDdUdJleyJpSbK0562hCC0TODMJ0=
m7s.live/plugin/snap/v4 v4.0.0-20220612035905-720756e0d9ce h1:oYlcXS0qX/LtLMry6Lvaidz91dw6nEIs8q4XIaU6+dw=
m7s.live/plugin/snap/v4 v4.0.0-20220612035905-720756e0d9ce/go.mod h1:XHggonZ0lIKEX/OP2rXjV2mPpG4urmvMT3foIaFRsus=
m7s.live/plugin/webrtc/v4 v4.0.0-20220606135438-05117be5d638 h1:GPPxzA9zGW+Ip1Q/0BbKV7Thl1rqpRtALlTNCPn7Vu4=
m7s.live/plugin/webrtc/v4 v4.0.0-20220606135438-05117be5d638/go.mod h1:F78F1+ILZZbKYoHXr42YBXkHoi9D4W7jvjSazN38000=
m7s.live/plugin/webtransport/v4 v4.0.0-20220606132852-13c8e2349a26 h1:UiTuyBhVndkzrnd/hg+JUAY0QZF6HVAz2SpP7AFsdgI=
m7s.live/plugin/webtransport/v4 v4.0.0-20220606132852-13c8e2349a26/go.mod h1:RtqizBkC2q3QNA+gfYD1mMH6SVK8T/iprvaX+3SQ1B0=
m7s.live/plugin/rtmp/v4 v4.0.0-20220619154232-ab31af1fb7d6 h1:3YZmLR3waoaLLkyPCcKek6jrjX+EIK8tgILOYQqc0Is=
m7s.live/plugin/rtmp/v4 v4.0.0-20220619154232-ab31af1fb7d6/go.mod h1:Y+1A1ds4GgcoDennFy5DJntiuzeptO7EEqgu32bjJ70=
m7s.live/plugin/rtsp/v4 v4.0.0-20220619154428-2c1d908d7e68 h1:sKnga6vlsh3iVLwbjpIfdSLnypqZcjtWdPNjs97OTxg=
m7s.live/plugin/rtsp/v4 v4.0.0-20220619154428-2c1d908d7e68/go.mod h1:pGxUDv4pes+hA/PxDdUdJleyJpSbK0562hCC0TODMJ0=
m7s.live/plugin/rtsp/v4 v4.0.0-20220625121132-93d6eedff2b2 h1:wnOWbAp7D4i7Kd5ZWai+Nt1kFvjm8nOcYvok/ijboLI=
m7s.live/plugin/rtsp/v4 v4.0.0-20220625121132-93d6eedff2b2/go.mod h1:vzkSksXHo7Im77Yazqucrsa+VyOBV4UBlnrWW/oZpuo=
m7s.live/plugin/snap/v4 v4.0.0-20220619154320-97a4991e775b h1:fyy2rnRkjJnOIDJ4lIYHpDlxaAMJPYvXmhd/PbNhgrQ=
m7s.live/plugin/snap/v4 v4.0.0-20220619154320-97a4991e775b/go.mod h1:XHggonZ0lIKEX/OP2rXjV2mPpG4urmvMT3foIaFRsus=
m7s.live/plugin/webrtc/v4 v4.0.0-20220619154404-6a5d740a21de h1:YQuiVrN7XMsxbxvYC8696i0gFPPe8TsfTIUDMxmKrFQ=
m7s.live/plugin/webrtc/v4 v4.0.0-20220619154404-6a5d740a21de/go.mod h1:F78F1+ILZZbKYoHXr42YBXkHoi9D4W7jvjSazN38000=
m7s.live/plugin/webrtc/v4 v4.0.0-20220622032224-a8edcdbf9eaa h1:CSl4AMoh43XTgr5E1bdAbQolg/AnPRbP7t4YHmHtD20=
m7s.live/plugin/webrtc/v4 v4.0.0-20220622032224-a8edcdbf9eaa/go.mod h1:F78F1+ILZZbKYoHXr42YBXkHoi9D4W7jvjSazN38000=
m7s.live/plugin/webrtc/v4 v4.0.0-20220625121305-db54d6ee4d17 h1:gWGEjZ8rT7kDD3u7rnQX17XDQtRA7pEWgRQoE47VMXY=
m7s.live/plugin/webrtc/v4 v4.0.0-20220625121305-db54d6ee4d17/go.mod h1:F78F1+ILZZbKYoHXr42YBXkHoi9D4W7jvjSazN38000=
m7s.live/plugin/webtransport/v4 v4.0.0-20220619154419-bf138bc5958b h1:VIZh7EDfZ6kLv+f9sLMQzrRZObDiMVgFFaTalVAU+MI=
m7s.live/plugin/webtransport/v4 v4.0.0-20220619154419-bf138bc5958b/go.mod h1:RtqizBkC2q3QNA+gfYD1mMH6SVK8T/iprvaX+3SQ1B0=
sourcegraph.com/sourcegraph/go-diff v0.5.0/go.mod h1:kuch7UrkMzY0X+p9CRK03kfuPQ2zzQcaEFbx8wA8rck=
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=