Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.04.2010, 19:50
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 1  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
По умолчанию Задержка при просмотре FLV файла с HTTP сервера

Привет всем.

Вот проигрываю видеофайл с HTTP сервера.

nc.connect(null);
...
ns.play("http://myserver/a24.flv");

Но он не сразу проигрывается,
а после огромной задержки.
Скорее читает весь файл сначала.
Как это избежать?
Установка ns.bufferTime=2 не помогает.

Спасибо.

Старый 29.04.2010, 20:14
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Во первых, нужно так:
Код AS1/AS2:
ns.setBufferTime(2);
поскольку bufferTime - это свойство компонента FLVPlayback, а не потока: FLVPlayback.bufferTime

Далее, чтобы не гадать , что у вас там происходит, отслеживайте статусы потока:
Код AS1/AS2:
ns.onStatus = function(infoObject:Object) 
{
	trace('NetStream.onStatus called: (' + getTimer() +' ms)');
	for (var prop in infoObject) 
	{
		trace('\t' + prop+ ':\t' + infoObject[prop]);
		//если без trace надо обойтись, тогда на сцене  динамическое поле нарисуйте, и:
		status_tf.text = infoObject[prop];
	}
};
Для отладки также можно смотреть наполняемость буфера:
Код AS1/AS2:
this.onEnterFrame = function () 
{
	buffer_tf.text = ns.bufferLength ;
};


Последний раз редактировалось mooncar; 29.04.2010 в 20:36.
Старый 02.05.2010, 06:30
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 3  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
Ну, буду я отслеживать статус потока,
ну, буду знать наполняемость буфера,
но чем это поможет мне избежать задержки перед проигрыванием файла.
Какие действия предпринять?

Насчет ns.setBufferTime(2) - в netstream нет такого свойства в ActionScript 3.0.
>поскольку bufferTime - это свойство компонента FLVPlayback,
>а не потока: FLVPlayback.bufferTime
Не понял.
Если "setBufferTime(2)", то где это прописывать?


Спасибо.

Старый 02.05.2010, 10:21
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Я имео ввиду AS2.
Цитата:
Сообщение от NS11111 Посмотреть сообщение
Ну, буду я отслеживать статус потока,
ну, буду знать наполняемость буфера,
но чем это поможет мне избежать задержки перед проигрыванием файла.
Избежать поможет не само знание, а выводы.
Видео должно начать проигрываться сразу же после достаточного заполнения буфера.
Поэтому посмотрите, как это происходит. То есть на каком этапе возникает задержка.
Связано ли это с медленным наполнением буфера, или же буфер уже полон, а воспроизведение отчего-то не стартует.
То, что я привел - это просто инструменты для отслеживания ситуации, если у вас AS2, не знаю, годится ли это для AS3, если вы его юзаете. Наверняка, там есть нечто аналогичное.
Цитата:
Сообщение от NS11111 Посмотреть сообщение
Если "setBufferTime(2)", то где это прописывать?
Сразу после создания потока.

Старый 03.05.2010, 06:44
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 5  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
Спасибо за участие.
Только не всё ясно из ответов.

Я спрашивал:
"Если "setBufferTime(2)", то где это прописывать?"

Я имел ввиду для какого объекта.
В netStream этого свойства нет.
Я работаю в AS3

>Видео должно начать проигрываться сразу же после
>достаточного заполнения буфера.
>Поэтому посмотрите, как это происходит.
>То есть на каком этапе возникает задержка.

У меня событие
NetStream.Buffer.Full происходит примерно
через 11 секунд для файла длиной 750 kb (время проигрывания его около 25 секунд - ).
Я посмотрел - столько же времени у меня файл скачивается с сервера по FTP.
А наполнить буфер для 2 заданных секунд - это 1 секунда должна быть
(задано ns.bufferTime=2).
Явно скачивается весь файл сначала.

Спасибо!


Последний раз редактировалось NS11111; 03.05.2010 в 07:48.
Старый 03.05.2010, 10:27
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Хотя я с видео дело имею, но AS3 я не пока не владею, поэтому только удачи вам пожелаю разобраться с проблемой. Наверняка корни проблемы растут извне самой флешки.

Старый 05.05.2010, 06:54
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 7  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
Я видел в английском форуме человек жаловался на ту же проблему.
Но без ответов.

Скорее всего глухо.
А очень жаль.
Приходится платить за медиасервер.
А так c HTTP сервера проигрывать как было бы здорово...

Старый 05.05.2010, 19:31
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 8  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Попробуй другой видео файл (например с youtube). Я не уверен, но возможно причина в том, что видео файл не потоковый.

Старый 09.05.2010, 14:34
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 9  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
Вообще-то я создал FLV файл Adobe Encoder-ом, что установился вместе с
Adobe CS4. C сервера FMS 3.5 (локального и в интернете) файл проигрываются без проблем.
Кстати, не понял, как запомнить файл с youtube. Может , это и нельзя сделать
без video capture программ.

Старый 21.05.2010, 11:57
NataZatsepova вне форума Посмотреть профиль Отправить личное сообщение для NataZatsepova Найти все сообщения от NataZatsepova
  № 10  
Ответить с цитированием
NataZatsepova

Регистрация: May 2010
Сообщений: 4
По умолчанию Задержка при просмотре FLV файла с HTTP сервера

Есть ку когото скрипт для генерации зашифрованого кода видеоссылки flv, проще говоря мне нужна так сделать так чтоб видео можно было смотреть только на моих сайтах,помогите мне советом как это сделать ?

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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