|
|
|||||
Регистрация: Apr 2011
Сообщений: 12
|
NetConnection.connect(null)
Всем привет.
Есть такой вопросец. Приложение проигрывает видео-файлы, лежащие на удаленном сервере. Необходимо, чтобы промежуток времени между нажатием на кнопку "Play" и началом проигрывания был минимальным. 2 варианта: 1) Файл на веб-сервере (протокол http). Видео грузим так: NetConnection.connect(null); NetStream.play(fileUrl); 2) Файл на FMS (или Wowza, Red5, короче rtmp), грузим: NetConnection.connect(serverUrl); NetStream.play(streamName); Вопрос по поводу первого способа: проигрывание начнется после того как загрузится весь файл или сразу? И какой из способов быстрее начнет проигрывание? |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Цитата:
Вряд ли есть существенная разница между двумя способами. Проигрывание начинается после того, как заполнился буфер. |
|
|||||
Регистрация: Jul 2007
Сообщений: 393
|
Разницы не будет, время на ответ определяется исключительно сетевыми задержками, которые одинаковы.
Вы можете прогрузить часть файла заранее, а при нажатии плей грузить остаток. Для этого на сервере должен быть установлен модуль псевдостриминга, а видеофайл обработан соотв. образом. Минусы- 1)часть траффика будет скушана вне зависимости от того, будет ли нажата кнопка плей 2) при нажатии на плей сразу после загрузки флешки никакого позитивного эффекта вы не добьетесь |
|
|||||
Регистрация: Apr 2011
Сообщений: 12
|
Странно. Опытным путем у меня получается, что разница есть.
Смысл вообще в следующем: Каждые 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 подключений. Но к нему я доступа не имею Последний раз редактировалось TrumaN; 15.11.2012 в 01:41. |
Часовой пояс GMT +4, время: 16:09. |
|
« Предыдущая тема | Следующая тема » |
Теги |
netconnection , netstream |
|
|