• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)


Date: Friday, 31 May 2013 16:47

Как я решил написать сюда снова.

Что к этому сподвигло? Желание снова писать. Причем писать не короткие обрывки фраз (твиттер), а именно полноценно, как было раньше.

Пусть даже не так часто, как было в 2007 или 2008 году, но основательно.

Начну, пожалуй, с самого главного. Это блог я начинал в далеком 2007 году, на старших курсах университета, рассказывал о своем опыте во фрилансе (в  основном).  Самим фрилансом я занимался где-то с 2005 года на тот момент, таким образом, стоял почти у истоков этого течения в СНГ (конечно, я имею ввиду бурное развитие фриланса после появления основных игроков на рынке по поиску заказов – разнообразных фриланс-бирж).

Это было свежно и популярно, даже удалось почти 1000 подписчиков на РСС собрать (это было очень даже хорошо для того времени). Время шло, все менялось, в определенный момент и особо писать стало не о чем и выдумывать полную ерунду ради написания не было желания.

К тому же закончил университет в 2009 году и появилась возможность работать более целенаправленно, а не время от времени/полставки. Обосновался на Odesk и плотно подсел на удаленную работу.

К тому же, субъективно, фриланс стал слишком мейнстримом и в него пришли все кому ни лень. До сих пор натыкаюсь на советы начинающим – “иди на фриланс, набьешь портфолио”. Раньше какая-то романтика была (или может я себе ее выдумывал?:)).

В общем разовая работа на заказ меня где-то в то время и разочаровала. Хотя, конечно, отлично прокачала навыки общения и менеджмента (у меня с напарником мини-студия была еще). Хотелось чего-то большего, поработать над стартапами, например.

С тех пор (с 2009) за 4 года я успел поработать в двух иностранных стартапах (в одном до сих пор работаю, но об этом потом) и одной крупной английской студии (удаленная команда составляла 10 человек, коммуникация через скайп, причем почти каждый день – голосом и на английском).

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

Работать в одной команде с людьми разных национальностей – англичанами, канадцами, американцами, словаками, русскими, украинцами, индусами и т.д. – довольно интересно. Культурный обмен некоторого рода + практика языка.

