ГлавнаяСправка по использованию серверного ActionScriptКласс Stream › Stream.publishQueryString

Stream.publishQueryString

myStream.publishQueryString

Только чтение; строка запроса указанная в пути потока во время начала его публикации.

Свойства Stream.publishQueryString, Stream.maxQueueDelay, и Stream.maxQueueSize используются для конфигурации очереди прямого эфира. Эти свойства серверного ActionScript перезаписывают значения, установленные в разделе Application/StreamManager/Live/Queue/ конфигурационного файла Application.xml. Очередь прямого эфира, так же называемая прямые накопленные сообщения, объединяет несколько сообщений в одно смешанное сообщение в целью увеличения производительности сервера. Динамическое потоковое вещание (Dynamic streaming, смотрите Adobe ActionScript 3.0 Dynamic Streaming Class а так же статью “Understanding the Adobe ActionScript 3.0 Dynamic Stream API”) зависит от значений maxQueueDelay и maxQueueSize определяющих когда нужно произвести переключение на поток с высшей или низшей скоростью передачи битов. Устанавливайте значение maxQueueDelay достаточно длительным для создания большого числа данных.

При публикации потока, в пути к потоку можно указать строку запроса с параметрами, указывающими на то, как настраивать живую очередь. Получая доступ к свойству publishQueryString (например внутри функции application.onPublish() ) можно получить доступ к строке запроса. Проанализировав строку, можно получить параметры настройки. Используйте значения конфигурационных параметров для установки свойств Stream.maxQueueDelay и Stream.maxQueueSize.

Примечание: Flash Media Live Encoder 3 поддерживает добавление строки запроса к именам потока. Ранее версии Flash Media Encoder не поддерживают строк запроса.

Доступно с версии сервера

Flash Media Server 3.5

Пример

Следующий клиентский код публикует поток со строкой запроса:

ns.publish("exampleVideo?com.adobe.fms.maxQueueDelay=4000&com.adobe.fms.maxQueueSize=10240"); 

Следующий серверный код получает строку запроса, извлекает значения delay и size, и настраивает очередь прямого эфира, устанавливая свойства maxQueueDelay и maxQueueSize:

application.onPublish = function(clientObj, streamObj){ 
    trace("queryString : " + streamObj.publishQueryString); 
    // вспомагательная функция extracQueryStringArg() определена ниже 
    delay = extractQueryStringArg(streamObj.pubishQueryString, "com.adobe.fms.maxQueueDelay"); 
    size = extractQueryStringArg(streamObj.publishQueryString, "com.adobe.fms.maxQueueSize"); 
    trace("старое maxQueueDelay : " + streamObj.maxQueueDelay); 
    streamObj.maxQueueDelay = delay; 
    trace("новое maxQueueDelay : " + streamObj.maxQueueDelay); 
    trace("старое maxQueueSize : " + streamObj.maxQueueSize); 
    streamObj.maxQueueSize = size; 
    trace("новое maxQueueSize : " + streamObj.maxQueueSize); 
} 
function extractQueryStringArg(queryString, arg) 
{ 
    var retVal = ""; 
    temp = arg + "="; 
    i = queryString.indexOf(temp); 
    if (i != 0) 
    { 
        temp = "&" + arg + "="; 
        i = queryString.indexOf(temp); 
    } 
    if (i != -1) 
    { 
        retVal = queryString.substr(i+temp.length); 
        i = retVal.indexOf("&"); 
        if (i != -1) 
        { 
            retVal = retVal.substr(0, i); 
        } 
    } 
    return retVal; 
}

Смотрите также

Stream.maxQueueDelay, Stream.maxQueueSize

Остальные методы и свойства

Ярлыки: , ,

  1. Пока без комментариев.
  1. Пока нету.