Category: техника

Category was added automatically. Read all entries about "техника".

(no subject)

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

Уходя он завещал отказаться от этой идеи, которая себя выработала. Видимо он прав и будущее за планшетами. Нравится это или нет, но компьютеры стремительно вжимаются в рамки блокнота A4 и должны приблизиться по удобству к листку бумажки.

Не знаю, как это будет выглядеть, но учитывая наступательную инерцию и агрессию Эппла и Самсунга остальные либо вольются в это движение, либо окажутся там же где и Sun.

опять про NoSQL

Запускаем сейчас веб-сайт для нашего проекта (о котором я напишу подробный пост после старта) и у меня накопилась куча мыслей про рельсы.

Во-первых, как я уже писал растет количество знаний, которым надо владеть для эффективной работы с рельсами. В 2006 мне хватило лишь пролистать AWD что бы наклепать сайт и выкатить его на продакшн. Теперь объём информации вырос. Может я неправ и просто рельсы «повзрослели» до того, что бы быть сложнее, может нет. Хрен его знает, но факт остается: я полгода не программировал на рельсах и сейчас себя ощущаю как новичок.

Во-вторых, я в очередной раз попытался понять: ну может всё таки всякие ваши там монги удобны? Попытался я это понять, когда за 3 дня у меня в рельсах возникло 4 серьезных проблемы с ActiveRecord.


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

Collapse )

(no subject)

Об этом очень грустно говорить, но с отходом DHH от рельс, ситуация радикально ухудшилась.

Если в 2007-м я запускать рельсовое приложение и спокойно его правил, то сегодня, на компьютере в 4 раза более мощном, я стараюсь вообще этого лишний раз не делать.

Миграция на всю эту новомодную херню типа rvm, bundler и прочее приносит лишь проблемы. С 2006 по 2011 я спокойно программировал без них. Как только появилась проблемы в виде нерабочего ruby 1.9 и нежизнеспособных rails 3, появились тормозные и нерабочие механизмы их решения.

В итоге то, что раньше было легко и просто, сейчас стало медленно и сложно. Причем с 2005 по 2010 год всё двигалось к лучшему. А тут взяли и всё сломали.

Свистопляска при подписывании на поток в erlyvideo

Продолжаю про внутреннюю структуру erlyvideo.

Прежде чем рассказать про то, как именно запаковываются фреймы клиентам, надо рассказать, что именно происходит при подписывании на поток.

Основная проблема, которую приходится решать, звучит так: есть стримы с аудио, с видео или и с тем и с другим. Есть такие видео/аудио кодеки, которые требуют посылки конфигурации перед первыми данными и проблема в том, что если мы посылаем видео не с самых первых байтов файла, то скорее всего перед ключевым кадром не будет этой конфигурации. Её надо достать отдельно и послать.

При этом очень важно соблюдать достаточную плавность таймстемпов, что бы не было посылки конфигурации с таймстемпом 0, а потом видеокадр с таймстемпом 25435435. Надо склеивать это всё.

Расскажу, как происходит процесс подписывания флеша на поток:
Collapse )

Конфиг для erlyvideo

Хотелось бы привлечь общественность, использующую erlyvideo к очередной попытке спроектировать более удобный конфиг, нежели есть сейчас.

Хочется чего-то nginx-о подобного, как оптимальный и самый удобный вариант конфига. Видимо, в nginx-е стоит подсмотреть механизм rewrite (нужную семантику переписи и её остановки) и т.п.


Так же планируется всё таки переделать конфиг так, что бы было некоторое внутреннее представление, а читалка конфига просто им пользовалась для того, что бы сконфигурировать erlyvideo.

Это же внутреннее представление так же должно стать той точкой, куда можно будет вставить динамические детекторы. Например, что бы виртуальные хосты были не жесткой опцией конфига, а можно было за ними сходить в БД.


Текущие идеи по синтаксису правильного конфига выглядят так:

https://github.com/erlyvideo/erlyvideo/blob/master/priv/example.conf

UPD: Маленькое уточнение. Если вы счиаете XML, JSON или другой формат межмашинного обмена читаемым, то не отнимайте время. Я всё равно ваши дурацкие коменты сотру.

(no subject)

Получил первые результаты live транскодирования видео из флеша в айфон. 2 секунды задержки и 6% одного ядра на 320x240 картинку.

Делаем склейку в сетку.

Что выбрать на Android-е?

Друзья. Нужно устройство с Google Android для моих тестов. Меня устроит любое, даже б/у. Поскольку хороший телефон у меня есть, мне показалось неплохой идеей покупать не телефон на андроиде, а планшет. Что бы и для работы, и в поездку было чего взять без страха лишиться его. Стоит?

UPD: Dealextreme говорит о недорогих штуках: 2.1 за 170$

UPD2: Лидирующее предложение: 2.2 с 1GHz за 180$

HTTP File streaming

В erlyvideo есть работающий и опробованный механизм, позволяющий проигрывать файлы по HTTP, используя Range запросы. Первая версия кода была сделана ещё давно, во время моего hackday, однако в ней очень много чего не хватало и не было доработано.

Теперь же, этот код умеет даже ходить к закрытым бакетам на Amazon S3 и ведет себя очень-очень похоже на модуль file в функциях open/2 и pread/3.

Сам код закрыт и распространяется либо на Amazon EC2 инстансах эрливидео, либо с модулем серверного плейлиста, о котором позже.

Чем плох Apple HTTP LiveStreaming

При разработке айфона Apple решила спроектировать и реализовать свой протокол для передачи видео. Несмотря на то, что существует масса протоколов: RTSP, MPEG-TS, HTTP (раздача файлов), RTMP, все они имеют какие-то слабые стороны. Все не-HTTP протоколы объединяет одна общая проблема: они режутся корпоративными файрволами и плохо переносят сильные флуктуации качества интернета.

Раздача файлов по HTTP имеет другую проблему: либо невозможность просмотра прямого эфира, либо отсутствие перемотки по потоку/файлу. Т.е. либо раздаем поток как flv-файл (endless http streaming), либо раздаем mp4 и тогда никакого прямого эфира.
Collapse )

Деплой на Амазон

Я выкатываю образы на Amazon EC2 через DevPay и мне кажется, что несмотря на хорошо расписанный пример как это делать, могут быть механизмы проще. Или это всё таки оптимальный вариант к которому мне просто надо дописать скриптов?