Буфер объектов NetStream не заполняется, и видео просто зависает

Я надеюсь, что кто-то поймет это, так как это сводит меня с ума. У меня есть объект Net Stream, который я использую для потоковой передачи видео из службы Amazon Flash Media Streaming.

Видео устанавливает соединение и воспроизводится нормально, но случайным образом кажется, что оно просто зависает, и единственный способ заставить его снова работать - это восстановить соединение. Я попытался поместить в это ведро Amazon и другие видео, и они, кажется, воспроизводятся нормально. это происходит, когда он находится в формате .FLV и .mp4.

Я установил время буфера равным 5 секундам, и я смотрю вывод буфера, чтобы увидеть, сколько он заполнен в%. когда возникает проблема, буфер 5 переходит со 100 в 0, а затем выдает ошибку сбоя буфера (я использую структуру OVP).

Я пришел к выводу, что это либо проблема с кодированием видео, либо, возможно, проблема с брандмауэром, которая блокирует передачу данных.

Были ли у кого-нибудь проблемы с этим, и если да, то как вы их решили.


person bolnad    schedule 22.11.2011    source источник


Ответы (1)


Возможно, это не совсем отличное решение, но в итоге я сделал

проверка процента буфера, и когда буфер показывает, что он загружен менее чем на 20%, я просто инициирую повторное соединение. (У OVP есть свойство с именем bufferPercentage, но это просто расчет NetStream.bufferLength / NetStream.bufferTime). Я также сохраняю ns.time, чтобы, когда я вызываю play после повторного подключения, я говорю, чтобы он начал с того места, где он остановился.

Не идеальное решение, но, похоже, оно по крайней мере предложило альтернативу замораживанию видеопотока.

Это может быть единичный инцидент, поскольку я использовал Open Video Player, но я использовал эту библиотеку несколько раз без каких-либо проблем вместе с сервером Amazon S3 Flash Streaming. http://openvideoplayer.sourceforge.net/ovpfl/docs/asdocs-fp10/index.html

person bolnad    schedule 23.11.2011