<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Silveira Neto &#187; cli</title>
	<atom:link href="http://silveiraneto.net/tag/cli/feed/" rel="self" type="application/rss+xml" />
	<link>http://silveiraneto.net</link>
	<description>the world is a pixel</description>
	<lastBuildDate>Sun, 08 Jan 2012 05:17:57 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Congelando e Ressuscitando Processos</title>
		<link>http://silveiraneto.net/2009/11/14/congelando-e-resucitando-processos/</link>
		<comments>http://silveiraneto.net/2009/11/14/congelando-e-resucitando-processos/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 06:21:14 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[português]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[batman]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mr freeze]]></category>
		<category><![CDATA[pidof]]></category>
		<category><![CDATA[posix]]></category>
		<category><![CDATA[SH]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=2935</guid>
		<description><![CDATA[Nem só de morte vive o kill. Suponha que você tem um processo chamado program e quer congelar seu funcionamento. Para congela-lo sem mata-lo você pode mandar um sinal SIGSTOP com: kill -s stop `pidof program` Para ressuscitar o mesmo processo: kill -s cont `pidof program`]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-2936 aligncenter" title="batman mr freeze" src="http://silveiraneto.net/wp-content/uploads/2009/11/batman_mr_freeze.jpg" alt="batman mr freeze" width="374" height="253" /></p>
<p>Nem só de morte vive o kill.</p>
<p>Suponha que você tem um processo chamado <em>program</em> e quer congelar seu funcionamento. Para congela-lo sem mata-lo você pode mandar um sinal SIGSTOP com:</p>
<blockquote><p><span style="color: #000000;"><span style="color: #0163b3;"> </span>kill -s stop `pidof program`</span></p>
</blockquote>
<p><span style="color: #000000;">Para </span>ressuscitar o mesmo processo:</p>
<blockquote><p><span style="color: #000000;">kill -s cont `pidof program`</span></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2009/11/14/congelando-e-resucitando-processos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OGG com qualidade</title>
		<link>http://silveiraneto.net/2009/03/07/ogg-com-qualidade/</link>
		<comments>http://silveiraneto.net/2009/03/07/ogg-com-qualidade/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 16:36:06 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[português]]></category>
		<category><![CDATA[câmera]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[multimídia]]></category>
		<category><![CDATA[ogg]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=2376</guid>
		<description><![CDATA[Para o controle de qualidade quando encondando vídeos com o FFmpeg use o parâmetro -qscale seguido de um número. Os número podem ir de 1 (melhor qualidade) até 31 (pior qualidade), sendo que 13 já é uma qualidade bem ruim. Convertendo pro exemplo um vídeo chamado exemplo.flv para um arquivo ogg com a melhor qualidade [...]]]></description>
			<content:encoded><![CDATA[<p>Para o controle de qualidade quando encondando vídeos com o <a href="http://www.ffmpeg.org/">FFmpeg</a> use o parâmetro <strong>-qscale</strong> seguido de um número. Os número podem ir de 1 (melhor qualidade) até 31 (pior qualidade), sendo que 13 já é uma qualidade bem ruim.</p>
<p>Convertendo pro exemplo um vídeo chamado exemplo.flv para um arquivo ogg com a melhor qualidade seria:</p>
<blockquote><p>ffmpeg -i exemplo.flv -qscale 1 saida.ogg</p></blockquote>
<p>Sem usar esse parâmetro os arquivos encodados em OGG ficam com uma qualidade mediana. Uma opção bem útil é usar a mesma qualidade do arquivo de entrada, já que não é possível melhorar a qualidade do vídeo mesmo. Para isso existe o parâmetro <strong>-sameq</strong>. No exemplo anterior bastaria:</p>
<blockquote><p>ffmpeg -i exemplo.flv -sameq saida.ogg</p></blockquote>
<p>Com isso eu tenho reduzido os vídeos da <a href="http://silveiraneto.net/2009/02/21/camera-nova-e-fazendo-ela-trabalhar-bem-com-o-cinelerra/">minha câmera</a> para arquivos que só ocupam cerca de 1/5 do tamanho original e ainda assim mantém a mesma qualidade.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2009/03/07/ogg-com-qualidade/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Example of Unix commands implemented in Java</title>
		<link>http://silveiraneto.net/2008/10/07/example-of-unix-commands-implemented-in-java/</link>
		<comments>http://silveiraneto.net/2008/10/07/example-of-unix-commands-implemented-in-java/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 23:42:31 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[cd]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[ls]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[pwd]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=1364</guid>
		<description><![CDATA[I created some illustrative and simple implementations of common Unix commands. For those who are familiar with Unix-like systems them make easier to understand Java. For those who are familiar with Java them make easier to understand Unix-like systems. :-) 1. PWD The first one is pwd that show the current working directory. public class [...]]]></description>
			<content:encoded><![CDATA[<p>I created some illustrative and simple implementations of common Unix commands. For those who are familiar with Unix-like systems them make easier to understand Java. For those who are familiar with Java them make easier to understand Unix-like systems. :-)</p>
<p><strong>1. PWD</strong></p>
<p><strong></strong></p>
<p>The first one is <a title="Wikipedia, english" href="http://en.wikipedia.org/wiki/Pwd">pwd</a> that show the current working directory.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Jpwd <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">String</span> pwd <span style="color: #339933;">=</span> <span style="color: #003399;">System</span>.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;user.dir&quot;</span><span style="color: #009900;">&#41;</span>;
        <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>pwd<span style="color: #009900;">&#41;</span>;
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>Running this at /home/silveira directory gives us as output:</p>
<blockquote><p>$ java Jpwd</p>
<p>/home/silveira</p></blockquote>
<p><strong>1. CAT</strong></p>
<p>The command <a title="Wikipedia, english" href="http://en.wikipedia.org/wiki/Cat_(Unix)">cat</a> is usually utilized for displaying files.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.FileNotFoundException</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.FileReader</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Jcat <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>args.<span style="color: #006633;">length</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">FileReader</span> fileReader <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">FileReader</span><span style="color: #009900;">&#40;</span>args<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
                <span style="color: #003399;">BufferedReader</span> in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span>fileReader<span style="color: #009900;">&#41;</span>;
                <span style="color: #003399;">String</span> line;
                <span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>line <span style="color: #339933;">=</span> in.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span>;
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">FileNotFoundException</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>args<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;, file not found.&quot;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #009900;">&#125;</span>
            <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ex<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>args<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;, input/output error.&quot;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<blockquote><p>$ java Jcat /etc/timezone</p>
<p>America/Fortaleza</p></blockquote>
<p><strong>3. LS</strong></p>
<p><strong></strong></p>
<p>The command ls is to list files. The File API (<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html">java.io.File</a>) is very flexible and portable, but in this example I want just list files and directories of the current directory.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.File</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Jls <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #003399;">File</span> dir <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">File</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">System</span>.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;user.dir&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
        <span style="color: #003399;">String</span> childs<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> dir.<span style="color: #006633;">list</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
        <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> child<span style="color: #339933;">:</span> childs<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>child<span style="color: #009900;">&#41;</span>;
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>Usage:</p>
<blockquote><p>$ java Jpwd</p>
<p>/home/silveira/example</p>
<p>$ java Jls</p>
<p>directoryA</p>
<p>fileA</p>
<p>.somefile</p></blockquote>
<p><del datetime="2008-10-09T15:50:53+00:00"><strong>4. CD</strong></p>
<p>The <a href="http://en.wikipedia.org/wiki/Cd_(command)">cd</a> command changes the current working directory.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.File</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Jcd <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>args.<span style="color: #006633;">length</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #003399;">File</span> dir <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">File</span><span style="color: #009900;">&#40;</span>args<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>dir.<span style="color: #006633;">isDirectory</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">System</span>.<span style="color: #006633;">setProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;user.dir&quot;</span>, dir.<span style="color: #006633;">getAbsolutePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>args<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;is not a directory.&quot;</span><span style="color: #009900;">&#41;</span>;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>Usage:</p>
<blockquote><p>$ java Jpwd<br />
/home/silveira<br />
$ java Jcd /tmp<br />
$ java Jpwd<br />
/tmp</p></blockquote>
<p></del></p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/10/07/example-of-unix-commands-implemented-in-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Câmera Microdia no Ubuntu 8.04</title>
		<link>http://silveiraneto.net/2008/05/20/camera-microdia-no-ubuntu-804/</link>
		<comments>http://silveiraneto.net/2008/05/20/camera-microdia-no-ubuntu-804/#comments</comments>
		<pubDate>Wed, 21 May 2008 01:28:00 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[português]]></category>
		<category><![CDATA[2.6.24-16-generic]]></category>
		<category><![CDATA[Amazon PC FL 31]]></category>
		<category><![CDATA[Camorama]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[dmesg]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Indra Gunawan]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[módulo]]></category>
		<category><![CDATA[Microdia]]></category>
		<category><![CDATA[microdia.ko]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu 8.04]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=901</guid>
		<description><![CDATA[Eu já havia postando anteriormente como fazer funcionar câmeras Microdia usando um driver proprietário e cheio de restrições. Boas novas. Agora desenvolvedores se uniram para construir um driver livre para essa série de câmeras e o driver livre já está bem melhor que o proprietário! Antes de mais nada, nesse post eu estou usando o [...]]]></description>
			<content:encoded><![CDATA[<p>Eu já <a title="Câmera Microdia" href="http://silveiraneto.net/2008/01/08/notebook-amazon-pc-fl-31/">havia postando anteriormente</a> como fazer funcionar câmeras Microdia usando um driver proprietário e cheio de restrições. Boas novas. Agora <a title="Google Groups" href="http://groups.google.com/group/microdia">desenvolvedores se uniram</a> para construir um driver livre para essa série de câmeras e o driver livre já está bem melhor que o proprietário!</p>
<p style="text-align: center;"><img src="/wp-content/uploads/2008/01/camera_integrada.JPG" alt="Câmera integrada" width="450" height="338" /></p>
<p>Antes de mais nada, nesse post eu estou usando o <a title="Ubuntu" href="http://www.ubuntu.org">Ubuntu 8.04</a>, seguindo de perto os passos do blog de <a title="Blog do Indra" href="http://www.indragunawan.com/2008/04/microdia-webcam-ubuntu-710-gutsy/">Indra Gunawan</a>, um notebook <a title="Amazon PC FL 31" href="http://silveiraneto.net/2008/01/08/notebook-amazon-pc-fl-31/">Amazon PC FL 31</a>, a minha câmera é essa da foto acima e ela é lista em um <em>lsusb</em> como:</p>
<blockquote><p>Bus 005 Device 002: ID 0c45:624f Microdia</p></blockquote>
<p>Os números <em>0c45:</em> já indicam que essa é uma câmera Microdia. No momento em que eu escrevo, o driver livre suporta as câmeras Microdias 6242, 624e, 624f, 6270, 627b, 62bb, 145f:013d e 045e:00f4. Para uma lista mais atualizada dê uma olhada no <a title="Driver Livre Microdia" href="http://groups.google.com/group/microdia/">site oficial do driver livre</a>.</p>
<p>Então o primeiro passo é você abrir um terminal e dar um <em>lsusb</em> e observar a saída. Outra coisa importante para você saber é a versão do seu Kernel. Dê um <em>uname -a</em> no terminal e observe a saída. Essa é a minha:</p>
<blockquote><p>2.6.24-16-generic</p></blockquote>
<p>Se essa não é sua versão do Kernel, não há alarde, é possível que também funcione com você, mesmo se com outra versão do Kernel ou mesmo outro sabor de Linux.</p>
<p>Vamos precisar de alguns pacotes adicionais, use o seu gerenciador de pacotes (no meu caso o <em>APT</em>) para instalar alguns pacotes que vamos precisar. A partir daqui você precisará estar logado como root.</p>
<blockquote><p><code>apt-get install git-core gitk git-gui git-doc curl </code><code>ctags build-essential<br />
</code></p></blockquote>
<p>Se você também quiser compilar a documentação do driver, adicione o doxygen à lista. Agora baixamos a última versão do driver usando o <em>git</em>. De preferencia execute esse comando no seu diretório <em>home</em>, pois ele vai criar um diretório microdia que você pode querer preservar.</p>
<blockquote><p><code>git clone http://repo.or.cz/r/microdia.git</code></p></blockquote>
<p>Se você não recebeu nenhuam mensagem de erro e todo o código-fonte foi baixado, entre no diretório microdia e simplesmente digite:</p>
<blockquote><p>make</p></blockquote>
<p>Se tudo deu certo o código-fonte será compilado e você encontrará entre outras coisas um arquivo <strong>microdia.ko</strong>. Se você teve algum erro, provavelmente foi por algum pacote que você não tinha, baixe esse pacote tente compilar novamente.</p>
<p>Vamos carregar o módulo, como root:</p>
<blockquote><p><code>modprobe videodev<br />
insmod microdia.ko</code></p></blockquote>
<p>Depois disso, dê um <code><em>dmesg |grep Microdia -i</em></code>.</p>
<blockquote><p>[   39.799824] microdia: Microdia USB2.0 webcam driver startup<br />
[   39.799873] microdia: Microdia USB2.0 Webcam &#8211; Product ID 624F.<br />
[   39.799876] microdia: Release: 0100<br />
[   39.799878] microdia: Number of interfaces : 1<br />
[   39.801100] microdia: Microdia USB2.0 Camera is now controlling video device /dev/video0<br />
[   39.801133] usbcore: registered new interface driver usb_microdia_driver<br />
[   39.801138] microdia: v0.0.0 : Microdia USB Video Camera</p></blockquote>
<p>Se você teve uma saída assim, então as coisas vão indo bem. Você já pode testar sua câmera. Você pode usar um software específico para isso como o <a title="Site oficial do Camorama" href="http://camorama.fixedgear.org/">Camorama</a> ou usar o próprio <a title="Mplayer" href="http://www.mplayerhq.hu/design7/news.html" target="_blank">Mplayer</a>:</p>
<blockquote><p>mplayer tv:// -tv driver=v4l:width=640:height=480:device=/dev/video0 -vo x11</p></blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-902 aligncenter" title="Eu testando a câmera" src="http://silveiraneto.net/wp-content/uploads/2008/05/eu_testando_a_camera.png" alt="" width="500" height="378" /></p>
<p>Eu sugiro testar primeiro o Camorama porque esses parâmetros do Mplayer funcionam comigo e eu não posso garantir que vão funcionar também com a sua câmera. Principalmente, por conta da resolução que eu usei.</p>
<p>Mas não vá embora agora, quando você reiniciar o computador tudo isso vai pelo espaço. Vamos fazer para que esse módulo seja carregado sempre que você ligar o computador. Vamos cópiar o arquivo .ko para o diretório de módulos do kernel.</p>
<blockquote><p><code>cp microdia.ko /lib/modules/`uname -r`/kernel/drivers/media/video/usbvideo/</code></p></blockquote>
<p>Se você executou a algusn passos atrás o <em>insmod</em>, então limpe o driver da memória com um <em><code>rmmod microdia</code></em>. Agora rode<em><code> depmod -a</code></em> para gerar um novo modules.dep e mapear os arquivos no diretório de módulos.</p>
<p>Para terminar, adicione o módulo ao kernel com um</p>
<blockquote><p><code>modprobe microdia</code></p></blockquote>
<p>Agora o módulo vai ser carregado sempre que você iniciar o computador.</p>
<p>Agora alguns outros e brincadeiras úteis para você fazer com sua webcam. :-D</p>
<p><strong>Espelho:</strong> muito útil no dia-a-dia, vale a pena criar um atalho na barra de tarefas ou no seu Desktop. Para usar o Mplayer como um espelho:</p>
<blockquote><p><tt>mplayer tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:noaudio -x 800 -y 600 -vf-add pp=hb:a/vb:a,hqdn3d,mirror</tt></p></blockquote>
<p><strong>Effectv:</strong> O <a title="Effectv" href="http://effectv.sourceforge.net/">effectv</a> é o melhor brinquedo para quem tem uma webcam. E agora ele já está disponível nos repositórios do Ubuntu:</p>
<blockquote><p>apt-get install effectv</p></blockquote>
<p>Para usa-lo, aqui eu chamo assim:</p>
<blockquote><p>effectv -device /dev/video0 -size 640&#215;480</p></blockquote>
<p>Use as teclas para baixo ou para cima para mudar os efeitos. A tecla espaço reseta o efeito. As teclas numéricas acionam variações. Tab inverte horizontalmente, como em um espelho. Aqui alguns efeitos legais.</p>
<p>Edgeblurtv<br />
<a href="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-edgeblurtv.png"><img class="alignnone size-thumbnail wp-image-903" title="edgeblurtv" src="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-edgeblurtv-150x150.png" alt="" width="150" height="150" /></a></p>
<p>HolographicTv<br />
<a href="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-holographictv.png"><img class="alignnone size-thumbnail wp-image-904" title="holographictv" src="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-holographictv-150x150.png" alt="" width="150" height="150" /></a></p>
<p>OpTv<br />
<a href="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-optv.png"><img class="alignnone size-thumbnail wp-image-905" title="optv" src="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-optv-150x150.png" alt="" width="150" height="150" /></a></p>
<p>SimuraTv<br />
<a href="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-simuratv.png"><img class="alignnone size-thumbnail wp-image-906" title="simuratv" src="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-simuratv-150x150.png" alt="" width="150" height="150" /></a></p>
<p>MatrixTv<br />
<a href="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-matrixtv.png"><img class="alignnone size-thumbnail wp-image-907" title="matrixtv" src="http://silveiraneto.net/wp-content/uploads/2008/05/captura_da_tela-matrixtv-150x150.png" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2008/05/20/camera-microdia-no-ubuntu-804/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
	</channel>
</rss>

