pion/webrtc - 如何在 GO Pion API 中设置音频接收器和源?

Posted

技术标签:

【中文标题】pion/webrtc - 如何在 GO Pion API 中设置音频接收器和源?【英文标题】:pion/webrtc - How do I set audio sink and source in GO Pion API? 【发布时间】:2021-09-27 13:17:05 【问题描述】:

我正在开发一个 CLI Go 应用程序,以便在我的 Linux 服务器上后台运行。这是pion/webrtc 的实现。我的 Go 应用程序正在连接到 Janus,但没有接收或发送音频。我需要发送麦克风音频并从 Janus 接收音频。我想我应该在 pion 中链接我的音频接收器/源,但我很困惑。

我不确定这段代码:

// Create a audio track
opusTrack, err := webrtc.NewTrackLocalStaticSample(webrtc.RTPCodecCapabilityMimeType: "audio/opus", "audio", "pion")
if err != nil 
    panic(err)
 else if _, err = peerConnection.AddTrack(opusTrack); err != nil 
    panic(err)

这都不是:

    gst.CreatePipeline("opus", []*webrtc.TrackLocalStaticSampleopusTrack, "audiotestsrc").Start()

我使用了pion/example-webrtc-applications/janus-gateway的示例代码。

我的整个代码here。

感谢您的帮助!

【问题讨论】:

第一个添加跟踪 t 同行报价。第二个管道将实际的音频/视频流传输到网络。阅读 cmets 吗? @mh-cbon 我知道这些行是做什么的。我不知道它们是否完整。我不知道为什么我无法接收和发送音频。这是连接到 Janus,但不发送数据或接收。你有线索吗? 【参考方案1】:

这是我得到的:

    gst.CreatePipeline("opus", []*webrtc.TrackLocalStaticSampleopusTrack, "autoaudiosrc").Start()

“autoaudiosrc”是问题。

Linux Ubuntu 服务器 21.04.4

【讨论】:

以上是关于pion/webrtc - 如何在 GO Pion API 中设置音频接收器和源?的主要内容,如果未能解决你的问题,请参考以下文章

TSINGSEE青犀视频构建pion webrtc运行broadcast示例步骤

静态链接到 pion 网络库

2 名玩家,pion 在矩阵中移动

这次的PION的总结

[LuoguU41039]PION后缀自动机 树链剖分

如何配置go语言开发环境