PDA

Просмотр полной версии : FLV + потоковый сервер. Промотка видео на произвольную позицию.


Maxim001
08.06.2010, 19:40
Добрый день. На Action Script 2 пишу плеер для проигрывания потокового видео.

1. Потоковый сервер Lighttpd. Сервер настроен, работает правильно, поток отдаёт.
2. FLV файлы. Обработаны программой flvtool2, метаданные внесены правильно. На фришных плеерах типа "jw player" всё прекрасно работает. Видео проматывается в любую точку, подгружается и показывается.

Проблема: Я в коде плеера работаю с видео посредством FLVPlayback. Если я начинаю проигрывать видео сначала - всё работает. Но мне надо начать проигрывание, скажем, с какой-то произвольной точки. Для этого потоковому серверу Lighttpd надо передать имя файла с параметром start - /file.flv?start=349234234 Запрос серверу передаётся, всё в порядке, и сервер начинает отдавать видео с указанного места.
Но у меня происходит "подвисание" плеера. Плеер пытается подгрузить видео, висит, ошибок не пишет и видео не показывается.

Подскажите пожалуйста, чего я недопонимаю и не делаю для того, чтобы плеер, передав серверу запрос /file.flv?start=349234234 стал проигрывать видео с указанного места. (если я передаю запрос без параметра /file.flv - то всё в порядке, видео начинает проигрываться)
Пробовал через seek встать на нужную позицию - эффекта не дало.. Ощущение, что ещё что-то сделать надо, а вот найти не могу в доке, что надо.. :(

Работаю под CS5, под Action Script 2 пишу в силу необходимости.

Большое спасибо.

rainbowrussia
08.06.2010, 22:18
"349234234" не может быть произвольным числом, доступные точки для перемотки прописаны в meta - либо seekpoints либо filepositions. Поищите по форуму по этим ключевым словам - темы были. Либо поищите в исходниках фришных плееров эти слова - найдете готовые функции выбора точки для перемотки.

Maxim001
09.06.2010, 18:47
to rainbowrussia:

Темы в форуме все просмотрел, к сожалению, по моей теме ничего нет :(
Ключевые кадры в плеере я определяю и на ключевой кадр я становлюсь.. Дело не в этом, как мне кажется..

Попробую немного конкретизировать проблему


import mx.video.*;
this.attachMovie("FLVPlayback","myFLVPlybk",1,{_width:768, _height:432, _x:0, _y:0});
.....
.....
myFLVPlybk.contentPath = "http://mydomain.com/myvideo.flv";


Дело в том, что когда я пишу myFLVPlybk.contentPath = "http://mydomain.com/myvideo.flv"; - плеер играет видео.

Но мне, чтобы загрузить поток с произвольного места, нужно серверу отдать "http://mydomain.com/myvideo.flv?start=cuePoint"

А когда я пытаюсь добавить хоть-какой параметр, даже просто знак вопросительный после названия файла myFLVPlybk.contentPath = "http://mydomain.com/myvideo.flv?"; - плеер наглухо висит.

Строка "http://mydomain.com/myvideo.flv?start=cuePoint" на сервак передаётся. И сервак поток начинает отдавать. Если подать "http://mydomain.com/myvideo.flv?" - то сервак начинает отдавать поток сначала. Но плеер висит, как только в строке после названия файла появляется хоть ещё что-то. :(

Есть где-нибудь что-нибудь об этом почитать ?

rainbowrussia
09.06.2010, 20:17
На счет FLVPlayback ничего сказать не могу - не пользуюсь, вот пример без него: http://www.flasher.ru/forum/showthread.php?t=136378&highlight=filepositions последнее сообщение.