реализация стриминга nginx + ffmpeg + yamdi

Z1
На сайте с 07.02.2012
Offline
67
2489

установил nginx как фронтэнд в связки с apache'm (до этого nginx устанавливал и не имел опыта с ним), сконфигурировал при установке его с 2мя модулями стриминга, в конфиг дописал:

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/;

}

так же возник сразу вопрос:

1) как указать путь root в локэйшене, чтобы он воспринимал все папки /home/zeromind/www/uploads/videos/*/ , где * - ID категории ?

сервер перезагружал и не раз :))

далее вручную из терминала сконвертировал видео в ffmpeg + с помощью yamdi дописал мета данные в файл! проверив в ffmpeg - мета данные присутствовали! читал что для mp4 контейнера они должны быть записаны в начале файла, чтобы не было проблем..

2) yamdi думаю прописал эти данные правильно? или как это узнать ?

далее пробывал 2 плеера: flowplayer и uppod, внешние файлы воспроизводились со стримингом, а на сервере, вроде бы ползунок перестаскивается, но файл начинает проигрывать сначала!

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

[23:06:19.643] GET http://*/uploads/videos/1/i0TIyNgP3v.mp4?start=42.180928315412174 [HTTP/1.1 200 OK]

[23:06:34.520] GET http://*/uploads/videos/1/xvNfd6Pbrk.mp4?start=45 [HTTP/1.1 200 OK]

1ый файл прошит метаданными через yamdi, второй не трогал.. из-за этого думаю разница в start' данных

3) nginx в запросе GET нужна параметр start передавать значения байтовое или секундное/мс?

на некоторых моментах времени, при перемотки видео, всё таки стриминг как мне кажится срабатывае, к примеру когда ставлю на 31ую секунду - видео начинает проигрыватся с этого момента, чудеса это или видео уже успело сбуферизироватся на 100% сказать не могу, но мне кажится это сервер ответил))

да и кстате в заловках ответа также - Content-Length:13946590 ВСЕГДА одинаковое число, т.е. сервер отдаёт всегда файл с начала, как я понимаю...

вообщем помогите пожалуйста ! в nginx я совсем новичек, может быть что - то упустил в конфиге..

bsyomov
На сайте с 25.01.2012
Offline
31
#1

1. root вам не нужно устанавливать в локейшене, установите его общим для этого хоста.

2. yamdi работает с flv контейнером. Для mp4 можно пользоваться qt-faststart из комплекта ffmpeg или другими подобными программами, переносящими метаданные в начала файла.

3. В случае с флеш в байтах, в случае с mp4 в секундах.

Z1
На сайте с 07.02.2012
Offline
67
#2

может, кто подскажит, где можно готовое видео найти в mp4 готовое для стриминга?

leoo
На сайте с 03.04.2010
Offline
35
#3

стяни с youtub

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий