如何直接使用 Android 的 Twilio TURN 服务器(服务器、客户端)

Vol*_*lyk 1 android p2p rtsp twilio turn

我在 Android 设备上有libstreaming RTSP服务器(打开一些端口并等待客户端p2p 连接)。
我能够通过本地网络连接到服务器。对于外部p2p 连接,我必须使用STUN / TURN
我读了很多关于Twilio 的文章。他们写了关于TURN server: NETWORK TRAVERSAL 的文章,但实际上并没有提供如何使用它的清晰示例。他们有一些我不需要的现成解决方案。
是否可以将Twilio直接用作视频流的TURN服务器,而无需任何附加功能?
如果没有,我有什么选择?

phi*_*ash 5

Twilio 开发人员布道者在这里。

为了使用 TURN 服务器,您需要生成一个访问令牌,其中包含网络遍历服务服务器的所有详细信息以及访问它们的凭据。

您将需要一个服务器来生成此令牌,这样您就不会公开您的 Twilio 帐户凭据。服务器需要向 Twilio 发出请求以生成令牌。在 curl 中,这看起来像这样:

$ curl -XPOST https://api.twilio.com/2010-04-01/Accounts/YOUR_ACCOUNT_SID/Tokens.json \
    -u "YOUR_ACCOUNT_SID:YOUR_AUTH_TOKEN
Run Code Online (Sandbox Code Playgroud)

然后响应如下所示:

{
    "account_sid": "YOUR_ACCOUNT_SID",
    "date_created": "Mon, 17 Nov 2014 23:55:19 +0000",
    "date_updated": "Mon, 17 Nov 2014 23:55:19 +0000",
    "ice_servers": [
        {
            "url": "stun:global.stun.twilio.com:3478?transport=udp"
        },
        {
            "credential": "M87Dd74GbNfyrAydvEKiDR43go52fo6ldoJBHB6gim0=",
            "url": "turn:global.turn.twilio.com:3478?transport=udp",
            "username": "b759d275ddc641cd379f329882abe3c0618c8afdfc5e24be1b4d59482244240f"
        }
    ],
    "password": "M87Dd74GbNfyrAydvEKiDR43go52fo6ldoJBHB6gim0=",
    "registrars": null,
    "ttl": "86400",
    "username": "b759d275ddc641cd379f329882abe3c0618c8afdfc5e24be1b4d59482244240f"
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用 TURN 服务器 URL 和凭据访问 TURN 服务。在此处查看相关文档