Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   NetStream, NetStatusEvent. грабли, tips & tricks (http://www.flasher.ru/forum/showthread.php?t=139807)

fljot 12.05.2010 01:09

NetStream, NetStatusEvent. грабли, tips & tricks
 
Многие, кто делал/делают видео-плееры, сталкивался с множеством проблем и непонятностей от NetStream и NetStatusEvent.
Например
http://www.brooksandrus.com/blog/200...m-still-sucks/
http://jodieorourke.com/view.php?id=88&blog=news

Нет ли у кого success stories?) Ссылок на какие-то сборники рецептов?


Из конкретных вопросов меня сейчас заботит:

1. начало воспроизведения (progressive download). Например, тут http://help.adobe.com/en_US/ActionSc...0204-7d4d.html приведена последовательность кодов NetStatus.info.code, которые получаются при воспроизведении. У меня никак после NetStream.Play.Start NetStream.Buffer.Empty не показывается, какие бы значения bufferTime не ставил. Всегда вторым идёт Buffer.Full (и через интернет, и на локальном компе), причем между ними NetStream.time иногда переходит с 0 на небольшое положительное значение.

2. перемотка на незагруженный участок.
Единственным сценарием я считал получение NetStream.Seek.InvalidTime, но с одним файлом я получал NetStream.Play.Stop, который если проигноровать то по мере загрузки получим NetStream.Buffer.Full и можно продолжить проигрывание. ???

3. конец воспроизведение.
Всегда идут несколько NetStream.Buffer.Flush, далее возможны разные случаи. а) Например NetStream.Buffer.Full и сразу NetStream.Buffer.Empty (хотя видео давно уже загрузилось), или только NetStream.Buffer.Empty. Потом уже NetStream.Play.Stop.
б) сперва NetStream.Play.Stop, потом NetStream.Buffer.Empty

Т.е. никакой стабильности.. приходится разные сценарии на ощупь пробовать, а значит какие-то запросто проходят мимо...


PS: тестировал последним стабильным FP 10.0.45.2 под маком. С новыми FP10.1 там пока ещё полный ахтунг.

wvxvw 12.05.2010 01:59

Я думаю, что фишка в синхронизации видео и аудио... И вообще в том, что формат никак не обязывает, например, присылать все аудио до того как получено видео или наоборот. А кроме всего остального синхронизация по VBR MP3 она вообще в принципе точной быть не может, пока следующий кадр звуковой не получишь - не извесно, какого он будет размера. А при том, что некоторые энкодеры еще и MP3 не правильно записывают в FLV то на точность или предсказуемость тяжело рассчитывать...

fljot 12.05.2010 19:00

Олег, с практической точки зрения не до "фишек" (глубоких причин) =) Всё равно ничег не поделаешь, есть NetStream и с ним приходится иметь дело, главное результат получить. Нет там в тесных адобовских рядах какой-то секретной инструкции?

index 08.08.2010 07:15

адоб угрохал livemotion, рано или поздно угрохает флеш.
когда флеш был под макромедией, дела были намного лучше.
набери в гугле NetStream.Seek.InvalidTime и ты поймешь, что это так и есть.
даже спустя столько времени NetStream и NetStatusEvent - остались полным дерьмом и остоем, ярко демонстрирующий уровень тупорылых адобовцев.
что касается NetStream.Seek.InvalidTime, то он просто убивает Seek.

Crenth 08.08.2010 18:46

может тут ответ найдете
NetStream.cpp-source

NumpuT 09.08.2010 14:40

Цитата:

Сообщение от Crenth (Сообщение 927778)
может тут ответ найдете
NetStream.cpp-source

Есть еще на свете добрые люди


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

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