![]() |
NetConnection.connect(null)
Всем привет.
Есть такой вопросец. Приложение проигрывает видео-файлы, лежащие на удаленном сервере. Необходимо, чтобы промежуток времени между нажатием на кнопку "Play" и началом проигрывания был минимальным. 2 варианта: 1) Файл на веб-сервере (протокол http). Видео грузим так: NetConnection.connect(null); NetStream.play(fileUrl); 2) Файл на FMS (или Wowza, Red5, короче rtmp), грузим: NetConnection.connect(serverUrl); NetStream.play(streamName); Вопрос по поводу первого способа: проигрывание начнется после того как загрузится весь файл или сразу? И какой из способов быстрее начнет проигрывание? |
Цитата:
Вряд ли есть существенная разница между двумя способами. Проигрывание начинается после того, как заполнился буфер. |
Разницы не будет, время на ответ определяется исключительно сетевыми задержками, которые одинаковы.
Вы можете прогрузить часть файла заранее, а при нажатии плей грузить остаток. Для этого на сервере должен быть установлен модуль псевдостриминга, а видеофайл обработан соотв. образом. Минусы- 1)часть траффика будет скушана вне зависимости от того, будет ли нажата кнопка плей 2) при нажатии на плей сразу после загрузки флешки никакого позитивного эффекта вы не добьетесь |
Странно. Опытным путем у меня получается, что разница есть.
Смысл вообще в следующем: Каждые 2 секунды я получаю xml с ссылками на 5 текущих видеороликов и 5 следующих. Показывать нужно только 5 текущих, и каждые 2 секунды их менять. Сначала я работал только с 5 текущими видео: я создал один netConnection и при получении xml закрывал старые (предыдущие) стримы и начинал новые. Но проблема была в том, что за время смены (2 секунды) видео даже не успевало начать проигрываться. Поэтому затем я сделал вот как - одновременно работают 10 netStream-ов. Я показываю текущие 5 стримов и одновременно начинаю грузить следующие 5. Когда приходит новая xml - показываю новые и вместо старых пяти - и гружу 5 новых. Тут возникла проблема со скоростью загрузки. Я попробовал для каждого стрима сделать свой netConnection, и грузиться стало все немного (но заметно) резвее. Но все это делалось через RTMP. Теперь же может потребоваться делать то же самое с видео, лежащем на удаленном HTTP. И путем тестов у меня получилось, что результаты через HTTP вообще никакие (ни через один netConnection, ни через 10). Получилось, что вообще события NetStatusEvent, прослушиваемые на всех netStream, вообще практически всегда не успевают срабатывать в течение 4 секунд (2 секунды до показа + 2 секунды показа). Может дело в настройках http-сервера, который не дает одновременно 10 подключений. Но к нему я доступа не имею |
| Часовой пояс GMT +4, время: 08:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.