You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pion/webrtc示例中Golang base64会话描述无法加载视频求助

Pion WebRTC Broadcast示例视频无法加载问题排查与解决

核心问题定位及修复步骤

1. SDP传递方向错误

你当前操作中把广播方的浏览器SDP粘贴到订阅方的「Golang base64 Session Description」输入框,这是流程颠倒导致的连接失败。正确的SDP交换逻辑是:

  • 广播方点击Publish后,复制页面上的Golang base64 Session Description内容
  • 订阅方打开Join页面,将上述内容粘贴到对应输入框,点击Start Session
  • 此时订阅方会生成自己的浏览器SDP,复制该内容回到广播方页面,粘贴到「Browser base64 Session Description」输入框,点击Start Session

2. 缺少ICE服务器配置

WebRTC需要ICE服务器穿透NAT,默认示例未配置公共ICE服务器时,两端可能无法建立连接。

  • 修改examples/broadcast/main.go,在配置代码中添加公共STUN服务器:
    config := webrtc.Configuration{}
    // 添加以下ICE服务器配置
    config.ICEServers = []webrtc.ICEServer{
        {
            URLs: []string{"stun:stun.l.google.com:19302"},
        },
    }
    
  • 重新运行go run examples.go后重复测试流程

3. 浏览器权限或媒体设备异常

  • 确保两个标签页均已授予摄像头/麦克风权限
  • 按F12打开浏览器控制台,检查是否存在NotAllowedError等媒体设备相关报错
  • 尝试更换Chrome/Edge等兼容性更好的浏览器测试

4. 示例文件复制不完整

  • 确认examples文件夹下的broadcast目录所有静态文件(html、js等)完整复制
  • 运行时查看终端日志,排查是否有文件找不到的错误信息

5. Go模块依赖版本不匹配

  • 执行go get github.com/pion/webrtc@latest更新至最新稳定版
  • 删除本地的go.mod和go.sum文件,重新执行go mod init github.com/kidfrom/learn-golang-webrtc和go get github.com/pion/webrtc拉取匹配的依赖

内容的提问来源于stack exchange,提问作者Jason Rich Darmawan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:50:19