您如何构建 Pion mediadevices webrtc 示例?

我正在检查Pion Mediadevices并尝试从我的 Windows 计算机交叉编译 webrtc 示例以获得 rasperry pi 零。但是,当我尝试构建示例时,我从 Windows 命令提示符处收到这些错误:


    # github.com/pion/mediadevices/pkg/codec/mmal

..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder

# github.com/pion/mediadevices/pkg/driver/microphone

..\..\pkg\driver\microphone\microphone.go:27:10: undefined: malgo.AllocatedContext

..\..\pkg\driver\microphone\microphone.go:34:2: undefined: malgo.DeviceInfo

..\..\pkg\driver\microphone\microphone.go:40:13: undefined: malgo.InitContext

..\..\pkg\driver\microphone\microphone.go:40:36: undefined: malgo.ContextConfig

..\..\pkg\driver\microphone\microphone.go:78:25: undefined: malgo.DeviceInfo

另外因为该程序是针对 pi 零的,所以我将导入部分编辑为具有“github.com/pion/mediadevices/pkg/codec/mmal”并注释掉了 x264 导入。构建此示例的正确方法是什么?


编辑:经过进一步调查,我发现上面的错误消息:


 ..\..\pkg\codec\mmal\params.go:30:9: undefined: newEncoder

与对函数 newEncoder 的调用相关,该函数在与 params.go 相同的文件夹中的单独 go 文件 mmal.go 中声明。这两个文件package mmal在导入之前都位于顶部,并且它们所在的文件夹也称为 mmal。是否有任何问题导致 params.go 无法查看该功能?


泛舟湖上清波郎朗
浏览 157回答 1
1回答

慕妹3242003

mediadevices 目前使用 cgo 来让我们访问摄像头/麦克风和编解码器。可以在 cgo 中进行交叉编译,但您很可能需要自己将 mmal 编解码器作为静态库进行交叉编译,但这需要访问源代码。不幸的是,mmal 不是一个开源库。因此,剩下的唯一选择是在树莓派上编译库,因为 mmal 应该已经安装在您的系统上。注意:我是 mediadevices 的作者😃。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go