Сейчас  работаю удаленно (уже 3 год) на маленький американский стартап (http://eweblife.com/) на позиции Team Leader. Мне всегда было интересно принимать обсуждение и планирование проектов, чем сама механика их написания. Живые проекты, как правило, требуют еще большего ухода за собой, чем на этапе создания.

Самый крутой проект (стартап), в котором удалось поработать – http://solve360.com (не удивлюсь, если его купит гугл, т.к. они уже его используют). Правда проработал я там недолго, не сложилось, но проект крутой, приятные люди его делают и очень хорошие профессионалы. Только самые приятные впечатления остались.

* * * * *

Паралельно проходили и другие вещи.

Расскажу об одной.  В начале 2011 года  на меня (по рекомендации) вышли люди, которые хотели провести чемпионат для веб-разработчиков, целью которого была бы возможность сведения компаний и разработчиков в одном месте для последующего трудоустройства.

С тех пор мы провели уже 4 таких чемпионата – http://uawebchallenge.com и не думаем останавливаться.  У нас очень высокий уровень организации мероприятия, многие участники говорили после, что нигде в Украине (а некоторые и зарубежом) не видели ничего подобного.

Фотографии и информацию можно найти тут - http://www.facebook.com/uawebchallenge . Пятый чемпионат будет уже очень скоро (осенью), ставки подняты, а значит будет сложно и интересно.

На фото – команда основателей мероприятия (я слева если что). Кликабельно.

На данный момент это основное направление, куда я вкладываю силы и время.

Продолжение следует…

Author: "Станислав Малкин" Tags: "Freelance, Вэб, блог, мои пр..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 18 Oct 2011 13:35

Недавно запустил в своем проекте сервис онлайн телевидения.

О самом проекте расскажу немного позже, проект довольно большой, сам по себе, заслуживает отдельного целостного поста.

А сегодня немного про сервис телевидения.

На сегодня сервис содержит 28 телеканалов. Я решил пойти от противного и не плодить каналы ради количества и переходов с поисковых систем, как делают конкуренты, а сосредоточиться на качестве и стабильности, пусть даже и меньшим количеством каналов.

Каналы постоянно добавляются, по мере возможности и запросов от пользователей.

Технически сервис работает под управлением erlyvideo + мои доработки в его исходном коде и плагинах. А так же набор шелл-скриптов (а куда же без них?).

Несмотря на довольно молодой возраст сервиса (всего 2 месяца, запущен в конце августа), сегодня им ежедневно уже пользуется 600-700 пользователей и прирост составляет порядка 100 пользователей еженедельно.

Посмотрим, сохранятся ли темпы роста. Будем рады новым пользователям, если сервис вам по душе.

На данный момент готовы обслужить до 1000-2000 онлайн пользователей одновременно и будем увеличивать возможности по мере роста.

Считаю, что бум подобных сервисов, а так же платных их аналогов – еще впереди.

Author: "Станислав Малкин" Tags: "CSS, HTML, JavaScript, PHP, Вэб, ви..."
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 13 Oct 2011 14:49

12 ноября, в Киеве, пройдет конференция «Zend Framework Day» – посвященная популярному PHP фреймворку Zend Framework.

Среди докладчиков непосредственные разработчики компонент Zend Framework. Событие соберет лучших PHP и Zend Framework специалистов из Украины, России, Белоруссии и других стран СНГ.

С текущим списком тем и докладчиков можно ознакомиться на странице.

Событие будет интересно не только тем, кто использует Zend Framework, но и всем веб-разработчикам и PHP программистам в частности.

Место проведения — отель «Казацкий», г. Киев, ул. Михайловская 1/3 (Площадь Независимости).

Со стоимостью участия и другой необходимой информацией вы можете ознакомиться на странице.

Для участия в конференции необходимо пройти регистрацию на странице, а затем произвести оплату из личного кабинета.

Сайт конференции – http://frameworksdays.com/event/zend-framework-day-2011
Наши новости в twitter – http://twitter.com/fwdays
Наша страница в facebook – http://facebook.com/fwdays

Author: "Станислав Малкин" Tags: "PHP, Анонс, Вэб, О разном..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 10 Oct 2011 16:25

Как-то появилось снова желание писать. Постараюсь в ближайшие дни написать пару заметок.

Довольно забавно, писать есть о чем,  а времени на это совершенно не стало + еще твиттер появился, где можно короткие мысли записывать, поэтому потребность в блоге отпала почти сама собой – его я вел, т.к. хотелось свои мысли записывать и нравилось это дело.

На всякий случай – мой твиттер – http://twitter.com/malkinstanislav . Там жизнь цветет и пахнет.

А вконтакте я поменял себе фамилию ибо нефиг – последние новации совсем не впечатляют, особенно в области расшаривания профилей для всех.

Author: "Станислав Малкин" Tags: "О жизни, развитие личн..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 22 Oct 2010 21:24

RuTube Если посмотреть в интернетах, то рунет полон от криков по типу «как скачать с RuTube», не качается и т.д.

С задачей не справляются большинство известных сервисов для скачивания видео, таких как videosaver, savefrom.net и т.д.

Проблема в том, что команда RuTube решила, что они очень умные (хаха) и не разрешают пользователям запретила скачивать контент с их видеохостинга.

Это разрешают все видеохостинги известные (YouTube, Vimeo, Metacafe), а вот RuTube особенный, он решил со скачиванием бороться альтернативно-одаренным способом — переведя проигрывание видео на сайте на rtmp.

Но настоящих джедаев это конечно не остановит.

Сегодня я расскажу как легко и удобно можно скачать видео с RuTube (делал для своего видеохостинга и с вами поделюсь – с работающим примером на борту).

Update. Рабочий пример (пример удален!!!!)

Обновление от 07.05.2011 . Способ работает снова.

Поехали.

RTMPdump

Нам понадобится эта программа для скачивания наших видео. Скачать можно тут вот (винда) и тут (сорцы).

Также можно в Linux собрать из дерева пакетов (apt, yum etc), в Debian’e точно есть (apt-get install rtmpdump).

Данная программа является консольной, поэтому у некоторых виндопользователей может возникнуть батхерт по поводу ниженаписанного, но если уж очень захочется скачать — думаю разберутся.

Как запустить программу из Linux думаю никому не нужно рассказывать, поэтому проведем ликбез для пользователей Windows.

Программа запускается через консоль (нажимаем win+r одновременно и в появившемся окне пишем «cmd» — без кавычек). Откроется системная консоль, где нужно будет перейти в директорию, где находится наша программа.

Программа не требует установки, достаточно распаковать в директорию удобную для навигации (например E:\tmp). Таким образом когда откроется консоль — делаем переход в данную директорию (в которую распаковали) через «cd E:\tmp» (опять же без кавычек). Теперь можно запускать программу.

Для начала стоит прочитать документацию к возможным ключам:

rtmpdump -h

Выведется листинг доступных ключей. Из них нас будут интересовать следующие:

–rtmp|-r url           URL (e.g. rtmp://host[:port]/path)

–flv|-o string         FLV output file name, if the file name is — print stream to stdout

–app|-a app            Name of target app on server

–swfVfy|-W url     URL to player swf file, compute hash/size automatically

Остальные можно найти в листинге (в нашем случае они не нужны).

Ключи RTMPdump

-r — задается адрес rtmp потока (путь к файлу), позже вернемся к этому.
-o — адрес и название файла, куда будет сохранен скачанный файл
-W — тут нужно указать адрес плеера RuTube для того, чтобы можно было идентифицировать себя, как обычный плеер (RuTube не разрешает доступ для видео, не проигрываемом в их плеере, поэтому нужен такой финт ушами). В нашем случае это http://rutube.ru/player.swf
-a — адрес приложения, которое занимается стриммингом на стороне сервера (станет понятнее на примере)

В целом все понятно, только читатель спросит меня — откуда же взять этот самый адрес для ключа -r ? Логично, его нужно получить сначала.

Рассмотрим как это сделать на примере.

Адрес RTMP потока

Возьмем видео с RuTube, например это:

Адрес: http://rutube.ru/tracks/3698782.html?v=c858060713937cf911caaa8cb0737598

Из данного урла нас будет интересовать часть, которая стоит после ?v=, тоесть c858060713937cf911caaa8cb0737598 — это и есть идентификатор видео в системе.

Дальше нам нужно зайти по адресу http://bl.rutube.ru/c858060713937cf911caaa8cb0737598.xml и увидеть собственно адрес rtmp потока.

Для нашего примера содержание файла:

<?xml version="1.0"?>
<response status="302">
<finalAddress><![CDATA[rtmp://video-3-13.rutube.ru:1935/rutube_vod_2/_definst_/mp4:vol21/movies/c8/58/c858060713937cf911caaa8cb0737598.mp4?e=1287779944&s=20b75eb1541beb9cad2c69c463593e79]]>
</finalAddress>
</response>

Таким образом адрес rtmp потока следующий -

rtmp://video-3-13.rutube.ru:1935/rutube_vod_2/_definst_/mp4:vol21/movies/c8/58/c858060713937cf911caaa8cb0737598.mp4?e=1287779944&s=20b75eb1541beb9cad2c69c463593e79

Скачиваем видео

Т.к. у нас теперь адрес потока — мы готовы к скачиванию видео.

Конечная команда для нашего видео из примера будет следующей:

rtmpdump -r "rtmp://video-3–13.rutube.ru:1935/" -a "rutube_vod_2/_definst_" -y "mp4:vol21/movies/c8/58/c858060713937cf911caaa8cb0737598.mp4?e=1287777283&s=b38e8476aea1d5c074c53ac4433ddca8" -o my.mp4 -W "http://rutube.ru/player.swf"

Если все выполнили правильно, результат будет приблизительно следующий:

RTMPDump v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Starting download at: 0.000 kB
INFO: Metadata:
INFO:   duration              36.80
INFO:   moovPosition          28.00
INFO:   width                 480.00
INFO:   height                272.00
INFO:   videocodecid          avc1
INFO:   audiocodecid          mp4a
INFO:   avcprofile            66.00
INFO:   avclevel              21.00
INFO:   aacaot                2.00
INFO:   videoframerate        24.72
INFO:   audiosamplerate       44100.00
INFO:   audiochannels         2.00
INFO: trackinfo:
INFO:   length                802.00
INFO:   timescale             25.00
INFO:   language              und
INFO: sampledescription:
INFO:   sampletype            avc1
INFO:   length                1623040.00
INFO:   timescale             44100.00
INFO:   language              und
INFO: sampledescription:
INFO:   sampletype            mp4a
2859.766 kB / 36.78 sec (99.9%)
Download complete

Собственно на этом все.

Постскриптум

Данный случай с рутьюбом еще раз показал, что защитить контент в интернете – невозможно, даже самые изощренные методы защиты всеравно имеют способы обхода (и пусть в нашем случае это не изощренный, но попытка скрыть контент) для конечного пользователя.

Однако возможно это помогло RuTube разгрузить свои сервера. Или перейти с псевдостримминга на стримминг по RTMP. Однако я в это не слишком верю.

Для демонстрации работы подобной вещи я сделал вот такой вот пример на скору руку:

http://malkin.com.ua/rutube.php

Пробуйте в работе – пишите отзывы :)

P.S. Данная заметка никоим образом не хочет оскорбить или задеть чувства разработчиков RuTube. Данный пример – всего-лишь демонстрация возможностей работы rtmpdump на примере RuTube.

Author: "Станислав Малкин" Tags: "CSS, HTML, PHP, Вэб, видео, мо..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Upd. Продолжение — http://malkin.com.ua/2010/09/psevdostriming-video-i-poleznye-utility/

В частности речь пойдет про Debian Lenny, но это же самое вполне подойдет и для любого Linux, ровно как и для FreeBSD.

Немного предыстории: с самого начала видеохостинга у меня ffmpeg был просто втупую поставлен через менеджер пакетов — apt-get install ffmpeg .

Однако со временем я пришел к тому, что версия сильно устаревает (например текущая сборка в lenny датируется маем 2009 года — почти год назад), а версию из sid не всегда удается корректно собрать, и с этим надо что-то делать.

А что делать? Да взять и собрать себе ffmpeg из официального svn. Так и поступим.

Подготовка

Для начала рекомендую удалить ffmpeg, если он уже установлен. В случае менеджера пакетов apt:

apt-get

remove ffmpeg

Если собирали из исходников — достаточно удалить сам бинарник, найдя его через whereis ffmpeg.

После этого нам понадобиться скачать себе файлы из svn ffmpeg (предполагаю, что svn уже установлен в системе, если нет — надо сначала поставить):

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

ну или же, если используется git:

git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git clone git://git.ffmpeg.org/libswscale/

Настройка, сборка и установка

Переходим в папку ffmpeg, слитого с репозитория:

cd ffmpeg

Для установки ffmpeg нужно запустить ./configure с нужным набором ключей. У меня, как думаю и у многих, одной из проблем было какие ключи нужны. Методом проб и ошибок я пришел к такой команде:

./configure –prefix=/usr –libdir=/usr/lib –shlibdir=/usr/lib –bindir=/usr/bin –incdir=/usr/include/ffmpeg –enable-libx264 –enable-postproc –enable-libxvid –enable-pthreads –enable-libvorbis –enable-libfaad –enable-gpl –enable-x11grab –enable-shared –enable-libmp3lame –enable-libtheora –enable-libfaac –enable-libfaad –enable-nonfree –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libgsm –enable-version3 –enable-avfilter –enable-libspeex –enable-zlib –enable-libschroedinger –disable-encoder=libschroedinger –enable-libdc1394 –disable-mmx –disable-stripping –enable-libdirac –disable-decoder=libdirac –disable-altivec –disable-armv5te –disable-armv6 –disable-vis –enable-avfilter-lavf –enable-libopenjpeg –extra-cflags=-Wall –cc=ccache cc –enable-swscale

Однако это еще не все. Чтобы Makefile сделался с таким набором ключей еще прийдется попотеть, а именно доставить все то, что он потребует (если в системе еще нету). Как правило после запуска конфигуратор скажет что-то типа:

FAAD test failed

Это означает, что нужно установить libfaad, что делается довольно просто:

apt-cache

search libfaad
apt-get install libfaad-dev libfaad0
Сообщения могут быть разными, но суть одна и та же — как правило чего-то не хватает (например -dev библиотеки) и это нужно поставить. Большинство проблем решаются с помощью обычного репозитория для lenny и apt-get install.

Но не все ;P

Исключением будут, как правило, ключи:

1. –enable-libopencore-amrnb –enable-libopencore-amrwb
2. –enable-libx264
3. –enable-libtheora

С этими библиотеками так просто не выйдет. Но тоже решаемо. Разберемся с ними:

1. –enable-libopencore-amrnb –enable-libopencore-amrwb

Ранее этих ключей не было, они пришли на замену –enable-libamr-nd –enable-libamr-wb с июля 2009. Информация с официального сайта:

FFmpeg has removed support for libamr as of svn revision 19365. It has been replaced with support for libopencore-amr. Naturally the configure options have changed. The libamr options have been removed and there are two new options to take their place:

* –enable-libopencore-amrnb
* –enable-libopencore-amrwb

The reason for this change is that the libamr license was non-free, while libopencore-amr is licensed under an Apache 2 license. The change was discussed at length on the developer mailing list during May, June, and July. This has several effects:

* You may now distribute FFmpeg builds with support for dynamically loading libopencore-amr
* Support for AMR-WB encoding has been removed since libopencore-amr does not support it

Это означает, что поддержки из свн данной библиотеки нету. И что самое интересное, пакета нет и через установку с помощью apt (вроде есть в sid, но у меня не поставилось из него, куча побитых зависимостей и т.д.), поэтому сделаем иначе — скачаем исходники отсюда и собираем вручную через:

./configure
make
make install

Я собирал этот исходник на трех машинах, почти одинаковых и вот такие грабли иногда возникали:

1.

configure: error: c++ compiler cannot create executables

Лечиться либо через apt — «apt-get install build-essential», либо через установку g++ любым удобным вам способом.

2.

unable to guess system type

This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD

and

http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run ($0) is already up to date, please
send the following data and any information you think might be
pertinent to in order to provide the needed
information to handle your system.

Лечиться через дополнительный ключ к ./configure (зависит от вашей архитектуры, у меня i686, свою узнать можно через uname -a)

./configure –build=i686

Других проблем мною не было замечено. После установки данной библиотеки ffmpeg будет собираться с поддержкой их (они предназначены для перекодировки видео с мобильных телефонов — 3gp и другие подобные форматы).

2. –enable-libx264

Как правило требуется установить libx264. Но даже если библиотека установлена, всеравно можно получить сообщение, о том, что библиотека довольно старая и требуется версия не ниже 0.83 (которой естественно в ветке lenny нету).

Не стоит отчаиваться, делаем следующее:

mcedit /etc/apt/sources.list

и заменяем строку

deb http://www.debian-multimedia.org lenny main

на

deb http://www.debian-multimedia.org sid main

После чего делаем

apt-get

update

и

apt-cache

search libx264
где и увидим нужное:

libx264–83 — x264 video coding library

Все, можно ставить:

apt-get

install libx264–83 libx264-dev
и вопрос с данным ключем на этом тоже решен. После установки библиотеки рекомендую вернуть в souces.list строку в изначальное положение (тоесть вернуть lenny) и выполнить apt-get update, чтобы ставить стабильные версии пакетов.

3. –enable-libtheora

Тут тоже запущенный вариант, т.к. apt-get install libtheora0 тут не поможет, т.к. в менеджере пакетов для lenny лежит очень старая версия библиотеки и даже ее установка не поможет — конфигурационный скрипт будет упорно твердить что «libtheora not found».

Но наша нигде не пропадала, поэтому опять открываем sources.list и меняем строку

deb http://ftp.ua.debian.org/debian/ lenny main

на

deb http://ftp.ua.debian.org/debian/ sid main

и делаем apt-get update. После чего apt-cache search libtheora. Если все хорошо, то найдет такое:

libtheora-dbg

— The Theora Video Compression Codec (debug)
libtheora-doc — The Theora Video Compression Codec (documentation)
libtheora-ocaml — OCaml interface to the theora library
libtheora-ocaml-dev — OCaml interface to the theora library
libtheora-dev - The Theora Video Compression Codec (development files)
libtheora0 — The Theora Video Compression Codec
libtheora-bin - The Theora Video Compression Codec (example encoder, decoder)

Ставим выделенное жирным:

apt-get

install libtheora-dev libtheora0 libtheora-bin
После этого конфигурационный скрипт больше не будет матюкаться на libtheora.

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

make

Тут иногда возможны варианты. Например не собирается, ругается на что-то. Как правило это связано с изменениями файлов репозитории разработчиками. Например кто-то закоммитил несобираемую версию. Лечиться чаще всего — банальным обновлением до последней ревизии и make distclean (после этого нужно пройти процесс конфигурации заново, запустив ./configure с ключами заново). Если же обновления нет еще или проблема не устраняется — стоит попробовать обновиться до более старой ревизии.

Иногда проскакивают разного рода глюки компиляции, когда выводит какую-то ошибку. У меня такое пару раз бывало — не стоит пугаться, просто стоит набрать еще раз make, повторно, как правило, не выдает, если это не что-то серьезное, по типу несоответствия библиотек и т.д.

Процесс сборки make занимает некоторое продолжительное время, от 10 до 30 минут, в зависимости от мощности машины, где это запущено.

Если все хорошо, можно делать

make install

После этого стоит проверить, все ли хорошо, выполнив команду:

ffmpeg

Если установка успешна, вы должны увидеть что-то подобное моему выводу:

FFmpeg version SVN-r21796, Copyright © 2000-2010 Fabrice Bellard, et al.
built on Feb 21 2010 14:55:21 with gcc 4.3.2
configuration: –prefix=/usr –libdir=/usr/lib –shlibdir=/usr/lib –bindir=/usr/bin –incdir=/usr/include/ffmpeg –enable-libx264 –enable-postproc –enable-libxvid –enable-pthreads –enable-libvorbis –enable-libfaad –enable-gpl –enable-x11grab –enable-shared –enable-libmp3lame –enable-libtheora –enable-libfaac –enable-libfaad –enable-nonfree –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libgsm –enable-version3 –enable-avfilter –enable-libspeex –enable-zlib –enable-libschroedinger –disable-encoder=libschroedinger –enable-libdc1394 –disable-mmx –disable-stripping –enable-libdirac –disable-decoder=libdirac –disable-altivec –disable-armv5te –disable-armv6 –disable-vis –enable-avfilter-lavf –enable-libopenjpeg –extra-cflags=-Wall –cc=ccache cc –enable-swscale
libavutil 50. 9. 0 / 50. 9. 0  libavcodec 52.54. 0 / 52.54. 0  libavformat 52.52. 0 / 52.52. 0  libavdevice 52. 2. 0 / 52. 2. 0  libavfilter 1.17. 0 / 1.17. 0  libswscale 0.10. 0 / 0.10. 0  libpostproc 51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]… {[outfile options] outfile}…

Use -h to get full help or, even better, run ’man ffmpeg’

Ключевые моменты выделены жирным.

Также бывают проблемы на разных архитектурах, когда установка прошла успешно, но ffmpeg выводит не то, что я показал выше, а сообщения по типу:

libavformat.so.52: no version information available (required by ffmpeg)

Пришлось поморочиться, но в итоге я нашел решение.

Дело в том, что процесс установки менеджера пакетов почему-то иногда ставит библиотеки в /usr/lib/i686/cmov , чем перебивает библиотеки из /usr/lib и /usr/local/lib .

Лечится банально — копируем 3 файла из папки, куда установил либы ffmpeg (зависит от конфигурации в ./configure). В моих ключах можно заметить, что библиотеки пошли в /usr/lib/.

Отлично, копируем libavformat.so libavformat.so.52 libavformat.so.52.52.0 из этой папки в папку /usr/lib/i686/cmov/

После этого радуемся жизни с ffmpeg ;P

Вместо заключения

Приятного использования свежей версии ffmpeg!

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

Есть вопросы? Пишем в комментариях, не стесняемся, помогу, чем смогу.

Author: "Станислав Малкин" Tags: "Вэб, О разном, интерне..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Факты:

1.  Выступил 18 апреля на конференции Codecamp 2010. Моя скромная презентация на этот счет:

презентация Codecamp

2. Проект freelancehack.ru закрыт по двум причинам: для продления домена нужно загружать сканы паспорта, что уже не интересно и второе — проект развивать банально некогда, да и наверное, нет смысла.

3. Стукнуло 25 лет, можно забрать диплом из университета и забыть о таком понятии, как «армия».

4. Проект, которым я занимаюсь, подошел вплотную к количеству 10-ти серверов (на данный момент их 9), посещаемость составляет порядка 2300–2600 уникальных хостов в день (3000–3500 посетителей в день)..полет нормальный, работаем дальше. Пока мало, планирую выйти на уровень 8000 в день к концу года.

5. Подумываю о том, чтобы завести твиттер, т.к. короткие мысли сюда не хочется публиковать, а их часто довольно много бывает.

Author: "Станислав Малкин" Tags: "Без категории"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Как многие из вас наверняка знают, я довольно длительное время занимался фрилансом (впрочем и продолжаю время от времени) на довольно высоком уровне.

И некоторое время назад стал постепенно больше переходить на удаленную работу, т.к. начал пробовать себя на иностранных биржах. А там чаще всего — либо постоянная работа, либо такие мелочи, что даже браться не хочется и тратить свое время на это.

Проектов же, на 3–4 месяца, как я обычно привык брать ранее — на них почти нету, либо мало (как правило это что-то по типу «нужен сайт», но бывают и исключения). Поэтому остаются только длительные проекты, а это, как правило, работа в удаленной команде и довольно длительные проекты (например, над проектом Solve’360, в котором я работал 3.5 месяца в прошлом году — работа еще далеко не закончена, люди работают, а проект растет).

Но суть не в проектах. Главным минусом для меня, в принципе прогнозируемо, стала проблема работы «с 9 до 18». Это не проблема конечно же, но за 4 года фриланса я совсем отвык от работы по такому графику, поэтому некоторое время пришлось «вливаться» — сейчас уже нормально, но осадок остался, для себя сделал отметку, еще раз, что работа по графику мне не нравится, т.к. я человек любящий свободу. Могу поработать с утра 4 часа, потом где-то с 18 до 24, к примеру — в итоге те же 8 часов.

Однако, в удаленной работе так уже не получиться, т.к. команда работает в одно время и если кто-то один будет выпадать из графика — будут проблемы, недовольства и т.д. В итоге, скорее всего, человека заменят.

Основные же плюсы: интересные проекты и постоянная высокая оплата в валюте раз в месяц. Что в условиях ситуации в стране весьма и весьма неплохо.

Заметил, что иностранцы чаще делают что иностранцы много проектов делают с помощью удаленных сотрудников, у нас же пока удаленный труд считается не очень классным и не очень качественным (в принципе тому есть причины разные, углубляться не буду, т.к. отдельный разговор).

Вот такие вот соображения.

Самое смешное, что когда работал над проектом Solve’360, на канадскую фирму Norada (в прошлом году), то весь день до 5 вечера у меня был свободен, т.к. в это время у заказчика в Калгари только наступало утро и он просил в это время быть онлайн, и проблем с работой по временным рамкам не было. И я не ощущал, чтобы они на меня давили, как это происходит сейчас.

Ирония судьбы — наверное я просто сова, вечером мне работать привычнее и удобнее.

—————-
P. S. И еще меня на днях посетила одна идея, и я задался вопросом: что мешает кому-то сделать в рунете биржу, которая будет работать по схожей схеме с Odesk? Это сразу же повысит надежность фрилансеров в глазах заказчиков, т.к. они будут видеть что делается и делается ли вообще.

Author: "Станислав Малкин" Tags: "Без категории"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Видео псевдостриммингЯ уже писал про FFmpeg его настройку и сборку.

Хотелось бы продолжить цикл статей на эту тему. Чем сегодня и займемся.

Есть еще две полезные утилиты, которые нужны и желательны к установке.

Это flvtool++ и qt-faststart. Первая — предназначена для быстрого инжектирования метаинформации в flv файлы, вторая — для перемещения метаинформации с конца mp4 контейнера в начало.

Обе утилиты нужны для псевдостриминга (помогают быстренько серверу считать информацию о файле и отдавать его с заданного отрезка времени).

flvtool++

Скачать можно тут — http://mirror.facebook.net/facebook/flvtool++/ . Выбираем нужную версию, скачиваем и читаем файлик README внутри — там описан процесс установки. На выходе получается бинарник, который достаточно положить в удобное место (у меня это /usr/bin) и вызывать в нужный момент.

До этого я пользовался flvtool2 из пакетов, но он ущербен в самом своем начинании — загружает весь файл в память и только после этого может что-то записать. В общем-то на файлах размера 500–700 мегабайт этот процесс может занять около 20 минут и кучу съеденной памяти. Оно вам надо?

Данная же утилита делает все тоже самое, но за пару секунд (!) и не жрет память совершенно. Написана на плюсах. Рекомендую.

qt-faststart


Данная утилита дает возможность, как я и говорил переместить информацию с конца файла в начало. Это нужно для ускорения начала проигрывания файла онлайн-проигрывателями (флеш-плеерами), т.к. иначе они сначала пытаются скачать весь файл и только потом, получив метаинформацию — начать проигрывать.

Естественно ждать никто из пользователей не будет, да и долго это. Поэтому надо плееру «помочь». Для этого и используется данная утилита.

Поставить ее довольно просто — она входит в состав ffmpeg, поэтому либо ставим ее в процессе установки ffmpeg (описано в прошлой статье):

cd ~/ffmpeg
make tools/qt-faststart
sudo checkinstall –pkgname=qt-faststart –pkgversion «4:SVN-r`LANG=C svn info | \
grep Revision | awk ’{ print $NF }’`» –backup=no –deldoc=yes –fstrans=no \
–default install -D -m755 tools/qt-faststart /usr/local/bin/qt-faststart


либо делаем apt-get source ffmpeg и дальше тоже самое.

Приятного полета.

P.S. Самые последние обновления из области веб-разработки и вообще самые последние новости можно узнать в моем твиттере — http://twitter.com/malkinstanislav

Author: "Станислав Малкин" Tags: "Вэб, видео, онлайн вид..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Встречи с заказчикамиФрилансеры и удаленщики чаще всего стараются избегать прямых встреч с заказчиками.

Причин тому множество — кто-то боится ляпнуть что-то не то, кто-то боится показать свою личность, у кого-то другие проблемы.

Зачем нужны личные встречи

Если рассудить здраво — таких встреч не стоит избегать (исключением могут ставать только неадекватные предложения и заказчики), т.к. в условиях удаленной работы в СНГ (множество кидал, лохотронов и т.д.) — иногда личная встреча просто необходима, чтобы получить личный контакт, посмотреть друг другу в глаза, понять, что вас ожидает вместе.

Из своего опыта могу сказать, что личные встречи помогают установить более тесный контакт с заказчиком, получить от него больше деталей, уловить его эмоции и интонации (это очень важно).

Не стоит забывать также, что видя ваше лицо и мимику, заказчик может попробовать задать прямые вопросы, ответы на которые вы могли дать не сходу, а подумав и представив их в лучшем виде. Личное же общение заставляет давать правильные ответы сходу, у вас не будет времени подумать и что-то сболтнуть. Такими вопросами могут стать вопросы о цене, скидке, системе оплаты, опыта, портфолио, профессионализма и т.д.

Хорошая новость же в том, что все тоже самое верно и для вас — вы точно также можете задавать прямые вопросы (главное соблюдать нормы этики, если конечно заказ вам интересен), спросить об увеличении бюджета и т.д.

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

У меня было много личных встреч, как правило заказчики излагали суть заданий, иногда показывали приблизительные наброски (дизайна или структуры сайта и т.д.) и уже после этого были вопросы о приблизительной цене.

Важно! Рекомендую не пороть горячку и цену называть уже позже, прийдя домой, разложив все по полочкам и оценив. Т.к. в момент общения с заказчиком вы можете на уровне подсознания урезать цену, либо переоценить свои силы и запросить меньше. Личное общение к этому располагает как никакое другое.

Место встречи

Чаще всего встречи инициируют заказчики (по моему опыту), т.к. хотят понять, что за человек исполнитель и можно ли ему доверить свой проект и деньги.

В подавляющем количестве случаев заказчики предлагали провести встречу у них в офисе, либо подъехать в мой (если такой есть).

Т.к. у меня офиса нет, то вариант с офисом заказчика был для меня в основном подходящим. Но бывали и другие варианты — кафе, улица или даже в машине у заказчика. Любой вариант в целом приемлим, главное личный контакт.

Не стоит этого бояться, главное подготовиться. И избегайте шумных мест  — вам же дела надо обсудить, а для этого нужна относительная тишина и возможность сконцентрироваться.

Если это заведение — как правило идут туда на кофе-чай, а не на посиделки, поэтому моя позиция — стоит первый раз заплатить по счету за двоих, сказав, что «в следующий раз платите вы». Т.к. встреча очень вероятно, что не последняя, то заказчик в долгу как правило не останется.

Если же встреча затягивается и растраты растут — будет разумно предложить заплатить каждому за себя.

Выводы

  • Не бойтесь личных встреч с заказчиками: они полезны в равной мере для обоих сторон — заказчику понять, с кем он имеет дело и может ли он вам доверить свои деньги. Вам же — возможность получить еще один (возможно даже и не один) и более выгодный проект. Прислушивайтесь и присматривайтесь к заказчику — вам с ним работать. Важно понять — стоит ли это того или нет при первой же встрече.
  • Место встречи: может быть любым, либо нейтральным, либо офис заказчика. Лучше встречаться засветло и в нешумном месте. Стоит оплатить счет самостоятельно, если он небольшой или договорится платить каждому по счету, если сумма больше разумной для вас (если выбрано кафе/заведение как место встречи)
  • Сделайте домашнее задание:  подготовьте ответы на разнообразные каверзные вопросы, пусть лучше вы их продумаете и они останутся неиспользованными, чем вас застанут ими неожиданно.

P.S. У вас может быть другой опыт, я не позиционирую данные советы как панацею. Буду рад услышать в комментариях ваш опыт.

Author: "Станислав Малкин" Tags: "Freelance, О жизни, интерне..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Для тех кто знает и понимает зачем это, живой пример реализации концепции HTML5 в видео онлайн-плеера:

Ограничения те же самые, что и у ютуба, а именно:

Поддерживаются браузеры, способные обрабатывать видеотег стандарта HTML5, а также видеокодек h.264 или формат WebM (с кодеком VP8). К ним относятся следующие:

  • Firefox 4 (WebM)
  • Google Chrome (WebM и h.264)
  • Opera 10.6+ (WebM)
  • Apple Safari (h.264, версия 4+)
  • Microsoft Internet Explorer 9 (h.264)

Примечания

  • Поддержка полноэкранного режима реализована частично. Нажатие кнопки перехода в полноэкранный режим приведет к расширению экрана проигрывателя до размера окна браузера. Если ваш браузер поддерживает полноэкранный режим, вы можете использовать его для просмотра всего видео в полноэкранном режиме
  • Проигрыватель HTML5 содержит значок на панели управления. Если вы не видите значок HTML5 на панели управления, вы будете переадресованы на проигрыватель Flash (вследствие приведенных ниже ограничений)

Наслаждайтесь (а для этого желательно иметь Chrome по-новее или IE9). В Opera возможны тормоза, особенно под виндой, т.к. она еще плохо жует VP8.

P.S. Фулскрин не работает, т.к. видео вставлено через iframe, выйти за пределы которого видео естественно не может, если не загружено с того же домена.

P.S.2. Браузеры не поддерживающие video-тег (IE < 9, к примеру) или которые не умеют играть VP8 или H264 будут видеть перед собой флеш-плеер. Theora выпилил принципиально, т.к. ущербный кодек и будущего в HTML5 для него нету.

P.S.3. Код еще не очень, собираюсь на JQuery переписать чуть позже. Чисто для демонстрации.

Author: "Станислав Малкин" Tags: "CSS, JavaScript, PHP, Web2.0, мои р..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Через 4 дня (точнее уже почти 3) мне стукнет 25 лет. Много или мало — тяжело сказать.

Однако можно будет подвести какие-то итоги достигнутого. Что и сделаю, в течении недели. Ждите об этом отдельный пост.

А теперь о том, что планируется.

Планирую написать одну или несколько заметок про Sphinx. Да-да, снова. Прошло некоторое время с тех пор, как я писал про него, однако есть уже что сказать нового.

Понадобилось мне написать ftp-поисковик. Как же тут без Sphinx обойтись-то! Пришлось столкнуться с теми вещами, с которыми не стыкаешься, пока база маленькая (база фтп-поиска уже перевалила за 6 млн. файлов).

Пришлось сделать некоторые оптимизации, поглубже изучить Sphinx и его возможности. О чем собственно и напишу.

До скорых встреч.

Author: "Станислав Малкин" Tags: "Без категории"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

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

Однако в блоге мне последнее время действительно писать просто некогда, т.к. писать хорошие статьи — это уйма времени, а писать что-либо, лишь бы было, я не хочу.

А документировать основные мысли буду с радостью в формате твиттера, ну или постараюсь.

Поэтому теперь я тоже в твиттере, посмотрим, что из этого получиться.

Мой твиттер — malkinstanislav

P. S. А еще — студии ArtLab больше не существует, мы ее закрыли. Чуть позже напишу, что к чему. Будет новая студия, уже зарегистрировал домен.

Author: "Станислав Малкин" Tags: "О жизни"
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 30 Nov 1999 00:00

Теперь должен работать быстрее :)

О багах сообщать.

Author: "Станислав Малкин" Tags: "Вэб, блог, переезд, хос..."
Comments Send by mail Print  Save  Delicious 
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader