2015-11-17 5 views
1

Я делаю приложение на основе вещания я использую VideoCore Lib для вещания для этого я использую ниже код, чтобы начать сеанс RTMPМожем ли мы передать имя пользователя в библиотеке видеоконтента для URL-адреса RTMP?

[_session startRtmpSessionWithURL:urlForStream 
            andStreamKey:streamID]; 

urlForStream является гиперссылка на Wowza сервере, как RTMP: //some.tv/ some/username/username/randamvalue , что значение Randam не хочет переопределять мои видео каждый раз, поэтому я использую этот url, и теперь моя проблема - состояние VCSessionState, которое не меняется, оно не приходит в исходное состояние, и я получаю Ошибка здесь - класс streamsessio.mm и [NSRL (m_runLoop) run]; я не знаю, где я пропустил, пожалуйста, помогите мне

ответ

0

Учитывая мой опыт создания собственной библиотеки протокола RTMP, я подумал, что вам нужно разделить URL на две части: tcUrl и stream key. В вашем случае случайным значением, вероятно, будет ключ потока.

NSString *tcUrl; 
NSString *stream; 
separateRtmpUrl(urlForStream, &tcUrl, &stream); 
[_session startRtmpSessionWithURL:tcUrl andStreamKey:stream]; 

Определение функции separateRtmpUrl может быть таким.

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

Спасибо за повторе я использую выше код еще я не в состоянии начать сессию и я не получаю какие-либо ошибки его просто отключить – Bittoo

+0

что Randam значение получает от моего сервера, то я добавлю к RTMP URL, но я не знаю, где я пропустил это, вызывает метод connection delegateChanged, но не в случае VCSessionStateStarted – Bittoo

+0

@Bittoo Извините, я знаком с самим протоколом RTMP, но не с Wowza и библиотекой, которую вы используете. – findall