Re: Re[4]: nginx и Adobe FMS

Denis Erygin erygin at corp.mail.ru
Thu Aug 30 00:14:05 MSD 2007


>Заметил, что реально данные идут не монотонным единым потоком, а
>последовательными кусочками
Так и есть, так FMS подстраивается под HTTP.

Поэтому буферизация тоже должна работать,
но в данном случае вероятно нарушается целостность пакета
из-за маленького размера буфера, можно оставить вот эти строки
из первого конфига:

proxy_buffer_size   8k;
proxy_buffers              512 4k;
proxy_busy_buffers_size    64k;

Далее менять эти цифры и смотреть на результат.

Если что, у меня есть прокси-дампер на perl,
интересно было бы посмотреть на его запись потока.

flash -> nginx -> perl-dump-proxy -> FMS

----- Original Message ----- 
From: "Vadim A. Umanski" <umanski at ext.ru>
To: "Denis Erygin" <nginx-ru at sysoev.ru>
Sent: Wednesday, August 29, 2007 11:08 PM
Subject: Re[4]: nginx и Adobe FMS


Здравствуйте, Denis.

Получилось!!!

Для начала включил без буферизации с этим конфигом
http://pastebin.com/m15ae1ac2 , сваянным по-быстрому.

Заметил, что реально данные идут не монотонным единым потоком, а
последовательными кусочками - открыл сессию, скачал/передал кусочек
данных, закрыл сессию, далее повторить. Между nginx и FMS все время
видать табуны сессий в состоянии TIME_WAIT.

При этом в HTTP-пакетах в ответе есть проставленный Content-Length: ,
решил попробовать включить буферизацию в nginx. Вот с таким конфигом -
http://pastebin.com/m6bd4c71a . Однако, не заработало.

Проходит буквально несколько пакетиков - и все

