<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Развитие личности, лайфхак, личный опыт, проекты и околоайтишные размышления. Персональный блог Станислава Малкина</title>
	
	<link>http://malkin.com.ua</link>
	<description>Персональный блог Станислава Малкина</description>
	<pubDate>Sun, 21 Feb 2010 15:56:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<feedburner:info uri="anycolor" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/anycolor?format=xml" /><feedburner:emailServiceId>anycolor</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/anycolor?format=xml" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fanycolor%3Fformat%3Dxml" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><item>
		<title>Установка FFmpeg в Linux</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/T3dwlueQDfg/</link>
		<comments>http://malkin.com.ua/2010/02/ustanovka-ffmpeg-v-linux/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 15:31:43 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[Вэб]]></category>

		<category><![CDATA[О разном]]></category>

		<category><![CDATA[интернет]]></category>

		<category><![CDATA[мои проекты]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=421</guid>
		<description><![CDATA[В частности речь пойдет про Debian Lenny, но это&#160;же самое вполне подойдет и&#160;для любого Linux, ровно как и&#160;для FreeBSD.
Немного предыстории: с&#160;самого начала видеохостинга у&#160;меня ffmpeg был просто втупую поставлен через менеджер пакетов&#160;&#8212; apt-get install ffmpeg .
Однако со временем я&#160;пришел к&#160;тому, что версия сильно устаревает (например текущая сборка в&#160;lenny датируется маем 2009&#160;года&#160;&#8212; почти год назад), а&#160;версию [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm2.static.flickr.com/1215/853133431_8655991501.jpg" alt="" width="210" height="157" align="left" />В частности речь пойдет про Debian Lenny, но это&nbsp;же самое вполне подойдет и&nbsp;для любого Linux, ровно как и&nbsp;для FreeBSD.</p>
<p>Немного предыстории: с&nbsp;самого начала <a href="http://malkin.com.ua/2009/12/videoxosting-svoimi-rukami/">видеохостинга</a> у&nbsp;меня ffmpeg был просто втупую поставлен через менеджер пакетов&nbsp;&#8212; <nobr>apt-get</nobr> install ffmpeg .</p>
<p>Однако со временем я&nbsp;пришел к&nbsp;тому, что версия сильно устаревает (например текущая сборка в&nbsp;lenny датируется маем 2009&nbsp;года&nbsp;&#8212; почти год назад), а&nbsp;версию из sid не всегда удается корректно собрать, и&nbsp;с этим надо <nobr>что-то</nobr> делать.</p>
<p>А&nbsp;что делать? Да взять и&nbsp;собрать себе ffmpeg из официального svn. Так и&nbsp;поступим.</p>
<h2>Подготовка</h2>
<p>Для начала рекомендую удалить ffmpeg, если он уже установлен. В&nbsp;случае менеджера пакетов apt:</p>
<p><nobr><br />
<blockquote><nobr>apt-get</nobr> remove ffmpeg</nobr></p></blockquote>
<p>Если собирали из исходников&nbsp;&#8212; достаточно удалить сам бинарник, найдя его через whereis ffmpeg.</p>
<p>После этого нам понадобиться скачать себе файлы из svn ffmpeg (предполагаю, что svn уже установлен в&nbsp;системе, если нет&nbsp;&#8212; надо сначала поставить):</p>
<blockquote><p>svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg</p></blockquote>
<p>ну или&nbsp;же, если используется git:</p>
<blockquote><p>git clone git://git.ffmpeg.org/ffmpeg/<br />
cd ffmpeg<br />
git clone git://git.ffmpeg.org/libswscale/</p></blockquote>
<h2>Настройка, сборка и&nbsp;установка</h2>
<p>Переходим в&nbsp;папку ffmpeg, слитого с&nbsp;репозитория:</p>
<blockquote><p>cd ffmpeg</p></blockquote>
<p>Для установки ffmpeg нужно запустить ./configure с&nbsp;нужным набором ключей. У&nbsp;меня, как думаю и&nbsp;у многих, одной из проблем было какие ключи нужны. Методом проб и&nbsp;ошибок я&nbsp;пришел к&nbsp;такой команде:</p>
<blockquote><p>./configure <nobr>&#8211;prefix=/usr</nobr> <nobr>&#8211;libdir=/usr/lib</nobr> <nobr>&#8211;shlibdir=/usr/lib</nobr> <nobr>&#8211;bindir=/usr/bin</nobr> <nobr>&#8211;incdir=/usr/include/ffmpeg</nobr> <nobr>&#8211;enable-libx264</nobr> <nobr>&#8211;enable-postproc</nobr> <nobr>&#8211;enable-libxvid</nobr> <nobr>&#8211;enable-pthreads</nobr> <nobr>&#8211;enable-libvorbis</nobr> <nobr>&#8211;enable-libfaad</nobr> <nobr>&#8211;enable-gpl</nobr> <nobr>&#8211;enable-x11grab</nobr> <nobr>&#8211;enable-shared</nobr> <nobr>&#8211;enable-libmp3lame</nobr> <nobr>&#8211;enable-libtheora</nobr> <nobr>&#8211;enable-libfaac</nobr> <nobr>&#8211;enable-libfaad</nobr> <nobr>&#8211;enable-nonfree</nobr> <nobr>&#8211;enable-libopencore-amrnb</nobr> <nobr>&#8211;enable-libopencore-amrwb</nobr> <nobr>&#8211;enable-libgsm</nobr> <nobr>&#8211;enable-version3</nobr> <nobr>&#8211;enable-avfilter</nobr> <nobr>&#8211;enable-libspeex</nobr> <nobr>&#8211;enable-zlib</nobr> <nobr>&#8211;enable-libschroedinger</nobr> <nobr>&#8211;disable-encoder=libschroedinger</nobr> <nobr>&#8211;enable-libdc1394</nobr> <nobr>&#8211;disable-mmx</nobr> <nobr>&#8211;disable-stripping</nobr> <nobr>&#8211;enable-libdirac</nobr> <nobr>&#8211;disable-decoder=libdirac</nobr> <nobr>&#8211;disable-altivec</nobr> <nobr>&#8211;disable-armv5te</nobr> <nobr>&#8211;disable-armv6</nobr> <nobr>&#8211;disable-vis</nobr> <nobr>&#8211;enable-avfilter-lavf</nobr> <nobr>&#8211;enable-libopenjpeg</nobr> <nobr>&#8211;extra-cflags=-Wall</nobr> <nobr>&#8211;cc=ccache</nobr> cc <nobr>&#8211;enable-swscale</p></blockquote>
<p></nobr></p>
<p>Однако это еще не все. Чтобы Makefile сделался с&nbsp;таким набором ключей еще прийдется попотеть, а&nbsp;именно доставить все то, что он потребует (если в&nbsp;системе еще нету). Как правило после запуска конфигуратор скажет <nobr>что-то</nobr> типа:</p>
<blockquote><p>FAAD test failed</p></blockquote>
<p>Это означает, что нужно установить libfaad, что делается довольно просто:<br />
<nobr><br />
<blockquote><nobr>apt-cache</nobr> search libfaad<br />
<nobr>apt-get</nobr> install <nobr>libfaad-dev</nobr> libfaad0</nobr></p></blockquote>
<p>Сообщения могут быть разными, но суть одна и&nbsp;та&nbsp;же&nbsp;&#8212; как правило <nobr>чего-то</nobr> не хватает (например -dev библиотеки) и&nbsp;это нужно поставить. Большинство проблем решаются с&nbsp;помощью обычного репозитория для lenny <nobr>и&nbsp;<nobr>apt-get</nobr> install.</p>
<p>Но не все ;P</p>
<p>Исключением будут, как правило, ключи:</p>
<p>1. <nobr>&#8211;enable-libopencore-amrnb</nobr> <nobr>&#8211;enable-libopencore-amrwb</nobr><br />
2. <nobr>&#8211;enable-libx264</nobr><br />
3. <nobr>&#8211;enable-libtheora</nobr></p>
<p>С&nbsp;этими библиотеками так просто не выйдет. Но тоже решаемо. Разберемся с&nbsp;ними:</p>
<p><strong>1. <nobr>&#8211;enable-libopencore-amrnb</nobr> <nobr>&#8211;enable-libopencore-amrwb</strong></nobr></p>
<p>Ранее этих ключей не было, они пришли на замену <nobr>&#8211;enable-libamr-nd</nobr> <nobr>&#8211;enable-libamr-wb</nobr> с&nbsp;июля 2009. Информация с&nbsp;официального сайта:</p>
<blockquote><p>FFmpeg has removed support for libamr as of svn revision 19365. It has been replaced with support for <nobr>libopencore-amr.</nobr> Naturally the configure options have changed. The libamr options have been removed and there are two new options to take their place:</p>
<p> * <nobr>&#8211;enable-libopencore-amrnb</nobr><br />
 * <nobr>&#8211;enable-libopencore-amrwb</nobr></p>
<p>The reason for this change is that the libamr license was <nobr>non-free,</nobr> while <nobr>libopencore-amr</nobr> is licensed under an Apache 2&nbsp;license. The change was discussed at length on the developer mailing list during May, June, and July. This has several effects:</p>
<p> * You may now distribute FFmpeg builds with support for dynamically loading <nobr>libopencore-amr</nobr><br />
 * Support for <nobr>AMR-WB</nobr> encoding has been removed since <nobr>libopencore-amr</nobr> does not support it
</p></blockquote>
<p>Это означает, что поддержки из свн данной библиотеки нету. И&nbsp;что самое интересное, пакета нет и&nbsp;через установку с&nbsp;помощью apt (вроде есть в&nbsp;sid, но у&nbsp;меня не поставилось из него, куча побитых зависимостей и&nbsp;т.д.), поэтому сделаем иначе&nbsp;&#8212; скачаем исходники <a href="http://sourceforge.net/projects/opencore-amr/files/">отсюда</a> и&nbsp;собираем вручную через:</p>
<blockquote><p>./configure<br />
make<br />
make install</p></blockquote>
<p>Я&nbsp;собирал этот исходник на трех машинах, почти одинаковых и&nbsp;вот такие грабли иногда возникали:</p>
<p>1.<br />
<blockquote>configure: error: c++ compiler cannot create executables</p></blockquote>
<p>Лечиться либо через apt&nbsp;&#8212; <nobr>&laquo;apt-get</nobr> install <nobr>build-essential&raquo;,</nobr> либо через установку g++ любым удобным вам способом. </p>
<p>2.<br />
<blockquote>unable to guess system type</p>
<p>This script, last modified $timestamp, has failed to recognize<br />
the operating system you are using. It is advised that you<br />
download the most up to date version of the config scripts from</p>
<p> http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD<br />
and<br />
 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD</p>
<p>If the version you run ($0) is already up to date, please<br />
send the following data and any information you think might be<br />
pertinent to <config-patches@gnu.org> in order to provide the needed<br />
information to handle your system.</p></blockquote>
<p>Лечиться через дополнительный ключ к&nbsp;./configure (зависит от вашей архитектуры, у&nbsp;меня i686, свою узнать можно через uname -a)</p>
<blockquote><p>./configure <nobr>&#8211;build=i686</nobr> </p></blockquote>
<p>Других проблем мною не было замечено. После установки данной библиотеки ffmpeg будет собираться с&nbsp;поддержкой их (они предназначены для перекодировки видео с&nbsp;мобильных телефонов&nbsp;&#8212; 3gp и&nbsp;другие подобные форматы).</p>
<p><strong>2. <nobr>&#8211;enable-libx264</strong></nobr></p>
<p>Как правило требуется установить libx264. Но даже если библиотека установлена, всеравно можно получить сообщение, о&nbsp;том, что библиотека довольно старая и&nbsp;требуется версия не ниже 0.83&nbsp;(которой естественно в&nbsp;ветке lenny нету).</p>
<p>Не стоит отчаиваться, делаем следующее:</p>
<blockquote><p>mcedit /etc/apt/sources.list</p></blockquote>
<p>и&nbsp;заменяем строку</p>
<blockquote><p>deb <nobr>http://www.debian-multimedia.org</nobr> <strong>lenny</strong> main</p></blockquote>
<p>на </p>
<blockquote><p>deb <nobr>http://www.debian-multimedia.org</nobr> <strong>sid</strong> main</p></blockquote>
<p>После чего делаем</p>
<p><nobr><br />
<blockquote><nobr>apt-get</nobr> update</nobr></p></blockquote>
<p>и&nbsp;<br />
<nobr><br />
<blockquote><nobr>apt-cache</nobr> search libx264</nobr></p></blockquote>
<p>где и&nbsp;увидим нужное:</p>
<blockquote><p>libx264&#8211;83&nbsp;&#8212; x264&nbsp;video coding library</p></blockquote>
<p>Все, можно ставить:<br />
<nobr><br />
<blockquote><nobr>apt-get</nobr> install <nobr>libx264&#8211;83&nbsp;libx264-dev</nobr></p></blockquote>
<p></nobr></p>
<p>и&nbsp;вопрос с&nbsp;данным ключем на этом тоже решен. После установки библиотеки рекомендую вернуть в&nbsp;souces.list строку в&nbsp;изначальное положение (тоесть вернуть lenny) и&nbsp;выполнить <nobr>apt-get</nobr> update, чтобы ставить стабильные версии пакетов.</p>
<p><strong>3. <nobr>&#8211;enable-libtheora</strong></nobr></p>
<p>Тут тоже запущенный вариант, т.к. <nobr>apt-get</nobr> install libtheora0&nbsp;тут не поможет, т.к. в&nbsp;менеджере пакетов для lenny лежит очень старая версия библиотеки и&nbsp;даже ее установка не поможет&nbsp;&#8212; конфигурационный скрипт будет упорно твердить что &laquo;libtheora not found&raquo;. </p>
<p>Но наша нигде не пропадала, поэтому опять открываем sources.list и&nbsp;меняем строку</p>
<blockquote><p>deb http://ftp.ua.debian.org/debian/ lenny main</p></blockquote>
<p>на </p>
<blockquote><p>deb http://ftp.ua.debian.org/debian/ sid main</p></blockquote>
<p>и&nbsp;делаем <nobr>apt-get</nobr> update. После чего <nobr>apt-cache</nobr> search libtheora. Если все хорошо, то найдет такое:</p>
<p><nobr><br />
<blockquote><nobr>libtheora-dbg&nbsp;&#8212;</nobr> The Theora Video Compression Codec (debug)<br />
<nobr>libtheora-doc&nbsp;&#8212;</nobr> The Theora Video Compression Codec (documentation)<br />
<nobr>libtheora-ocaml&nbsp;&#8212;</nobr> OCaml interface to the theora library<br />
<nobr>libtheora-ocaml-dev&nbsp;&#8212;</nobr> OCaml interface to the theora library<br />
<nobr><strong>libtheora-dev&nbsp;&#8212;</nobr> The Theora Video Compression Codec (development files)<br />
libtheora0&nbsp;&#8212; The Theora Video Compression Codec<br />
<nobr>libtheora-bin&nbsp;&#8212;</nobr> The Theora Video Compression Codec (example encoder, decoder)</strong></nobr>
</p></blockquote>
<p>Ставим выделенное жирным:<br />
<nobr><br />
<blockquote><nobr>apt-get</nobr> install <nobr>libtheora-dev</nobr> <nobr>libtheora0&nbsp;libtheora-bin</nobr></p></blockquote>
<p></nobr></p>
<p>После этого конфигурационный скрипт больше не будет матюкаться на libtheora.</p>
<p>Больше по идее проблем с&nbsp;конфигурацией не должно возникать. После этого ./configure с&nbsp;указанными выше ключами должен успешно выполниться (если все библиотеки доставлены), и&nbsp;можно делать </p>
<blockquote><p>make</p></blockquote>
<p>Тут иногда возможны варианты. Например не собирается, ругается на <nobr>что-то.</nobr> Как правило это связано с&nbsp;изменениями файлов репозитории разработчиками. Например <nobr>кто-то</nobr> закоммитил несобираемую версию. Лечиться чаще всего&nbsp;&#8212; банальным обновлением до последней ревизии и&nbsp;make distclean (после этого нужно пройти процесс конфигурации заново, запустив ./configure с&nbsp;ключами заново). Если&nbsp;же обновления нет еще или проблема не устраняется&nbsp;&#8212; стоит попробовать обновиться до более старой ревизии.</p>
<p>Иногда проскакивают разного рода глюки компиляции, когда выводит <nobr>какую-то</nobr> ошибку. У&nbsp;меня такое пару раз бывало&nbsp;&#8212; не стоит пугаться, просто стоит набрать еще раз make, повторно, как правило, не выдает, если это не <nobr>что-то</nobr> серьезное, по типу несоответствия библиотек и&nbsp;т.д.</p>
<p>Процесс сборки make занимает некоторое продолжительное время, от 10&nbsp;до 30&nbsp;минут, в&nbsp;зависимости от мощности машины, где это запущено.</p>
<p>Если все хорошо, можно делать</p>
<blockquote><p>make install</p></blockquote>
<p>После этого стоит проверить, все&nbsp;ли хорошо, выполнив команду:</p>
<blockquote><p>ffmpeg</p></blockquote>
<p>Если установка успешна, вы должны увидеть <nobr>что-то</nobr> подобное моему выводу:</p>
<blockquote><p>FFmpeg version <nobr><strong>SVN-r21796</strong>,</nobr> Copyright &copy; <nobr>2000-<strong>2010</strong></nobr> Fabrice Bellard, et al.<br />
 <strong>built on Feb 21&nbsp;2010&nbsp;14:55:21&nbsp;with gcc 4.3.2</strong><br />
 configuration: <nobr>&#8211;prefix=/usr</nobr> <nobr>&#8211;libdir=/usr/lib</nobr> <nobr>&#8211;shlibdir=/usr/lib</nobr> <nobr>&#8211;bindir=/usr/bin</nobr> <nobr>&#8211;incdir=/usr/include/ffmpeg</nobr> <nobr>&#8211;enable-libx264</nobr> <nobr>&#8211;enable-postproc</nobr> <nobr>&#8211;enable-libxvid</nobr> <nobr>&#8211;enable-pthreads</nobr> <nobr>&#8211;enable-libvorbis</nobr> <nobr>&#8211;enable-libfaad</nobr> <nobr>&#8211;enable-gpl</nobr> <nobr>&#8211;enable-x11grab</nobr> <nobr>&#8211;enable-shared</nobr> <nobr>&#8211;enable-libmp3lame</nobr> <nobr>&#8211;enable-libtheora</nobr> <nobr>&#8211;enable-libfaac</nobr> <nobr>&#8211;enable-libfaad</nobr> <nobr>&#8211;enable-nonfree</nobr> <nobr>&#8211;enable-libopencore-amrnb</nobr> <nobr>&#8211;enable-libopencore-amrwb</nobr> <nobr>&#8211;enable-libgsm</nobr> <nobr>&#8211;enable-version3</nobr> <nobr>&#8211;enable-avfilter</nobr> <nobr>&#8211;enable-libspeex</nobr> <nobr>&#8211;enable-zlib</nobr> <nobr>&#8211;enable-libschroedinger</nobr> <nobr>&#8211;disable-encoder=libschroedinger</nobr> <nobr>&#8211;enable-libdc1394</nobr> <nobr>&#8211;disable-mmx</nobr> <nobr>&#8211;disable-stripping</nobr> <nobr>&#8211;enable-libdirac</nobr> <nobr>&#8211;disable-decoder=libdirac</nobr> <nobr>&#8211;disable-altivec</nobr> <nobr>&#8211;disable-armv5te</nobr> <nobr>&#8211;disable-armv6</nobr> <nobr>&#8211;disable-vis</nobr> <nobr>&#8211;enable-avfilter-lavf</nobr> <nobr>&#8211;enable-libopenjpeg</nobr> <nobr>&#8211;extra-cflags=-Wall</nobr> <nobr>&#8211;cc=ccache</nobr> cc <nobr>&#8211;enable-swscale</nobr><br />
<strong> libavutil 50. 9. 0&nbsp;/ 50. 9. 0&nbsp; libavcodec 52.54. 0&nbsp;/ 52.54. 0&nbsp; libavformat 52.52. 0&nbsp;/ 52.52. 0&nbsp; libavdevice 52. 2. 0&nbsp;/ 52. 2. 0&nbsp; libavfilter 1.17. 0&nbsp;/ 1.17. 0&nbsp; libswscale 0.10. 0&nbsp;/ 0.10. 0&nbsp; libpostproc 51. 2. 0&nbsp;/ 51. 2. 0</strong><br />
Hyper fast Audio and Video encoder<br />
usage: ffmpeg [options] [[infile options] -i infile]&hellip; {[outfile options] outfile}&hellip;</p>
<p>Use -h to get full help or, even better, run &#8217;man ffmpeg&#8217;</p></blockquote>
<p>Ключевые моменты выделены жирным.</p>
<p>Также бывают проблемы на разных архитектурах, когда установка прошла успешно, но ffmpeg выводит не то, что я&nbsp;показал выше, а&nbsp;сообщения по типу:</p>
<blockquote><p>libavformat.so.52: no version information available (required by ffmpeg)</p></blockquote>
<p>Пришлось поморочиться, но в&nbsp;итоге я&nbsp;нашел решение. </p>
<p>Дело в&nbsp;том, что процесс установки менеджера пакетов <nobr>почему-то</nobr> иногда ставит библиотеки в&nbsp;/usr/lib/i686/cmov , чем перебивает библиотеки из /usr/lib и&nbsp;/usr/local/lib .</p>
<p>Лечится банально&nbsp;&#8212; копируем 3&nbsp;файла из папки, куда установил либы ffmpeg (зависит от конфигурации в&nbsp;./configure). В&nbsp;моих ключах можно заметить, что библиотеки пошли в&nbsp;/usr/lib/.</p>
<p>Отлично, копируем libavformat.so libavformat.so.52&nbsp;libavformat.so.52.52.0&nbsp;из этой папки в&nbsp;папку /usr/lib/i686/cmov/</p>
<p>После этого радуемся жизни с&nbsp;ffmpeg ;P</p>
<h2>Вместо заключения</h2>
<p>Приятного использования свежей версии ffmpeg!</p>
<p>Мне она помогла устранить пару багов с&nbsp;перекодированными видео, которые оставляла предыдущая версия, установленная через менеджер пакетов.</p>
<p>Есть вопросы? Пишем в&nbsp;комментариях, не стесняемся, помогу, чем смогу.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=T3dwlueQDfg:5ItS2MsLCuo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=T3dwlueQDfg:5ItS2MsLCuo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=T3dwlueQDfg:5ItS2MsLCuo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=T3dwlueQDfg:5ItS2MsLCuo:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=T3dwlueQDfg:5ItS2MsLCuo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=T3dwlueQDfg:5ItS2MsLCuo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/T3dwlueQDfg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2010/02/ustanovka-ffmpeg-v-linux/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2010/02/ustanovka-ffmpeg-v-linux/</feedburner:origLink></item>
		<item>
		<title>Из личного опыта: о плюсах и минусах удаленной работы</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/YGAnWsl2JUM/</link>
		<comments>http://malkin.com.ua/2010/02/iz-lichnogo-opyta-o-plyusax-i-minusax-udalennoj-raboty/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 00:38:08 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[Без категории]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=420</guid>
		<description><![CDATA[Как многие из вас наверняка знают, я довольно длительное время занимался фрилансом (впрочем и продолжаю время от времени) на довольно высоком уровне.
И некоторое время назад стал постепенно больше переходить на удаленную работу, т.к. начал пробовать себя на иностранных биржах. А там чаще всего — либо постоянная работа, либо такие мелочи, что даже браться не хочется и тратить свое время на это.
Проектов же, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.atriumbc.ie/assets/images/remote-worker.jpg" alt="" width="245" height="175" align="left" />Как многие из вас наверняка знают, я довольно длительное время занимался фрилансом (впрочем и продолжаю время от времени) на довольно высоком уровне.</p>
<p>И некоторое время назад стал постепенно больше переходить на удаленную работу, т.к. начал пробовать себя на иностранных биржах. А там чаще всего — либо постоянная работа, либо такие мелочи, что даже браться не хочется и тратить свое время на это.</p>
<p>Проектов же, на 3–4 месяца, как я обычно привык брать ранее — на них почти нету, либо мало (как правило это что-то по типу «нужен сайт», но бывают и исключения). Поэтому остаются только длительные проекты, а это, как правило, работа в удаленной команде и довольно длительные проекты (например, над проектом Solve’360, в котором я работал 3.5 месяца в прошлом году — работа еще далеко не закончена, люди работают, а проект растет).</p>
<p>Но суть не в проектах. Главным минусом для меня, в принципе прогнозируемо, стала проблема работы «с 9 до 18». Это не проблема конечно же, но за 4 года фриланса я совсем отвык от работы по такому графику, поэтому некоторое время пришлось «вливаться» — сейчас уже нормально, но осадок остался, для себя сделал отметку, еще раз, что работа по графику мне не нравится, т.к. я человек любящий свободу. Могу поработать с утра 4 часа, потом где-то с 18 до 24, к примеру — в итоге те же 8 часов.</p>
<p>Однако, в удаленной работе так уже не получиться, т.к. команда работает в одно время и если кто-то один будет выпадать из графика — будут проблемы, недовольства и т.д. В итоге, скорее всего, человека заменят.</p>
<p>Основные же плюсы: интересные проекты и постоянная высокая оплата в валюте раз в месяц. Что в условиях ситуации в стране весьма и весьма неплохо.</p>
<p>Заметил, что иностранцы чаще делают что иностранцы много проектов делают с помощью удаленных сотрудников, у нас же пока удаленный труд считается не очень классным и не очень качественным (в принципе тому есть причины разные, углубляться не буду, т.к. отдельный разговор).</p>
<p>Вот такие вот соображения.</p>
<p>Самое смешное, что когда работал над проектом Solve’360, на канадскую фирму Norada (в прошлом году), то весь день до 5 вечера у меня был свободен, т.к. в это время у заказчика в Калгари только наступало утро и он просил в это время быть онлайн, и проблем с работой по временным рамкам не было. И я не ощущал, чтобы они на меня давили, как это происходит сейчас.</p>
<p>Ирония судьбы — наверное я просто сова, вечером мне работать привычнее и удобнее.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
P. S. И еще меня на днях посетила одна идея, и я задался вопросом: что мешает кому-то сделать в рунете биржу, которая будет работать по схожей схеме с Odesk? Это сразу же повысит надежность фрилансеров в глазах заказчиков, т.к. они будут видеть что делается и делается ли вообще.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=YGAnWsl2JUM:-VNj6byKJ5I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=YGAnWsl2JUM:-VNj6byKJ5I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=YGAnWsl2JUM:-VNj6byKJ5I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=YGAnWsl2JUM:-VNj6byKJ5I:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=YGAnWsl2JUM:-VNj6byKJ5I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=YGAnWsl2JUM:-VNj6byKJ5I:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/YGAnWsl2JUM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2010/02/iz-lichnogo-opyta-o-plyusax-i-minusax-udalennoj-raboty/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2010/02/iz-lichnogo-opyta-o-plyusax-i-minusax-udalennoj-raboty/</feedburner:origLink></item>
		<item>
		<title>Sphinx. Что это такое и с чем его едят.</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/XVm82ytOYfA/</link>
		<comments>http://malkin.com.ua/2010/02/sphinx-chto-eto-takoe-i-s-chem-ego-edyat/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 22:55:18 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Вэб]]></category>

		<category><![CDATA[мои проекты]]></category>

		<category><![CDATA[развитие личности]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=419</guid>
		<description><![CDATA[Итак, сфинкс.
Постараюсь немного рассказать о&#160;нем с&#160;наглядными примерами и&#160;настройкой.
Sphinx (SQL Phrase Index) &#8212; полнотекстовый поисковой движок, опубликованный под лицензией GPLv2, что дает возможность его бесплатного использования в&#160;своих проектах.
Сразу же возникает вопрос &#8212; &#171;чем же Sphinx отличается от других поисковых движков и&#160;почему именно его стоит использовать?&#187;
Кроме всех достоинств Sphinx (быстрая индексация, поддержка MySQL и&#160;PostgreSQL, морфология и&#160;т.д.) я&#160;бы отметил еще такие особенности, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.sphinxsearch.com/g/sphinx.jpg" alt="sphinx" align="left" />Итак, сфинкс.</p>
<p>Постараюсь немного рассказать о&nbsp;нем с&nbsp;наглядными примерами и&nbsp;настройкой.</p>
<p><a href="http://www.sphinxsearch.com/about.html" target="_blank">Sphinx</a> (SQL Phrase Index) &#8212; полнотекстовый поисковой движок, опубликованный под лицензией GPLv2, что дает возможность его бесплатного использования в&nbsp;своих проектах.</p>
<p>Сразу же возникает вопрос &#8212; &laquo;чем же Sphinx отличается от других поисковых движков и&nbsp;почему именно его стоит использовать?&raquo;</p>
<p>Кроме всех достоинств Sphinx (быстрая индексация, поддержка MySQL и&nbsp;PostgreSQL, морфология и&nbsp;т.д.) я&nbsp;бы отметил еще такие особенности, как распределенный поиск (возможность размазывать поисковой движок на несколько машин) и&nbsp;довольно широкое использование движка в&nbsp;hiload проектах (к примеру на Habrahabr и&nbsp;т.д.).</p>
<p>Я&nbsp;много слышал о&nbsp;Sphinx, но до этого не было повода и&nbsp;надобности в&nbsp;его использовании. Однако времена меняются.</p>
<p>Я&nbsp;уже рассказывал про создание <a title="Видеохостинг своими руками" href="http://malkin.com.ua/2009/12/videoxosting-svoimi-rukami/" target="_blank">видеохостинга своими руками</a> . В&nbsp;один прекрасный день встал вопрос поиска по базе видеофайлов. До этого использовался гуглопоиск, но его качество оставляло желать лучшего в&nbsp;плане поиска по видео, несмотря на то, что Sitemap для video.google.com был скормлен.</p>
<p>Поэтому я&nbsp;задался вопросом создания поиска по видео. Естественно, изобретать велосипед мне не хотелось (писать поиск с&nbsp;нуля), поэтому начал смотреть на готовые решения и&nbsp;вспомнил про Sphinx. Почему бы и&nbsp;нет? Познакомиться с&nbsp;новой для себя технологией, заодно решить задачу.</p>
<p>Сказано &#8212; сделано. Начал изучать документацию. Сначала вообще мало что было понятно.</p>
<h2>Установка</h2>
<p>Начал отсюда &#8212; <nobr><a title="Quick tour" href="http://www.sphinxsearch.com/docs/manual-0.9.9.html#quick-tour" target="_blank">http://www.sphinxsearch.com/docs/manual-0.9.9.html#quick-tour</a></nobr> , поставил себе sphinx (у меня там Fedora):</p>
<blockquote><p>yum list | grep sphinx<br />
yum install sphinx.x86_64</p></blockquote>
<h2>Конфиг</h2>
<p>Дальше отредактировал конфиг, предварительно скопировав его с&nbsp;директории установки и&nbsp;переименовав в&nbsp;sphinx.conf (тут довольно много времени пришлось убить на ознакомление с&nbsp;документацией и&nbsp;правильной настройки конфига. В&nbsp;итоге получилось такое:</p>
<blockquote><p># Minimal Sphinx configuration sample (clean, simple, functional)<br />
#</p>
<p>source video<br />
{<br />
type = mysql</p>
<p>sql_host = localhost<br />
sql_user = myuser<br />
sql_pass = mypass<br />
sql_db = mydb<br />
sql_port = 3306&nbsp;# optional, default is 3306&nbsp;sql_query_pre = SET NAMES utf8&nbsp;sql_query_pre = SET SESSION query_cache_type=OFF</p>
<p>sql_query = \<br />
SELECT `desc`, `longdesc`, \<br />
(SELECT count(`id`) FROM `comments` WHERE `item_id` = v.`video_id`) as comments, \<br />
UNIX_TIMESTAMP(`date`) AS date_added, `views` as views \<br />
FROM video v WHERE `decoded` = &#8217;1&#8217; AND `deleted` = 0&nbsp;<br />
sql_attr_uint = comments<br />
sql_attr_uint = views<br />
sql_attr_timestamp = date_added<br />
}</p>
<p>index video<br />
{<br />
source = video<br />
path = /var/lib/sphinx/video<br />
docinfo = extern<br />
charset_type = <nobr>utf-8</nobr><br />
charset_table = 0..9, <nobr>A..Z-&gt;a..z,</nobr> _, a..z, <nobr>U+410..U+42F-&gt;U+430..U+44F,</nobr> U+430..U+44F<br />
enable_star = 1&nbsp;min_prefix_len = 5&nbsp;html_strip = 1&nbsp;prefix_fields = desc, longdesc<br />
morphology = none<br />
}</p>
<p>indexer<br />
{<br />
mem_limit = 32M<br />
}</p>
<p>searchd<br />
{<br />
port = 3312&nbsp;log = /var/log/sphinx/searchd.log<br />
query_log = /var/log/sphinx/query.log<br />
read_timeout = 5&nbsp;max_children = 30&nbsp;pid_file = /var/run/sphinx/searchd.pid<br />
max_matches = 1000&nbsp;seamless_rotate&gt; = 1&nbsp;preopen_indexes = 0&nbsp;unlink_old = 1&nbsp;}</p></blockquote>
<p>В&nbsp;принципе все довольно стандартно, главное было подобрать параметры &laquo;под себя&raquo;. Про все параметры можно прочесть в&nbsp;документации, поэтому по ним пробегусь довольно коротко:</p>
<blockquote><p>sql_query_pre = SET NAMES utf8&nbsp; sql_query_pre = SET SESSION query_cache_type=OFF</p></blockquote>
<p>Эта часть означает, что мы делаем два предварительных запроса к&nbsp;базе до выполнения основного запроса на выборку данных, в&nbsp;которых выставляет кодировку utf8&nbsp;для считываемых данных и&nbsp;отключаем кеширование запросов.</p>
<blockquote><p>charset_type = <nobr>utf-8</nobr><br />
charset_table = 0..9, <nobr>A..Z-&gt;a..z,</nobr> _, a..z, <nobr>U+410..U+42F-&gt;U+430..U+44F,</nobr> U+430..U+44F</p></blockquote>
<p>Для правильного поиска по индексу выставляем индексатору правильную кодировку данных и&nbsp;список допустимых символов в&nbsp;этой кодировке (куда, кстати, попадают и&nbsp;русские буквы)</p>
<blockquote><p>enable_star = 1&nbsp; min_prefix_len = 5&nbsp; html_strip = 1&nbsp; prefix_fields = desc, longdesc</p></blockquote>
<p>Включаем префиксирование до 5&nbsp;символов для полей desc, longdesc и&nbsp;вырезаем все <nobr>хтмл-символы.</nobr> Теперь, запрашивая что слово &laquo;шевч*&raquo; (со звездой в&nbsp;конце &#8212; именно это означает enable_star) &#8212; мы сможем найти слова, начинающиеся с&nbsp;&laquo;шевч&raquo; и&nbsp;имеющие от 1&nbsp;до 5&nbsp;символов после, например &laquo;шевченко&raquo; или &laquo;шевчук&raquo; и&nbsp;т.д.</p>
<h2>Проверка работоспособности и&nbsp;сron</h2>
<p>Т.к. конфиг создан, самое время проверить, что он правильно работает и&nbsp;в нем нет ошибок. Для этого в&nbsp;консоли набираем вот такое:</p>
<blockquote><p>indexer video <nobr>&#8211;rotate</p></blockquote>
<p></nobr><br />
Результат будет подобен этому, если с&nbsp;конфигом все хорошо:</p>
<blockquote><p>Sphinx <nobr>0.9.8.1-release</nobr> (r1533)<br />
Copyright © 2001&#8211;2008, Andrew Aksyonoff</p>
<p>using config file ’/etc/sphinx/sphinx.conf’&hellip;<br />
indexing index ’video’&hellip;<br />
collected 4549&nbsp;docs, 0.3&nbsp;MB<br />
sorted 0.1&nbsp;Mhits, 100.0% done<br />
total 4549&nbsp;docs, 308441&nbsp;bytes<br />
total 0.401&nbsp;sec, 768480.12&nbsp;bytes/sec, 11333.82&nbsp;docs/sec<br />
rotating indices: succesfully sent SIGHUP to searchd (pid=31147).</p></blockquote>
<p>Параметр <nobr>&laquo;&#8211;rotate&raquo;</nobr> задан <nobr>всего-лишь</nobr> потому, что демон searchd у&nbsp;меня уже запущен и&nbsp;без него данные невозможно будет обновить, т.к. файлы залочены. Если у&nbsp;вас демон еще не запущен после установки, параметр просто опустите.</p>
<p>Если ошибок нету и&nbsp;индекс создался &#8212; самое время запустить демон, если еще не запущен (/etc/init.d/searchd start) и&nbsp;занести индексацию данных в&nbsp;крон (я поставил обновление индекса раз в&nbsp;30&nbsp;минут):</p>
<blockquote><p>30&nbsp;* * * * /usr/bin/indexer <nobr>&#8211;rotate</nobr> video &gt; /dev/null 2&gt;&amp;1</p></blockquote>
<p>Остается проверить, что поиск работает правильно. Для этого в&nbsp;консоли опять же следует набрать <nobr>что-то</nobr> типа такого:</p>
<blockquote><p>search lol</p></blockquote>
<p>и&nbsp;получим такой результат:</p>
<blockquote><p>Sphinx <nobr>0.9.8.1-release</nobr> (r1533)<br />
Copyright © 2001&#8211;2008, Andrew Aksyonoff</p>
<p>using config file ’/etc/sphinx/sphinx.conf’&hellip;<br />
index ’video’: query ’lol ’: returned 2&nbsp;matches of 2&nbsp;total in 0.000&nbsp;sec</p>
<p>displaying matches:<br />
1. document=1501, weight=1, comments=0, rating=0, date_added=Thu Oct 22&nbsp;12:57:55&nbsp;2009, views=406&nbsp;2. document=2502, weight=1, comments=2, rating=4, date_added=Mon Nov 30&nbsp;11:18:40&nbsp;2009, views=415&nbsp;words:<br />
1. ’lol’: 2&nbsp;documents, 2&nbsp;hits</p></blockquote>
<p>Отлично &#8212; найдено два совпадения, значит поиск работает правильно.</p>
<h2>Sphinx и&nbsp;PHP</h2>
<p>Т.к. поиск работает&nbsp;&#8212; остается теперь запрашивать данные у&nbsp;демона из PHP и&nbsp;выводить результаты. Для этого есть два пути&nbsp;&#8212; использовать PHP API просто делая инклуд его в&nbsp;код или установить расширение из pecl <nobr>(php-pecl-sphinx.x86_64).</nobr></p>
<p>Я&nbsp;решил не тягать за собой код и&nbsp;поставить расширение&nbsp;&#8212; &laquo;взула и&nbsp;забула&raquo;. Как обычно&nbsp;&#8212; yum install <nobr>php-pecl-sphinx.x86_64</nobr> и&nbsp;через пару секунд расширение уже установлено и&nbsp;работает.</p>
<p>Дальше все просто&nbsp;&#8212; читаем мануал отсюда&nbsp;&#8212; <a href="http://php.net/sphinx">http://php.net/sphinx</a> и&nbsp;пишем в&nbsp;нужном месте обращение к&nbsp;демону searchd:</p>
<pre><code class="php">$s = new SphinxClient;
<nobr>$s->setMaxQueryTime(3);</nobr>
<nobr>$s->setSortMode(SPH_SORT_RELEVANCE);</nobr>
<nobr>$s->setMatchMode(SPH_MATCH_ANY);</nobr>
$result = <nobr>$s->query($query);</nobr>
</code></pre>
<p>Код довольно тривиален и&nbsp;призван лишь показать пример элементарного использования. Естественно, сюда можно добавить лимитирование (setLimits) и&nbsp;другие вкусные вещи на ваше усмотрение&nbsp;&#8212; в&nbsp;этом вам поможет документация с&nbsp;указанного выше раздела.</p>
<p><strong>Замечание:</strong> запрос к&nbsp;sphinx возвращает <nobr>всего-лишь</nobr> набор айди (как правило&nbsp;&#8212; primary key) записей в&nbsp;таблице, которые удовлетворяют заданному поиску. Вам нужно будет доставать данные из базы самостоятельно после получения результата от демона (в этом вам поможет запрос SELECT * FROM documents WHERE id IN (3,5,7) ORDER BY FIELD(id,3,5,7), модифицированный под ваши надобности).</p>
<h2>Заключение</h2>
<p>Данный обзор не претендует на полноту и&nbsp;носит лишь ознакомительный характер для демонстрации базовой установки и&nbsp;настройки sphinx для ваших надобностей.</p>
<p>Автор готов оказать помощь (в пределах своих знаний) в&nbsp;комментариях для тех, кто столкнулся с&nbsp;<nobr>какими-либо</nobr> проблемами при установке и&nbsp;настройке Sphinx.</p>
<p>Личное мнение автора&nbsp;&#8212; движок очень легкий, приятный в&nbsp;использовании и&nbsp;не требует долгих танцев с&nbsp;бубном над собой для приведения &laquo;в чувство&raquo;. </p>
<p><nobr>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</nobr></p>
<p>P.&nbsp;S.&nbsp;Совсем недавно открылся сайт <a href="http://freelance-school.ru/">школы фриланса</a>, к&nbsp;созданию сайта которой я&nbsp;приложил свою руку. Проект работает на базе маленькой CMS системки, которую я&nbsp;создал с&nbsp;помощью Zend Framework. </p>
<p>P.&nbsp;P.&nbsp;S. <a href="http://freelancehack.ru/blog/2010/02/shkola-frilansa-stenka-na-stenku/">Написал анонс</a> нового проекта школы фриланса&nbsp;&#8212; &laquo;стенка на стенку&raquo; на <a href="http://freelancehack.ru">freelancehack.ru</a>. Знаю, меня читают фрилансеры, возможно заинтересует.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=XVm82ytOYfA:Iy2xP3d-UgI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=XVm82ytOYfA:Iy2xP3d-UgI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=XVm82ytOYfA:Iy2xP3d-UgI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=XVm82ytOYfA:Iy2xP3d-UgI:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=XVm82ytOYfA:Iy2xP3d-UgI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=XVm82ytOYfA:Iy2xP3d-UgI:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/XVm82ytOYfA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2010/02/sphinx-chto-eto-takoe-i-s-chem-ego-edyat/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2010/02/sphinx-chto-eto-takoe-i-s-chem-ego-edyat/</feedburner:origLink></item>
		<item>
		<title>Поиск на сайте - Sphinx</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/9PTHrQJoxO4/</link>
		<comments>http://malkin.com.ua/2010/02/poisk-na-sajte-sphinx/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:37:12 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[HTML]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[мои проекты]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=417</guid>
		<description><![CDATA[Захотелось сделать хороший поиск на проекте, над которым я работаю. Быстрый и гибкий.
Писать велосипеды не желалось, поэтому решил посмотреть в сторону Sphinx, как быстрого движка с открытыми исходниками.
Удалось привинтить к проекту, постараюсь написать в следующей заметке детальнее с чем его едят и «нахуано самбреро».
А вы уже использовали ?
]]></description>
			<content:encoded><![CDATA[<p>Захотелось сделать хороший поиск на проекте, над которым я работаю. Быстрый и гибкий.</p>
<p>Писать велосипеды не желалось, поэтому решил посмотреть в сторону <a title="sphinx" href="http://www.sphinxsearch.com/" target="_blank">Sphinx</a>, как быстрого движка с открытыми исходниками.</p>
<p>Удалось привинтить к проекту, постараюсь написать в следующей заметке детальнее с чем его едят и «нахуано самбреро».</p>
<p>А вы уже использовали ?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9PTHrQJoxO4:UGRsthqdyXo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9PTHrQJoxO4:UGRsthqdyXo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9PTHrQJoxO4:UGRsthqdyXo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9PTHrQJoxO4:UGRsthqdyXo:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9PTHrQJoxO4:UGRsthqdyXo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9PTHrQJoxO4:UGRsthqdyXo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/9PTHrQJoxO4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2010/02/poisk-na-sajte-sphinx/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2010/02/poisk-na-sajte-sphinx/</feedburner:origLink></item>
		<item>
		<title>jQuery, $.getJson, $.ajax и все, все, все…</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/9jcpm-AELa4/</link>
		<comments>http://malkin.com.ua/2010/01/jquery-getjson-ajax-i-vse-vse-vse/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 13:37:44 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Web2.0]]></category>

		<category><![CDATA[Вэб]]></category>

		<category><![CDATA[мои работы]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=415</guid>
		<description><![CDATA[До этого я работал только с Prototype, особо jQuery не пользовался, хотя и использовал пару вполне успешно.
В проекте, в котором я сейчас работаю, все построено на Zend Framework + JQuery. Соответственно приходиться сталкиваться теперь довольно часто с jQuery.
Вчера мне понадобилась там одна фишка: нужно было получить данные через Ajax запрос и дальше сделать с ними некоторые манипуляции (обрезание строки и т.д, не суть важно) и вывести [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.avlog-host.com/wpavlog/imagenes/jquery-logo.png" alt="jQuery" width="200" height="200" align="left" />До этого я работал только с <strong>Prototype</strong>, особо <strong>jQuery</strong> не пользовался, хотя и использовал пару вполне успешно.</p>
<p>В проекте, в котором я сейчас работаю, все построено на <strong>Zend Framework</strong> + <strong>JQuery</strong>. Соответственно приходиться сталкиваться теперь довольно часто с <strong>jQuery</strong>.</p>
<p>Вчера мне понадобилась там одна фишка: нужно было получить данные через Ajax запрос и дальше сделать с ними некоторые манипуляции (обрезание строки и т.д, не суть важно) и вывести клиенту.</p>
<p>Недолго думая, была сделана такая конструкция:</p>
<pre><code class="javascript">
$.getJSON(’&lt;?=$this-&gt;newsLetterUrl(’content-start’)?&gt;/’,
 { load_eds_data: 1, idpage: $(’#eds_ref-key’).val(), ajax: ’true’},
 function(data) {
 subTitle = ’Dates: ’+data.date_text + ’ Venue: ’ + data.xvenue;
 });

</code></pre>
<p>Удивление наступило позже, когда я понял, что переменная subTitle не видна после этого и не доступна.</p>
<p>Полез в гугл, начал искать, что ж это за фигня получается, что нельзя в переменную записать данные после ajax запроса.</p>
<p>Оказалось, что проблема … в асинхронности запроса $.getJson и для того, чтобы получить нужное мне, конструкцию надо заменить на такую:</p>
<pre><code class="javascript">
$.ajax({
 async: false,
 data: { load_eds_data: 1, idpage: $(’#eds_ref-key’).val(), ajax: ’true’},
 dataType : «json»,
 url: ’newsLetterUrl(’content-start’)?&gt;/’,
 success: function(data) {
 subTitle = ’Dates: ’+data.date_text + ’ Venue: ’ + data.xvenue;
 }
});

</code></pre>
<p>указав таким образом, что нам нужен неасинхронный запрос. Теперь переменная subTitle видна поза данной конструкцией! И ее можно использовать дальше, как угодно.</p>
<p>Самое интересное, что в prototype таких проблем у меня вообще не возникало. Видимо связано с особенностями реализации библиотеки.</p>
<p>Возможно кому-то пригодится, когда столкнетесь с подобной задачей.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9jcpm-AELa4:DP_4_kAgH9U:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9jcpm-AELa4:DP_4_kAgH9U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9jcpm-AELa4:DP_4_kAgH9U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9jcpm-AELa4:DP_4_kAgH9U:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=9jcpm-AELa4:DP_4_kAgH9U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=9jcpm-AELa4:DP_4_kAgH9U:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/9jcpm-AELa4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2010/01/jquery-getjson-ajax-i-vse-vse-vse/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2010/01/jquery-getjson-ajax-i-vse-vse-vse/</feedburner:origLink></item>
		<item>
		<title>Немного о социальных сетях</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/ugJ_PI3krWE/</link>
		<comments>http://malkin.com.ua/2010/01/nemnogo-o-socialnyx-setyax/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 21:18:08 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[Без категории]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=414</guid>
		<description><![CDATA[Сначала хочу поздравить всех с Новым Годом! Надеюсь вы хорошо отдохнули? Я — да.
Сегодня выдалось свободное время, решил немного написать сюда.
Итак, социальные сети. Я считаю, что социальных сетей уже чуть более, чем дохуя слишком много на сегодняшний день и поезд создания социальных сетей ушел еще в 2005–2006 году, все социалки, которые были созданы позднее или создаются еще сегодня — чаще всего не [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Сначала хочу поздравить всех с Новым Годом! Надеюсь вы хорошо отдохнули? Я — да.</strong></p>
<p>Сегодня выдалось свободное время, решил немного написать сюда.</p>
<p>Итак, социальные сети. Я считаю, что социальных сетей уже <del datetime="2010-01-02T20:51:39+00:00">чуть более, чем дохуя</del> слишком много на сегодняшний день и поезд создания социальных сетей ушел еще в 2005–2006 году, все социалки, которые были созданы позднее или создаются еще сегодня — чаще всего не имеют будущего. Максимум — стать лидером своего региона.</p>
<p>К примеру, социальная сеть «Коннект» (connect.ua) — была запущена в 2007 году, с опозданием, когда украинская часть аудитории уже использовала во всю vkontakte.ru и, фактически, рынок уже был забит. Однако ребята всеравно запустили проект, хотя лично я, еще тогда, говорил Сергею (Коркину), что конкурировать с существующими сетями будет почти бесполезно.</p>
<p>Сегодня первые дни 2010 года, проекту (коннекту) стукнуло недавно 2 года со времени запуска. Проект до сих пор не набрал еще миллиона аккаунтов, хотя и вышел на самоокупаемость. Каким образом? Довольно простым — превратили социальную сеть в сайт знакомств, аналогично мамба.ру и подобным — с подарочками, отметками фотографий и прочего. Ребята поняли, что будущего нет в социальной сети и пользователям она просто даже не нужна. Уже сейчас там трудно кого-то найти (впрочем и ранее так было), т.к. пользователей, которые имеют там реальные имя, фамилию и фотографию — очень мало. Большинство анкет закрыто, имена и фамилии изменены на произвольные логины и т.д.</p>
<p>Однако радует, что руководители проекта вовремя поняли, что социальная сеть — путь в никуда и нужно менять направление проекта.</p>
<p>Одно время я следил за статистикой проекта: она доросла до 40К уников и миллиона хитов в день и ..встала на месте. Где-то полгода ничего не менялось, до тех пор, пока не было введено понятие «валюты» внутри проекта, которую можно было получить за разного рода активность на проекте: голосования, посещения и т.д. Подросло количество хитов. А вот уники так и не растут, до сих пор.</p>
<p>Если посмотреть сюда — <a href="http://top.bigmir.net/report/16789479/">http://top.bigmir.net/report/16789479/</a>, то станет еще понятнее: сайт зарегистрирован в разделе «Знакомства».</p>
<p>Проект перепрофилировался — стал сайтом знакомств. Последнее обновление (точнее открытие подпроекта «Лента») должно очертить еще более четко миссию проекта — в ленту будут вынесены фотографии, видео, музыка, таким образом сам коннект останется набором анкет, подарочков, оценок аватар, ну и личной переписки (куда же без нее в сайтах знакомств). Причина довольно банальна, достаточно почитать <a href="http://korkin.com/connect/%d0%ba%d0%be%d1%80%d0%ba%d0%b8%d0%bd-%d1%81%d0%b5%d1%80%d0%b3%d0%b5%d0%b9-%d0%bb%d0%b5%d0%bd%d1%82%d0%b0-%e2%80%93-%d0%b8%d0%bd%d1%81%d1%82%d1%80%d1%83%d0%bc%d0%b5%d0%bd%d1%82-%d1%81%d0%b0%d0%bc/">интервью Сергея</a>:</p>
<blockquote><p>Разделами фото, видео, аудио, сообщества пользуются не более 10–15% пользователей. Мы планируем заменить их на те, которые понравятся большинству нашей аудитории. В данном случае разделы только мешают — распыляют внимание пользователей, усложняют техническую поддержку, размывают позиционирование.</p></blockquote>
<p>Таким образом — большинство использует сайт только для знакомств и ничего кроме.</p>
<p>А ты,  <strong>%username%</strong>, тоже хочешь потерять кучу времени и создать очередную никому не нужную социальную сеть? Или может задумаешься и сделаешь что-то более полезное?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=ugJ_PI3krWE:eTWT7dislq4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=ugJ_PI3krWE:eTWT7dislq4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=ugJ_PI3krWE:eTWT7dislq4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=ugJ_PI3krWE:eTWT7dislq4:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=ugJ_PI3krWE:eTWT7dislq4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=ugJ_PI3krWE:eTWT7dislq4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/ugJ_PI3krWE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2010/01/nemnogo-o-socialnyx-setyax/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2010/01/nemnogo-o-socialnyx-setyax/</feedburner:origLink></item>
		<item>
		<title>Какой фреймворк вы используете?</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/4N5v6nNOAKk/</link>
		<comments>http://malkin.com.ua/2009/12/which-framework-are-you-using/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 11:24:54 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Вэб]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=413</guid>
		<description><![CDATA[Вопрос, конечно&#160;же, к&#160;программистам.
У&#160;каждого языка для веб-разработок есть свой фреймворк или даже несколько. Каким пользуетесь вы и&#160;почему?
Скажу за себя&#160;&#8212; для всех более-менее увесистых проектов (больше хоумпага) я&#160;использую Zend Framework, впрочем использую его уже давненько, первым проектом на нем был&#160;&#8212; http://prometr.ua , сделанный в&#160;командной работе (хотя откровенно говоря я&#160;принял в&#160;нем довольно малое участие, но все&#160;же).
С&#160;тех пор мне [...]]]></description>
			<content:encoded><![CDATA[<p>Вопрос, конечно&nbsp;же, к&nbsp;программистам.</p>
<p>У&nbsp;каждого языка для <nobr>веб-разработок</nobr> есть свой фреймворк или даже несколько. Каким пользуетесь вы и&nbsp;почему?</p>
<p>Скажу за себя&nbsp;&#8212; для всех <nobr>более-менее</nobr> увесистых проектов (больше хоумпага) я&nbsp;использую <strong>Zend Framework</strong>, впрочем использую его уже давненько, первым проектом на нем был&nbsp;&#8212; <a href="http://prometr.ua">http://prometr.ua</a> , сделанный в&nbsp;командной работе (хотя откровенно говоря я&nbsp;принял в&nbsp;нем довольно малое участие, но все&nbsp;же).</p>
<p>С&nbsp;тех пор мне данный фреймворк понравился и&nbsp;я продолжаю работать с&nbsp;ним.</p>
<p><strong>А&nbsp;вы на чем работаете и&nbsp;почему?</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=4N5v6nNOAKk:UVVbtXs38_M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=4N5v6nNOAKk:UVVbtXs38_M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=4N5v6nNOAKk:UVVbtXs38_M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=4N5v6nNOAKk:UVVbtXs38_M:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=4N5v6nNOAKk:UVVbtXs38_M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=4N5v6nNOAKk:UVVbtXs38_M:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/4N5v6nNOAKk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2009/12/which-framework-are-you-using/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2009/12/which-framework-are-you-using/</feedburner:origLink></item>
		<item>
		<title>Видеохостинг своими руками</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/hwMZvCM5Xug/</link>
		<comments>http://malkin.com.ua/2009/12/videoxosting-svoimi-rukami/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 19:39:59 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[HTML]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web2.0]]></category>

		<category><![CDATA[Вэб]]></category>

		<category><![CDATA[мои проекты]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=412</guid>
		<description><![CDATA[Как и&#160;обещал, немного расскажу о&#160;том, как создать свой видеохостинг &#171;с нуля&#187;.
Все, что я&#160;дальше напишу&#160;&#8212; мой личный опыт и&#160;возможно не является доскональным решением вопроса и&#160;есть другие, более оптимальные (возможно даже в&#160;комментариях отметятся люди, которые знают как сделать лучше&#160;&#8212; буду благодарен).
Медиа-контент сегодня довольно популярен, несмотря на то, что на рынке пруд-пруди видеохостингов, есть место для небольших видеохостингов, [...]]]></description>
			<content:encoded><![CDATA[<p>Как и&nbsp;обещал, немного расскажу о&nbsp;том, как создать свой видеохостинг &laquo;с нуля&raquo;.</p>
<p>Все, что я&nbsp;дальше напишу&nbsp;&#8212; мой личный опыт и&nbsp;возможно не является доскональным решением вопроса и&nbsp;есть другие, более оптимальные (возможно даже в&nbsp;комментариях отметятся люди, которые знают как сделать лучше&nbsp;&#8212; буду благодарен).</p>
<p><nobr>Медиа-контент</nobr> сегодня довольно популярен, несмотря на то, что на рынке <nobr>пруд-пруди</nobr> видеохостингов, есть место для небольших видеохостингов, которые могут вполне себе неплохо жить и&nbsp;иметь свою аудиторию.</p>
<p>Вопрос создания <nobr>веб-морды</nobr> я&nbsp;пропущу, т.к. тут ничего сложного нет, нужно лишь продумать интерфейс и&nbsp;выбрать <nobr>флеш-плеер</nobr> для проигрывания видео.</p>
<p>Основная сложность, как на меня, это <strong>закачка</strong>, <strong>обработка</strong> и&nbsp;<strong>отдача</strong> видео.</p>
<h2>Закачка видео</h2>
<p>Основная задача и&nbsp;проблема, как на меня тут следующая: загрузка видео (как впрочем и&nbsp;его отдача) не должна тормозить работу <nobr>веб-морды</nobr> проекта. Следовательно, понадобиться две машины&nbsp;&#8212; одна будет содержать морду проекта, вторая будет отвечать за загрузку видео и&nbsp;его отдачу.</p>
<p>Одну машину называем host.ru, вторую upload.host.ru и&nbsp;используем технологию (звучит пафостно, но это не технология совсем, так, умное название) CDS&nbsp;&#8212; <strong>Cross Domain Scripting</strong> (больше об этом можно узнать в&nbsp;гугле). Это позволит нам с&nbsp;помощью javascript, отправлять запрос на upload.host.ru, а&nbsp;он, в&nbsp;свою очередь, благодаря CDS будет иметь возможность вызывать куски <nobr>JavaScript-кода</nobr> на host.ru, таким образом мы сможем мониторить процесс закачки, не используя для этого flash.</p>
<p>В&nbsp;качестве серверной части, которая будет отдавать информацию о&nbsp;процессе закачки я&nbsp;выбрал расширение&nbsp;&#8212; <a href="http://pecl.php.net/package/uploadprogress">uploadprogress</a> для пхп. Расширение стабильное, а&nbsp;следовательно можно использовать в&nbsp;работе и&nbsp;не переживать о&nbsp;багах. Примеры использования приводить не буду&nbsp;&#8212; думаю пытливый читатель найдет в&nbsp;гугле.</p>
<p>Таким образом все счастливы&nbsp;&#8212; пользователь видит информацию о&nbsp;прогрессе загрузки видео, <nobr>веб-морда</nobr> при этому работает в&nbsp;обычном режиме и&nbsp;не получает нагрузки, вторая машинка успешно загружает себе видео от пользователя напрямую.</p>
<p>Все это я&nbsp;решил использовать для того, чтобы не разносить вебморду проекта на две машины, что неудобно для девелопмента и&nbsp;синхронизации.</p>
<h2>Обработка видео</h2>
<p>При обработке видео стоит вопрос, как правильно обрабатывать видео, чтобы не ужимать его чрезмерно.</p>
<p>Машинка, которая называется upload.host.ru имела на борту у&nbsp;себя операционную систему Debian. На ней с&nbsp;помощью apt&#8217;a было установлено <a href="http://ffmpeg.org/">FFMpeg</a> и&nbsp;<a href="http://www.mplayerhq.hu/DOCS/HTML/en/mencoder.html">Mencoder</a> в&nbsp;качестве конвертеров для обработки видео. </p>
<p>Видео после того, как заливалось пользователем, складывалось в&nbsp;отдельную папку, откуда забиралось скриптом, который раз в&nbsp;минуту проверял список необработанных видео (у обработанных видео добавлялся префикс .processed в&nbsp;названии) и&nbsp;забирал на обработку.</p>
<p>Скрипт был написан на перле, администратором, который помогал мне все это добро настроить. Впоследствии я&nbsp;уже только занимался модификацией данного скрипта (заодно и&nbsp;о перле немного больше узнал).</p>
<p>Основная проблема с&nbsp;обработкой видео состояла в&nbsp;том, чтобы подобрать правильные ключи к&nbsp;конвертеру, которые будут обеспечивать максимально &laquo;правильную обработку&raquo; и&nbsp;перекодировку видео. Под наиболее правильной я&nbsp;понимаю такую, которая не будет увеличивать размер видео в&nbsp;результате перекодировки, будет уменьшать разрешение видео, если оно слишком большое и&nbsp;будет правильно его конвертировать. Т.к. я&nbsp;до этого вообще никакого понимания о&nbsp;видео и&nbsp;его особенностях и&nbsp;форматах толком не имел, для меня это стало основной головной болью, т.к. часто получалось, что либо видео не обрабатывалось, либо увеличивалось в&nbsp;размере, либо глючило (видео не совпадало с&nbsp;аудио), либо тормозило при проигрывании (разрешение при декодировке не было изменено, поэтому так происходило).</p>
<p>Во многих туториалах советую указывать битрейт видео при декодировании. Однако нельзя указывать тупо битрейт, не зная текущий битрейт видео. Например пользователь заливает видео с&nbsp;YouTube, которое имеет битрейт 68К. Тогда нужно сначала определить битрейт видео и&nbsp;только потом принять решение, в&nbsp;какой битрейт его кодировать. Я&nbsp;выбрал такую стратегию при кодировке видео:</p>
<ul>
<li>Если битрейт видео больше 1024К, то видео кодируем в&nbsp;два битрейта&nbsp;&#8212; 128К и&nbsp;1024К (для обладателей разных каналов по скорости интернет)</li>
<li>Если битрейт больше 128K, но меньше 1024K, то кодируем только в&nbsp;128К</li>
<li>Если битрейт ниже 128К, то битрейт не меняем и&nbsp;используем ключи к&nbsp;ffmpeg такие <nobr>&laquo;-sameq</nobr> -vcodec copy&raquo;. Где первый ключ говорит, что при кодировании нужно сохранить тоже качество видео, что и&nbsp;у исходного файла, а&nbsp;второй говорит, что нужно скопировать кодек для кодирования из исходника.</li>
</ul>
<p>Определить текущий битрейт видео можно довольно просто (не забудьте только поставить mplayer в&nbsp;системе), запустив следующую команду в&nbsp;консоли:</p>
<pre><code class="perl">mplayer $wrkfile -identify -vo null -nocache -nolirc -nojoystick
-channels <nobr>6&nbsp;-loop</nobr> <nobr>1&nbsp;-frames</nobr> 1&nbsp;| grep ID_VIDEO_BITRATE</code></pre>
<p>Бывают случаи, когда mplayer не определяет битрейт видео, либо ставит его равным 0, тогда для определения битрейта можно воспользоваться утилитой ffprobe (установить можно через <nobr>apt-get</nobr> install ffprobe). Команда следующая:</p>
<pre><code class="perl">ffprobe -show_files $wrkfile | grep bit_rate</code></pre>
<p>$wrkfile&nbsp;&#8212; полный путь к&nbsp;видеофайлу, информацию о&nbsp;котором мы хотим получить.</p>
<p>Аналогичными командами можно получить и&nbsp;разрешение текущего видео:</p>
<pre><code class="perl">mplayer $wrkfile -identify -vo null -nocache -nolirc -nojoystick
-channels <nobr>6&nbsp;-loop</nobr> <nobr>1&nbsp;-frames</nobr> 1&nbsp;| grep ID_VIDEO_WIDTH

mplayer $wrkfile -identify -vo null -nocache -nolirc -nojoystick
-channels <nobr>6&nbsp;-loop</nobr> <nobr>1&nbsp;-frames</nobr> 1&nbsp;| grep ID_VIDEO_HEIGHT</code></pre>
<p>по которым можно принять решение, нужно&nbsp;ли менять разрешение видео. Я&nbsp;для себя решил, что видео буду конвертировать с&nbsp;разрешением 640&nbsp;на 480, если закачанное видео больше этого разрешения.</p>
<p>После получения исходных данных о&nbsp;видео&nbsp;&#8212; можно его кодировать, указав правильные ключи для тех вещей, которые мы меняем. Вы можете о&nbsp;ключах узнать в&nbsp;руководстве к&nbsp;конвертерам, либо я&nbsp;более подробно опишу процесс конвертации в&nbsp;последующих заметках на эту тему, если будет нужно (или если попросят раскрыть тему полнее).</p>
<p>Все, теперь остается сгенерировать <nobr>превьюшку-картинку</nobr> для видео. Для этого можно использовать следующую команду из консоли:</p>
<pre><code class="perl">ffmpeg -ss $seconds -i $outfile -vcodec mjpeg -vframes <nobr>1&nbsp;-an</nobr>
-f rawvideo -s $thumb_size preview.jpg</code></pre>
<p>Данная команда сгенерирует картинку в&nbsp;формате jpeg для указанной секунды ($seconds) обработанного видео ($outfile) указанного размера ($thumb_size&nbsp;&#8212; в&nbsp;формате 160&#215;120). Таким образом можно сделать несколько <nobr>картинок-превьюшек</nobr> для видео и&nbsp;сделать <nobr>что-то</nobr> по типу &laquo;карусели&raquo; при наведении пользователем мыши на изображение, показав ему, о&nbsp;чем видео с&nbsp;помощью картинок.</p>
<p>На этом обработка видео завершена, данные можно записывать в&nbsp;базу с&nbsp;флагом, что видео обработалось.</p>
<h2>Отдача видео</h2>
<p>С&nbsp;этим вопросом я&nbsp;тоже не стыкался до этого в&nbsp;целом. Решено было отдавать видео пользователям посредством Nginx, как <nobr>веб-сервера.</nobr> Он позволяет ограничить скорость потока отдачи (мы поставили отдачу в&nbsp;2М, как лимит), кроме того более оптимально работает, чем апач для этих целей. Более подробно о&nbsp;Nginx можно узнать опять&nbsp;же, в&nbsp;гугле. </p>
<p>Настроив домашнюю директорию, куда складируются обработанные видео, теперь можно отдавать видеофайлы в&nbsp;наш выбранный <nobr>флеш-плеер.</nobr> </p>
<p>Отдельным вопросом стоит вопрос <nobr>псевдо-стриминга,</nobr> технологии (если ее так можно назвать), которая позволяет пользователю смотреть видео с&nbsp;любого момента, не дожидаясь загрузки файла до этого фрагмента. Например сразу перескочить в&nbsp;конец файла и&nbsp;посмотреть его, не загружая целиком. Очень удобно.</p>
<p>Для решения этой задачи, опять&nbsp;же, использовался Nginx, т.к. он уже содержит готовый модуль для этих целей&nbsp;&#8212; <a href="http://sysoev.ru/nginx/docs/http/ngx_http_flv_module.html">http://sysoev.ru/nginx/docs/http/ngx_http_flv_module.html</a> (при условии, что мы отдаем конент в&nbsp;формате flv. Но можно отдавать и&nbsp;в mp4, плагин для псевдостриминга для mp4&nbsp;для nginx тоже есть&nbsp;&#8212; <a href="http://sysoev.ru/nginx/docs/http/ngx_http_flv_module.html">http://wiki.nginx.org/NginxMP4StreamingLite</a> (вполне возможно есть и&nbsp;другие решения)</p>
<p><nobr>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</nobr></p>
<p>На этом все или пока что все. Или почти все. Т.к. это только очень краткое описание того, что нужно сделать, чтобы поднять свой видеохостинг. В&nbsp;следующий раз постараюсь описать каждый из этапов <nobr>по-подробнее,</nobr> возможно <nobr>кому-то</nobr> пригодиться в&nbsp;будущем.</p>
<p>Если есть вопросы&nbsp;&#8212; пишите, постараюсь ответить, если буду знать ответ и&nbsp;будет время. </p>
<p><strong>P.S.</strong> Про HTML5&nbsp;и Theora можете не спрашивать, активно слежу за развитием в&nbsp;данной области, надеюсь, что скоро вообще не нужно будет использовать сторонние <nobr>флеш-плееры</nobr> и&nbsp;видео будет нужно конвертировать только в&nbsp;.ogv. Но пока, на сегодняшний день, технология еще сыровата, есть много проблем с&nbsp;ней, поэтому надеюсь, что скоро все поменяется в&nbsp;лучшую сторону, т.к. предпосылки к&nbsp;этому есть&nbsp;&#8212; Firefox уже поддерживает возможность проигрывание видео в&nbsp;HTML5, есть возможность переключения в&nbsp;полноэкранный режим и&nbsp;т.д. Но еще много чего нету. Жду.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=hwMZvCM5Xug:YRo8bMRfm2g:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=hwMZvCM5Xug:YRo8bMRfm2g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=hwMZvCM5Xug:YRo8bMRfm2g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=hwMZvCM5Xug:YRo8bMRfm2g:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=hwMZvCM5Xug:YRo8bMRfm2g:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=hwMZvCM5Xug:YRo8bMRfm2g:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/hwMZvCM5Xug" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2009/12/videoxosting-svoimi-rukami/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2009/12/videoxosting-svoimi-rukami/</feedburner:origLink></item>
		<item>
		<title>Решил, чем вас порадую</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/FPzviJEe068/</link>
		<comments>http://malkin.com.ua/2009/12/reshil-chem-vas-poraduyu/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 21:55:02 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web2.0]]></category>

		<category><![CDATA[Анонс]]></category>

		<category><![CDATA[мои работы]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/2009/12/reshil-chem-vas-poraduyu/</guid>
		<description><![CDATA[Некоторое время назад мне понадобилось создать собственный видеохостинг для пользователей проекта.
Пришлось во многих вещах поразбираться, в&#160;том числе с&#160;перекодировкой видео, импортами для Яндекс.Видео и&#160;Гугл.Видео и&#160;т.д.
На днях постараюсь написать, что из этого вышло и&#160;как вы можете сделать себе аналогичный проект (что понадобиться, как правильно настроить и&#160;т.д.).
Возможно у&#160;кого-то будут более конкретные пожелания и&#160;вопросы &#8212; пишите, постараюсь высветить вопрос, если [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторое время назад мне понадобилось создать собственный видеохостинг для пользователей проекта.</p>
<p>Пришлось во многих вещах поразбираться, в&nbsp;том числе с&nbsp;перекодировкой видео, импортами для Яндекс.Видео и&nbsp;Гугл.Видео и&nbsp;т.д.</p>
<p>На днях постараюсь написать, что из этого вышло и&nbsp;как вы можете сделать себе аналогичный проект (что понадобиться, как правильно настроить и&nbsp;т.д.).</p>
<p>Возможно у&nbsp;<nobr>кого-то</nobr> будут более конкретные пожелания и&nbsp;вопросы &#8212; пишите, постараюсь высветить вопрос, если пришлось столкнуться.</p>
<p>Итак, следующая заметка будет на тему создания своего видеохостинга &laquo;с нуля&raquo;. Следите за обновлениями.</p>
<p><strong>P. S.</strong> Написал новую заметку про ODesk на фрилансхаке &#8212; <nobr><a title="http://freelancehack.ru/blog/2009/12/odesk-4/" href="http://freelancehack.ru/blog/2009/12/odesk-4/" target="_blank">http://freelancehack.ru/blog/2009/12/odesk-4/</a></nobr> , возможно <nobr>кому-то</nobr> будет интересно.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=FPzviJEe068:fQbaaWwJ-FU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=FPzviJEe068:fQbaaWwJ-FU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=FPzviJEe068:fQbaaWwJ-FU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=FPzviJEe068:fQbaaWwJ-FU:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=FPzviJEe068:fQbaaWwJ-FU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=FPzviJEe068:fQbaaWwJ-FU:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/FPzviJEe068" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2009/12/reshil-chem-vas-poraduyu/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2009/12/reshil-chem-vas-poraduyu/</feedburner:origLink></item>
		<item>
		<title>Ближайшие планы</title>
		<link>http://feedproxy.google.com/~r/anycolor/~3/zgYKIHznoVY/</link>
		<comments>http://malkin.com.ua/2009/11/blizhajshie-plany/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 14:11:45 +0000</pubDate>
		<dc:creator>Станислав Малкин</dc:creator>
		
		<category><![CDATA[О разном]]></category>

		<category><![CDATA[бизнес]]></category>

		<category><![CDATA[блог]]></category>

		<category><![CDATA[мои проекты]]></category>

		<guid isPermaLink="false">http://malkin.com.ua/?p=407</guid>
		<description><![CDATA[
25 ноября выступаю на форуме фрилансеров с докладом на тему «Сложные ситуации с заказчиками»
Заканчиваю допиливание своего проекта и приступлю к поиску инвестора для проекта, т.к. проект доказал свою жизнеспособность и интерес аудитории (порядка 1 500 уникальных пользователей ежедневно посещают ресурс). Своих денежных ресурсов уже не хватает для развития проекта, нужна динамика поступательного развития. Скоро напишу анонс — проект довольно амбициозный, но как всегда, только [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>25 ноября <a title="форум фрилансеров" href="http://freelancehack.ru/blog/2009/11/forum-frilanserov-tools-for-freedom/" target="_blank">выступаю на форуме фрилансеров</a> с докладом на тему «Сложные ситуации с заказчиками»</li>
<li>Заканчиваю допиливание своего проекта и приступлю к поиску инвестора для проекта, т.к. проект доказал свою жизнеспособность и интерес аудитории (порядка 1 500 уникальных пользователей ежедневно посещают ресурс). Своих денежных ресурсов уже не хватает для развития проекта, нужна динамика поступательного развития. Скоро напишу анонс — проект довольно амбициозный, но как всегда, только жизнь покажет его судьбу. Проект — не стартап в классическом понимании</li>
<li>Хочу продолжить писать в блог, правда пока не ясно, как это будет сочетаться с управлением проектом, о котором я написал выше и свободным временем для написания статей. Но буду стараться. Хочу снова оживить свой блог полезными материалами</li>
<li>Планирую попробовать организовывать мелкие встречи с читателями блога, чтобы быть ближе к друг другу и обмениваться полезной информацией</li>
</ol>
<p>Об этом и многом другом, подробнее, читайте в скором времени на страницах моего блога.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=zgYKIHznoVY:YaDe11KjSlg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/anycolor?i=zgYKIHznoVY:YaDe11KjSlg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/anycolor?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/anycolor?i=zgYKIHznoVY:YaDe11KjSlg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/anycolor?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/anycolor?i=zgYKIHznoVY:YaDe11KjSlg:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/anycolor?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/anycolor?a=zgYKIHznoVY:YaDe11KjSlg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/anycolor?i=zgYKIHznoVY:YaDe11KjSlg:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/anycolor/~4/zgYKIHznoVY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://malkin.com.ua/2009/11/blizhajshie-plany/feed/</wfw:commentRss>
		<feedburner:origLink>http://malkin.com.ua/2009/11/blizhajshie-plany/</feedburner:origLink></item>
	</channel>
</rss>
