我正在尝试制作一个类似于 Periscope 的应用程序(实际上不可行,但技术要求相似),用户可以在其中快速开始从他们的 iPhone 向未知数量的用户流式传输,无论是移动设备。我正在尝试使用 Azure 媒体服务进行实时视频流传输,但即使在阅读了几页文档之后,我还是被卡住了。
我正在使用 VideoCore ( https://github.com/jgh-/VideoCore ) 从 iOS 设备发布到 RTMP 服务器。在本地(使用 Wowza)上,我可以使用我设置的用户名和密码连接到本地服务器,如下所示:
vcSession = [[VCSimpleSession alloc] initWithVideoSize:CGSizeMake(1280, 720) frameRate:30 bitrate:1000000 useInterfaceOrientation:NO];
[self.view addSubview:vcSession.previewView];
vcSession.previewView.frame = self.view.bounds;
vcSession.delegate = self;
[vcSession startRtmpSessionWithURL:@"rtmp://172.20.10.2:1935/live?rtmpauth=test:test" andStreamKey:@"test"];
其中rtmpauth
参数的username:password
格式是我test
在本地服务器上设置的。有用。在 Azure 中,我创建了一个名为 的频道test
,并且获得了以下摄取 URL:
rtmp://test-myappname.channel.mediaservices.windows.net:1935/live/some-long-hexadecimal-string
在 Wirecast 中,我可以通过在输出设置中选择 Azure 媒体服务并键入该摄取 URL 来流式传输到 URL(尽管速度极慢并且连接经常丢失,不知道为什么)。在 iOS 中,我不知道如何连接到 Azure 媒体服务。
在startRtmpSessionWithURL:andStreamKey:
方法上,我尝试了 URL 和流键的所有可能组合,但没有运气。我不知道我的用户名/密码是什么(Azure 端没有给出任何内容),流密钥是什么(我试过test
, live
, 空字符串)以及那个长的十六进制字符串是什么(一些消息来源说它被称为定位器,虽然)。
连接到 Azure 媒体服务进行流式传输时,RTMP URL 和流密钥的正确格式是什么?