文章

go2rtc 配置文件

浏览: 78评论: 0发布时间: 2025-12-08

go2rtc.yaml

streams:
m3:
 - 'rtsp://admin:123456@192.168.0.3:554/stream2'
 - 'ffmpeg:m3#video=mjpeg' # 如果需要转mjpeg 才写这个,不需要这个格式不要写
m4:
 - 'rtsp://admin:123456@192.168.0.4:554/stream2'
api:
listen: ":1984" 
origin: "*"
username: "username"
password: "password"

api 从URL传密码方式

需要添加 authorization: Basic base64("账号:密码")

        const url = "http://100.96.222.23:1984/api/webrtc?src=m14&access_token=password";
const response = await fetch(url, {
            method: 'POST',
            body: offer.sdp,
            headers: {
                'Content-Type': 'application/sdp',
            }
        });
        const answer = await response.text();
        await pc.setRemoteDescription({ type: 'answer', sdp: answer });

api 传账号密码方式

        const url = "http://100.96.222.23:1984/api/webrtc?src=m14";
const response = await fetch(url, {
            method: 'POST',
            body: offer.sdp,
            headers: {
                'Content-Type': 'application/sdp',
                "authorization": "Basic " + btoa("user:pwd")
            }
        });
        const answer = await response.text();
        await pc.setRemoteDescription({ type: 'answer', sdp: answer });

如何融合多个画面成一个

go2rtc.yaml

streams:
  m3:
    - 'rtsp://admin:123456@192.168.0.3:554/stream2'
  m4:
    - 'rtsp://admin:123456@192.168.0.4:554/stream2'
  m5:
    - 'rtsp://admin:123456@192.168.0.5:554/stream2'
  m6:
    - 'rtsp://admin:123456@192.168.0.6:554/stream2'
  mosaic:
    - exec:ffmpeg -hide_banner -nostats -i rtsp://127.0.0.1:8554/m3 -i rtsp://127.0.0.1:8554/m4 -i rtsp://127.0.0.1:8554/m5 -i rtsp://127.0.0.1:8554/m6 -filter_complex "[0:v]scale=960:540[v0];[1:v]scale=960:540[v1];[2:v]scale=960:540[v2];[3:v]scale=960:540[v3];[v0][v1][v2][v3]xstack=inputs=4:layout=0_0|w0_0|0_h0|w0_h0[v]" -map "[v]" -map 0:a? -c:v libx264 -preset ultrafast -tune zerolatency -b:v 2M -c:a aac -f rtsp {output}
api:
  listen: ":1984"
  origin: "*"
  username: "user"
  password: "pwd"