Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   NetStream (live) как проверить, есть ли видео? (http://www.flasher.ru/forum/showthread.php?t=197006)

inpost 01.04.2013 19:26

NetStream (live) как проверить, есть ли видео?
 
Всем привет. В прошлый раз помогли, хотя и спрашивал уже давно! Но всё равно спасибо. Надеюсь, что выручите меня снова.
Видео-трансляция идёт rtmp. Вот код:

Код AS3:

ns_playback2 = new NetStream(NCs2);
ns_playback2.addEventListener(NetStatusEvent.NET_STATUS, statusHandlerNS);
ns_playback2.play(userInfo2.enemy_sex2 + userInfo2.enemy_id2, -1);
ExternalInterface.call( "console.log" , "VIDEO LOADER: " + userInfo2.enemy_sex2 + userInfo2.enemy_id2);
 
video_playback2 = new Video(480, 360);
video_playback2.attachNetStream(ns_playback2);
 
function statusHandlerNS(event:NetStatusEvent):void {
        ExternalInterface.call("console.log" , 'VIDEOSTATUS ' + event.info.code);
}

Получается следующее, если человек не запускал трансляцию вовсе, то play не происходит, то есть NET_STATUS не меняется, и можно отследить, есть ли трансляция сейчас или нет.
А вот если только недавно была запущена, а потом произошел обрыв соединения или браузер повис или по другой причине трансляция не идет, то play всё равно срабатывает. При этом video_playback2 - выводит пустой черный экран.

Вопрос следующий: как мне проверить, есть ли видео-поток сейчас прежде, чем его выводить на экран?
Если не грамотно спросил, то уточните детали...

GBee 01.04.2013 19:40

Там, кажется, событий несколько, да еще и с разными подробностями.

Добавлено через 1 минуту
http://help.adobe.com/ru_RU/FlashPla...vent.html#info

inpost 01.04.2013 23:28

addEventListener(NetStatusEvent.NET_STATUS)
То есть указать другое событие надо тут? Вместо NET_STATUS, NET_ERROR ?

Просто я вижу:
"NetStream.Publish.Idle" status Сервер публикации потока свободен и не передает данных.

Но в логи попадает только 2 вещи:
reset (старый стрим сбросился) и start() - новый начал вещание. Но вещание пустое!

viclight 02.04.2013 00:17

Какой медиасервер? У меня такие проблемы были только с ерливидео.
Если ерливидео, попробуйте в конфиге прописать следующее
{rtmp_default_wait, false}
В этом случае, если попытка проиграть не существующий поток будет возращатся статус, что потока не существует, точно не помню. Правда почемуто не всегда.

inpost 02.04.2013 04:20

У меня crtmp .
Дело в том, что абсолютно не существующего не проигрывается. Только те, которые не вручную были остановлены, а именно оборваны повисанием браузера или разрывом соединения.

Добавлено через 38 часов 0 минут
Народ, может есть способ проверить объем передаваемых байт? То есть чёрный экран, явно ничего не передаётся, а висит как мертвый стрим?
До сих пор нет решения...
ns_playback2.addEventListener(NetStatusEvent.NET_STATUS, statusHandlerNS);
В Логи идут только 2 основных команды: reset, play() в случаях если есть стрим и в случаях, если он уже умер минут 10-15 назад...


Часовой пояс GMT +4, время: 11:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.