flavioribeiro/donut · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
donut 是一款无需任何额外配置的桥梁工具,它能够将 SRT (MPEG-TS) 和 RTMP 格式的内容转换为 WebRTC 格式,该功能由 Pion 提供支持。
工作原理
sequenceDiagram
actor User
box Cornsilk
participant browser
end
User->>+browser: input protocol, host, port, id, and opts
User->>+browser: click on [Connect]
Note over donut,browser: WebRTC connection setup
browser->>+browser: create WebRTC browserOffer
browser->>+donut: POST /doSignaling {browserOffer}
donut->>+browser: reply WebRTC {serverOffer}
Note over donut,browser: WebRTC connection setup
loop Async streaming
donut--)streaming server: fetchMedia
donut--)donut: ffmpeg::libav demux/transcode
donut--)browser: sendWebRTCMedia
browser--)browser: render audio/video frames
User--)browser: watch media
end

ref: how donut works
快速入门
请确保您已安装ffmpeg 5.x.x。您必须配置 CGO 库路径,将其指向 ffmpeg 5。
export CGO_LDFLAGS="-L/opt/homebrew/Cellar/ffmpeg@5/5.1.4_6/lib/"
export CGO_CFLAGS="-I/opt/homebrew/Cellar/ffmpeg@5/5.1.4_6/include/"
export PKG_CONFIG_PATH="/opt/homebrew/Cellar/ffmpeg@5/5.1.4_6/lib/pkgconfig"
现在你可以安装并运行它了:
go install github.com/flavioribeiro/donut@latest
donut
以下是在 MacOS上运行的具体说明]。
使用 DOCKER-COMPOSE 运行
或者,您也可以使用docker-compose来模拟SRT实时传输,并轻松地运行 donut。
make run
打开 Web UI
打开 http://localhost:8080/demo]。你会看到两个文本框。在其中填入你的流媒体信息,然后点击“连接”。

常见问题
如果您遇到任何问题,请查看 FAQ]。