如何直接使用Android的Twilio TURN服务器(服务器,客户端)
问题描述:
我有libstreamingRTSP服务器在Android设备上(打开某个端口并等待客户端p2p connection)。
我可以通过本地网络连接到服务器。对于外部p2p connection我必须使用STUN/TURN。
我读了很多关于Twilio。他们写了关于TURN服务器:NETWORK TRAVERSAL,但实际上并未提供如何使用它的明确示例。他们有一些我不需要的现成解决方案。
是否有可能直接使用Twilio作为TURN服务器进行视频流传输,没有任何附加功能?
如果不是,我有什么替代方案?如何直接使用Android的Twilio TURN服务器(服务器,客户端)
答
Twilio开发者传道士在这里。
为了使用TURN服务器,您需要generate an access token,其中包含网络遍历服务服务器的所有详细信息以及用于访问它们的凭证。
您将需要一个服务器来生成此令牌,以便您不公开您的Twilio帐户凭据。服务器需要向Twilio发出请求以生成令牌。在袅袅,这应该是这样的:
$ curl -XPOST https://api.twilio.com/2010-04-01/Accounts/YOUR_ACCOUNT_SID/Tokens.json \
-u "YOUR_ACCOUNT_SID:YOUR_AUTH_TOKEN
的反应则是这样的:
{
"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"
}
然后,您可以使用TURN服务器URL和凭据访问TURN服务。 Check out the documentation for this here。
谢谢你的回答。现在我使用twilio可编程视频(生成令牌,连接到房间,获取参与者媒体)。理想情况下,我想使用我的RTSP流([libstreaming](https://github.com/fyhertz/libstreaming))和twilio TURN服务器,所以我会尝试您的建议。但是,如果可编程视频是免费的或便宜的,我保留它。 –