[toor at fms01 html]$ tcpdump -A -n -i eth0 port 80 and host 10.253.33.8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:00:25.274735 IP 10.253.33.8.3159 > xxx.xx.xx.xx.http: . ack 3617351334 win 65337
E..(|. at ...Y.
..!..

         +.W.P......f.P..9Z.........
22:00:30.030300 IP 10.253.33.8.3159 > xxx.xx.xx.xx.http: F 0:0(0) ack 1 win 65337
E..(~. at ...W.
..!..

         +.W.P......f.P..9Z.........
22:00:30.030588 IP 10.253.33.8.3159 > xxx.xx.xx.xx.http: . ack 2 win 65337
E..(~. at ...W.
..!..

         +.W.P......f.P..9Z.........

3 packets captured
3 packets received by filter
0 packets dropped by kernel

Типа - смотрю tcpdump'ом, что делается. Пускаю попытку проиграть
поток. Смотрю, жду долго, жму Ctrl-C...

IE, которым это дело играю, просто вешается с этого дела, сволочь...

Печально - я вот подумал, что буферизация может очень даже
пригодиться - когда нагрузка пойдет серьезная. Может, конечно, я
что-то не то включил/выключил/не добавил в конфиге? Или буферизация
тут невозможна и работать не будет? Вот бы понять.

Вадим.


Вы писали 25 августа 2007 г., 3:01:25:

DE> Думаю почитать все-таки следует тут:
DE> http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_pass

DE> А с непрерывной отдачей еще нужно до конца разобраться,
DE> это больше по части написания модулей.

>>Еще интересна разница между раздачей роликов и вещанием в стиле
>>IPTV...
DE> Особой разницы нет, при раздаче роликов идет реал-тайм видео-поток,
DE> но это больше от ActionScript кода зависит, там и настраивается.

DE> ----- Original Message ----- 
DE> From: "Vadim A. Umanski" <umanski at ext.ru>
DE> To: "Denis Erygin" <nginx-ru at sysoev.ru>
DE> Sent: Saturday, August 25, 2007 2:30 AM
DE> Subject: Re[2]: nginx и Adobe FMS


DE> Здравствуйте, Denis.

DE> Вы писали 25 августа 2007 г., 2:09:49:

DE>> Привет,

>>>Не могли бы вы подсказать, можно ли использовать nginx с
>>>Adobe Flash Media Server ?

DE>> Можно. В позавчерашнем разговоре, Игорь подтвердил принципиальную
DE>> возможность непрерывной отдачи данных в модуле и рассказал как это лучше сделать
DE>> в контексте nginx.

DE> А можно ли об этом где-то прочитать?

DE>> Но в данном случае, вполне достаточно обычного проксирования средствами nginx,
DE>> только не в курсе как там дела с POST запросами.

DE> Еще интересна разница между раздачей роликов и вещанием в стиле
DE> IPTV...

DE>> RTMPT - это бинарный RTMP(кодируется base64) вставленный в обычный POST-запрос,
DE>> т.е. полная совместимость с HTTP протоколом.

DE> Очень хорошая новость!

DE>> Поскольку мне приходилось писать реализацию протокола RTMP на основе разбора исходников
DE>> Red5 и анализа пакетов сниффером, могу даже сказать, что принципиально возможно написать
DE>> полноценный видео-модуль к nginx и отказаться от Flash Media Server. Но непонятно, какие могут
DE>> быть последствия со стороны Adobe (кстати одного хакера уже почти приговорили к 100 годам,
DE>> да и Adobe отличилась историей со взломщиком паролей к pdf (Элкомсофт вроде)).

DE> Некому разрабатывать такое. Не предусмотрено время на такую
DE> разработку. Совершенно неинтересно связываться с Адобом. Проще
DE> легально заплатить денег. Бизнес-план AFAIK никакой партизаньщины не
DE> предусматривает.

DE> Nginx хочется внедрить из-за его многочисленных положительных качеств
DE> и ради возможности логировать и контролировать доступ. Положительный
DE> опыт эксплуатации nginx на хостинге уже есть, я в восторге! Но тут
DE> несколько иная специфика.

DE>> ----- Original Message ----- 
DE>> From: "Vadim A. Umanski" <umanski at ext.ru>
DE>> To: <nginx-ru at sysoev.ru>
DE>> Sent: Saturday, August 25, 2007 12:31 AM
DE>> Subject: nginx и Adobe FMS


DE>> Здравствуйте, уважаемые коллеги!

DE>> Не могли бы вы подсказать, можно ли использовать nginx с
DE>> Adobe Flash Media Server ?

DE>> Идея - FMP (Flash Media Player) на компьютере пользователя общается с
DE>> FMS (Flash Media Server) на нашем сервере. В документации к FMS видел
DE>> упоминание о возможности использовать протокол rtmpt (Real Time
DE>> Messaging Protocol Tunneling), когда rtmp "заворачивается" в HTTP. Не
DE>> смог, правда, понять, является ли rtmpt:// более или менее обычным
DE>> HTTP или содержит какие-то особые расширения протокола, которые будут
DE>> несовместимы, скажем, с использованием прокси-сервера. И не помешает
DE>> ли еще что-нибудь...

DE>> Получится ли использовать nginx с FMS ?

DE>>    SY                       Vadim A. Umanski
DE>>                             System Administrator
DE>>                             InterNet Services Dept., IP Network Div.
DE>>                             Akado (Comcor-TV), Moscow
DE>>    <Work>                   mailto:umanski at ext.ru mailto:VUmanski at comcor-tv..ru
DE>>    <Private>                mailto:umanski at panferova.net.ru
DE>>    phone:                   (+7 495) 737 51 79
DE>>    cell:                    (+7 916) 692 67 89





DE>    SY                       Vadim A. Umanski
DE>                             System Administrator
DE>                             InterNet Services Dept., IP Network Div.
DE>                             Akado (Comcor-TV), Moscow
DE>    <Work>                   mailto:umanski at ext.ru mailto:VUmanski at comcor-tv..ru
DE>    <Private>                mailto:umanski at panferova.net.ru
DE>    phone:                   (+7 495) 737 51 79
DE>    cell:                    (+7 916) 692 67 89





   SY                       Vadim A. Umanski
                            System Administrator
                            InterNet Services Dept., IP Network Div.
                            Akado (Comcor-TV), Moscow
   <Work>                   mailto:umanski at ext.ru mailto:VUmanski at comcor-tv..ru
   <Private>                mailto:umanski at panferova.net.ru
   phone:                   (+7 495) 737 51 79
   cell:                    (+7 916) 692 67 89







More information about the nginx-ru mailing list