首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们可以在RTMP URL的videocore库中传递用户名吗?

我们可以在RTMP URL的videocore库中传递用户名吗?
EN

Stack Overflow用户
提问于 2015-11-17 13:39:21
回答 1查看 396关注 0票数 1

我正在制作一个基于广播的应用程序,我正在使用videoCore库进行广播,我正在使用下面的代码来启动rtmp会话

代码语言:javascript
复制
  [_session startRtmpSessionWithURL:urlForStream
                                     andStreamKey:streamID];

urlForStream是wowza服务器的url,就像rtmp://some.tv/some/username/username/randamvalue一样,Randam值是不想每次都覆盖我的视频,所以我使用这个url,现在我的问题是VCSessionState类的状态没有改变,它没有进入启动状态,我收到的错误是streamsessio.mm类和NSRL(m_runLoop)运行;我不知道我错过了哪里,请帮我解决问题

EN

回答 1

Stack Overflow用户

发布于 2015-11-17 14:25:44

考虑到我创建了自己的RTMP协议库的经验,我认为您必须将URL分成两部分: tcUrl和流密钥。在您的情况下,随机值很可能是流密钥。

代码语言:javascript
复制
NSString *tcUrl;
NSString *stream;
separateRtmpUrl(urlForStream, &tcUrl, &stream);
[_session startRtmpSessionWithURL:tcUrl andStreamKey:stream];

separateRtmpUrl函数的定义可以是这样的。

代码语言:javascript
复制
static void separateRtmpUrl(NSString *baseUrl, NSString **tcUrl, NSString **stream)
{
    NSURL *url = [NSURL URLWithString:baseUrl];
    *stream = url.pathComponents.lastObject;
    *tcUrl  = [NSString stringWithFormat:@"%@://%@%@", url.scheme, url.host,
               [NSString pathWithComponents:
                [url.pathComponents subarrayWithRange:
                 NSMakeRange(0, url.pathComponents.count - 1)]]];

    if (url.query) {
        *stream = [@[*stream , url.query] componentsJoinedByString:@"?"];
        *tcUrl  = [@[*tcUrl  , url.query] componentsJoinedByString:@"?"];
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33749916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档