Форум / Вопросы / реализация стриминга, nginx + apache2 + ffmpeg + yamdi + flowplayer
Нужно реализовать стриминг видео файлов :), помогите, кто вкурсе делов :D
Заранее извиняюсь, что использую плеер не uppod, а flowplayer из-за присутствия в нем в триальной версии стриминга!

пишу по порядку:
1) nginx поставил вместе с нужными модулями в конфиге дописал:
location ~ .mp4$ {
mp4;
root /home/zeromind/www/uploads/videos/1/;
}

location ~ .flv$ {
flv;
mp4_buffer_size 1m;
mp4_max_buffer_size 5m;
root /home/zeromind/www/uploads/videos/1/;
}


2) далее поставил связку ffmpeg + x264, делаю временный файл, с помощью [b]yamdi[/b] добавляю метаданные (кстате в терминале, ни чего не пишет о результате работы), но чекаю файл ffmpeg и вижу что мета данные вписались, и написана прога yamdi, с которой я и добавлял их…

3) использую flowplayer с модулем псевдостриминга (пару часов повозился с плеером)..

при попытке воспроизведения flv и mp4 файлов, плеер ведет себя по разному, взависимости от формата + наличии мета данных:
обычно, если ставлю метку (перемотку) в любое место, то метка держится на этом на этом временном промежутке, но видео воспроизводится с САМОГО начала, из за этого сбивается текущее время, т.е. метка на 4:00 (к примеру, конец видео) а на самом деле это 0:01
или же бывает просто метка сбрасывается вначало и воспроизводится файл с начала..

вот мои типичные GET запросы:

[21:05:19.321] GET ссылка [HTTP/1.1 200 OK]
[21:06:03.363] GET ссылка [HTTP/1.1 206 Partial Content]

Accept-Ranges:bytes
Content-Length:15265273 — причем на разных промежутках времени, размер не изменяется, следовательно mp4 и flv модули nginx не работают?
Content-Type:video/mp4
Server:nginx/1.0.11

не могу понять что делаю не так? и в какой стороне копать, пока думаю что yamdi добавляет метаданные в конец файла и из за этого косяк

кстате на некоторых диапозонах времени стримминг получается (если раз 5–20 потыкать на ползунок, когбуд-то нащупываются временные метки start= которые проходят нормально..
zerom1ndСсылка на пост (Смотрели 5174)08.02.12 00:39     Ответить
Ваше имя*
 E-mail* (не публикуется)
 
 
Если пишете о проблеме, то приложите, пожалуйста, ссылку на свой плеер отсюда — Плеер: Файл > Код > Ссылка
Вставка кода — [code][/code] дублировать ответы на e-mail
1
support 08.02.12 - 01:18
Попробуйте сейчас постестировать стриминг в апподе, тогда сможем что-то подсказать.
2
zerom1nd 08.02.12 - 01:22
c удовольствием бы попробывал, если бы ваш плеер поддерживал стриминг в фри версии :))

попробывал сделать так:
plugins: {
lighttpd: {
url: ’flowplayer.pseudostreaming-3.2.7.swf’,

// use ${start} as a placeholder for the target keyframe
queryString: escape(’target=${start}&secretToken=1235oh8qewr5uweynkc’)
}
}

заменив lighttpd на nginx вроде что то лучше стало, теперь надо поидее подстроить queryString )
буду разбиратся
3
support 08.02.12 - 01:26
Вам включили режим PRO на некоторое время
4
zerom1nd 08.02.12 - 01:31
большое спасибо, сейчас протестирую, позже отпишусь об результатах !
5
zerom1nd 08.02.12 - 02:35
попробывал, не работает(( хотя если указывать ссылку на внешний источник — то всё ок, т.е. у вас плеер рабочий))

у вас есть пример видео файла, который прошит уже мета данными?

я прошиваю через yamdi (не знаю правильно ли она это делает), но мета данные появляются в файле!

и кстате GET параметры которые приходят:
[23:06:19.643] GET ссылка [HTTP/1.1 200 OK]
[23:06:34.520] GET ссылка [HTTP/1.1 200 OK]

вот с милисекундами(start=42.180928315412174) — это файлы которые прошиты с помощью yamdi
в настройках вашего плеера перебрал 3 варианта: секунды, милисекунды, байты ПРИЧЕМ!!! изменений в запросах я не увидел всегда отправлялись секунды.. вот щяс думаю мб файл стилей браузером закэшировался..

вообщем, чтобы точно проверить нужно видео прошитое мета данными)) пробное


6
support 08.02.12 - 02:43
Вас интересует MP4? Метаданные можно подсмотреть в режиме отладки ссылка
Приложите, пожалуйста, ссылку на свой плеер отсюда — Плеер: Файл > Код > Ссылка
7
zerom1nd 08.02.12 - 03:06
не нашел там метаданные, те которые нужны видео ролику для стриминга..
интересует как mp4, так и flv…
не получается на своем сервере nginx запустить стриминг(( модули на сервере стоят для стриминга как FLV так и MP4

сейчас думаю, нужно найти ролик готовый, который прошит метаданными и проверить его на сервере, сможет ли его сервер по частям отдать
8
support 08.02.12 - 03:20
Разберитесь с чем-то одним сперва. Для mp4 не обязательны ключевые кадры в метаданных (стриминг по секундам), для flv они необходимы (параметр keyframes в метаданных — стриминг по байтам).
9
zerom1nd 08.02.12 - 03:25
многие обзоры, которые я разбирал — везде пишут что даже в mp4 нужны мета данные, причем обязательно чтобы они были добавленны не в конец файла, а в начало!
в любом случае пробывал и mp4 и flv файлы с мета даными, добавленными через yamdi, всё без результатно ((

значит проблема в сервере, но на мой взгляд, там всё настроено как нужно..
10
support 08.02.12 - 03:40
Модули nginx, отвечающие за стриминг, включены?
11
zerom1nd 08.02.12 - 03:41
location ~ \.mp4$ {
mp4;
mp4_buffer_size 1m;
mp4_max_buffer_size 5m;
root /home/zeromind/www/uploads/videos/1/;
}

location ~ \.flv$ {
flv;
root /home/zeromind/www/uploads/videos/1/;
}

естественно..
12
support 08.02.12 - 04:00
Соберите плеер и покажите
13
zerom1nd 08.02.12 - 04:04
ссылка
так?
файл flv прошивал данные yamdi прогой..
14
support 08.02.12 - 04:29
Режим отладки включите (модули — видео)
15
zerom1nd 08.02.12 - 04:35
сделал, стили перезалил + заново добавил видео файл, но разницы не вижу))
ссылка
16
prannev 02.04.12 - 03:44
Была аналогичная проблема со стримингом mp4, немного поправьте конфиг, уберите $

location ~ .mp4 {
mp4;
root /home/zeromind/www/uploads/videos/1/;
}
17
prannev 02.04.12 - 03:51
Даже лучше так
location ~ \.mp4 {
mp4;
root /home/zeromind/www/uploads/videos/1/;
}
18
support 08.02.12 - 16:55
Для демки с FLV нужно включить байты в настройках стриминга
Сообщить об ошибке на сайте
 Uppod © 2008–2020
Сообщить об ошибке на сайте
Если ошибка относится к плееру, а не сайту, либо Вы хотите получить ответ на вопрос —
лучше написать на форуме