quinta-feira, 26 de dezembro de 2013

ZoneMinder no CentOS 6

Novo método!


ATENÇÃO. ESSE POST ESTÁ SUPERADO. AGORA O ZONEMINDER PODE SER INSTALADO DE FORMA MUITO MAIS FÁCIL COM O REPOSITÓRIO PRÓPRIO PARA O CentOS. VEJA ESSE POST.

Sobre o ZoneMinder


Nesse post foi demonstrado como instalar o ZoneMinder no Ubuntu Server. Se quiser informações sobre a instalação das câmeras IP e sobre o que é o ZoneMinder, abra o link já referido.

Instalando no CentOS


Segue agora o passo a passo para instalar o poderoso sistema de vigilância no CentOS 6 (Versão 6.5, arquitetura x86_64).

OBS: Todos os comandos aqui descritos foram executados como root.

Baixe nesse link ou em outro link da lista pública de espelhos a versão mínima do CentOS 6.5 (arquivo CentOS-6.5-x86_64-minimal.iso ou o torrent equivalente).

Instale o CentOS.

Após o primeiro boot, habilite a interface de rede e defina o IP da máquina.
nano /etc/sysconfig/network-scripts/ifcfg-eth0
Para IP dinâmico, simplesmente altere a opção ONBOOT conforme abaixo e reinicie o sistema:
ONBOOT="yes"
Para IP estático, faça as alterações necessárias para ficar assim:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=208.67.222.222
Para evitar lentidão ao conectar via ssh:
nano /etc/ssh/sshd_config
E deixe as seguintes opções conforme abaixo:
UseDNS no
GSSAPIAuthentication no
Reinicie os serviços de rede e do servidor ssh:
service network restart
service sshd restart
Atualize o sistema
yum update -y
Instale o repositório RepoForge (antigo RPMForge):
yum install wget


wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm


yum install rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Instale o repositório EPEL
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Verifique se os repositórios foram corretamente instalados:
yum repolist
Instale as dependências necessárias:
wget --output-document=perl-X10-0.03-1.noarch.rpm http://bauerhaus.dyndns.org/filebrowser/download/2500

wget --output-document=perl-Astro-SunTime-0.01-1.noarch.rpm http://bauerhaus.dyndns.org/filebrowser/download/2501

wget --output-document=perl-Sys-Mmap-0.14-2.el6.x86_64.rpm http://bauerhaus.dyndns.org/filebrowser/download/2750

yum install perl-Astro-SunTime-0.01-1.noarch.rpm perl-X10-0.03-1.noarch.rpm perl-Sys-Mmap-0.14-2.el6.x86_64.rpm
Desabilite o SELINUX
setenforce 0

nano /etc/selinux/config

SELINUX=disabled
Faça o download do pacote zoneminder (essa versão já inclui bugfixes e as melhorias de performance conforme descritas aqui)
wget --output-document=zoneminder-1.26.5-1.el6.x86_64.rpm http://bauerhaus.dyndns.org/filebrowser/download/2745

yum install zoneminder-1.26.5-1.el6.x86_64.rpm
Proteja o servidor mysql definindo senha do usuário root e removendo tabelas de teste:
service mysqld start
/usr/bin/mysql_secure_installation
chkconfig mysqld on
Crie o banco de dados do ZoneMinder (use o password de root definido no item anterior):
mysql -uroot -p
mysql> create database zm;
mysql> grant select,insert,update,delete,alter on zm.* to 'zmuser'@localhost identified by 'zmpass';
mysql> exit;

mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysqladmin -uroot -p reload
(OBS: Se você escolheu outros usuário e senha para o bando de dados zm no item anterior, então edite o arquivo /etc/zm.conf e faça os ajustes em ZM_DB_USER e ZM_DB_PASS)

Ajuste o timezone da sua localidade nas configurações do php, exemplo:
nano /etc/php.ini
date.timezone = America/Sao_Paulo
Habilite a interface web do ZoneMinder (ela vem desabilitada por padrão):
nano /etc/httpd/conf.d/zoneminder.conf
Apague ou comente (com um #) a linha "Deny from all # DELETE THIS LINE".

Alguns ajustes para evitar mensagens de erro do apache (altere conforme suas configurações):
echo "ServerName localhost" > /etc/httpd/conf.d/fqdn.conf
Inicie o servidor web (apache) e configure-o para iniciar automaticamente a cada boot:
service httpd start
chkconfig httpd on
Abra as portas necessárias no firewall (iptables) do CentOS:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/service iptables save
iptables -L -v
Ou, se quiser fazer por interface gráfica:
yum install system-config-firewall
system-config-firewall
# Personalizar
# Marque as opções
WWW (HTTP)
WWW Seguro (HTTPS) (caso você queira habilitar acesso criptografado)
Fechar
Ok

Reinicie o sistema
reboot
ou
init 6
No seu navegador, aponte para http://<ip da máquina>/zm

Se quiser habilitar SSL (navagação segura):
yum install mod_ssl openssl
Gere a nova chave (auto-assinada) e novo certificado:
openssl genrsa -out ca.key 1024
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 730 -in ca.csr -signkey ca.key -out ca.crt
Mova para os lugares corretos
mv -f ca.crt /etc/pki/tls/certs/localhost.crt
mv -f ca.key /etc/pki/tls/private/localhost.key
Reinicie o servidor apache (web)
service httpd restart
No seu navegador, aponte para https://<ip da máquina>/zm

ALGUMAS DICAS DE PERFORMANCE


O servidor ZoneMinder não pode ficar com um "load" muito alto. Se isso ocorrer, você terá instabilidade e perderá alguns "frames" de imagens.

A seguir algumas dicas para tentar melhorar a performance.

1. Para sistemas de arquivos Ext4, adicione as seguintes opções no /etc/fstab:
noatime,nodiratime,commit=120,data=writeback

Exemplo
UUID=ba4acd10-ae6d-465c-82fe-9752017480ee /var/lib/zoneminder     ext4    defaults,noatime,nodiratime,commit=120,data=writeback        0 2
2. Habilite nas opções do ZoneMinder o CPU_EXTENSIONS, para obter vantagem das extensões SSE2/SSE3 do processador.

3. Habilite FAST_IMAGE_BLENDS. Esse tipo de blend é extremamente rápido e não envolve multiplicação ou divisão, o que pode impactar a performance.

4. Desabilite COLOUR_JPEG_FILES a não ser que realmente precise disso. Essa opção converte imagens em grayscale para cor antes de armazená-las como jpegs. Isso impacta a performance e usa mais espaço no seu disco, então o melhor é deixar desabilitado.

5. Desabilite CREATE_ANALYSIS_IMAGES se você usa motion detection com Blob, mas não precisa das imagens de análise.

6. Embora óbvio, tenha certeza que desabilitou EXTRA_DEBUG e RECORD_DIAG_IMAGES.

7. Para câmeras locais (não IP): Habilite ZM_V4L_MULTI_BUFFER se puder. Tente fazer correspondência entre a paleta de caputra (Capture Palette) e o colorspace alvo (Target Colorspace), para evitar a necessidade de conversão de formato.

8. Se estiver usando Motion Detection (Modect) para as câmeras, quanto menos zonas, mais rápido será o sistema. Antes de ficar criando zonas, pense se realmente você tem necessidade de mais de uma zona.

9. Experimente usar a opção 8 bit grayscale nas câmeras (Target Colorspace), em vez de cores 24 ou 32 bits. Além de as imagens ficarem menores, o processamento e análise delas será mais rápido. Você realmente precisa registrar imagens coloridas? Faça opção consciente.

10. Quantos quadros por segundo (frames per second - FPS) você realmente precisa nas câmeras? Pense nisso. Não há qualquer razão para caputar o vídeo a 20 fps se você não tem qualquer necessidade específica para isso. 5 fps são suficientes para a maioria dos casos e produz bons vídeos.

11. Use a libjpeg-turbo. A instalação pelo método descrito neste post se encarregará disso.

12. Ajuste as opções "Reference Image Blend %ge" e "Alarm Reference Image Blend %ge" de cada monitor apropriadamente. Quanto à primeira, use 6.25% para câmeras internas e 12.5% para externas. Quando à segunda, experimente deixar todas as câmeras em 6.25%. Trata-se de nova funcionalidade da versão do ZoneMinder 1.26.5. Antes de ajustar essa opção alguns eventos estavam ficando quase infinitos (disparava o alarme do modect e não parava mais de gravar).

ATENÇÃO


As opções Maximum FPS e Alarm Maximum FPS são apenas para câmeras analógicas. Não use essas opções para câmeras remotas IP, caso contrário você terá falhas na visualização "ao vivo" e durante as gravações dos eventos. A implementação para câmeras remotas ainda não foi realizada.

sexta-feira, 20 de dezembro de 2013

easyLife para Fedora 20 está disponível!

Com grande satisfação informo que easyLife para o recém lançado Fedora 20 já está disponível para download.

Fedora é um sistema operacional completamente open source para todos os tipos de computadores. Assim como Ubuntu e outros, também tem como base o núcleo (kernel) chamado Linux.

easyLife é um aplicativo para Fedora que ajuda os usuários novos a instalarem as principais ferramentas do dia a dia do uso de um desktop, como por exemplo Flash Player, Codecs, Video players, Plugin Java para o navegador e assim por diante. Tudo apenas com cliques do mouse.

Para instalar o easyLife, basta baixar o pacote .rpm e clicar duas vezes sobre ele. Será solicitada a senha do administrador do sistema (usuário root) e a instalação será completada.

Após, clicar em "Atividades" e digitar easylife. Pronto, você verá o ícone do programa. É só clicar e escolher quais as opções você deseja que ele execute e instale.

Tela de opções do easyLife. É só escolher quais você deseja e ele faz todo o trabalho.
Faça o download aqui e aproveite!

sábado, 7 de dezembro de 2013

Monitoramento de segurança com câmeras IP, ZoneMinder e Ubuntu 12.04 LTS

Hoje em dia é fácil montar solução de monitoramento por câmeras IP sem muito custo ou trabalho (bem, trabalho dá um pouquinho dependendo das questões físicas da sua casa ou empresa, como por exemplo tubulação para passar cabos etc.).

A receita 100% livre é Ubuntu Server + ZoneMinder.

Ubuntu é o sistema operacional baseado em Linux mais conhecido que existe. A vantagem de usar a versão "Server" do Ubuntu é porque você não instala por padrão interface gráfica e outros tantos programas que não serão usados.

ZoneMinder é um conjunto integrado de aplicações que provê solução completa de vigilância e possibilita caputra, análise, gravação e monitoramente de qualquer CCTV ou câmera de segurança conectada a uma máquina baseada em Linux.

O ZoneMinder é muito interessante porque trabalha com o sistema "Motion Detection", ou seja, Sensor de Movimento, fazendo com que a gravação seja iniciada se algum movimento for detectado. Mais do que isso, permite que você crie e edite zonas de interesse, ou seja, somente se o movimento ocorrer dentro da zona de interesse é que a gravação será acionada.

Painel de edição de zonas. Somente o movimento na área verde acionará a gravação.
A primeira questão a se preocupar é com a passagem de cabos. Se não tiver energia elétrica perto dos locais onde as câmeras ficarão posicionadas, você poderá usar apenas o cabo de rede para enviar dados + energia para a câmera IP. Nesse caso, há duas possibilidades:

  1. comprar câmeras IP com tecnologia PoE (Power over Ethernet), que em geral custam bem caro; 
  2. comprar câmeras IP tradicionais e usar separadores e injetores para injetar a energia no cabo de rede e depois separá-la na outra ponta, para energizar a câmera.

Injetor e Separador PoE com plugue de energia P4
Isso é possível porque, na verdade, dos quatro pares de cabos que compõem o cabo de rede, um par não é usado para nada e, portanto, é aproveitado para transmitir a energia.

A maioria das câmeras IP possuem fonte de energia com plugue do tipo P4, que é o mesmo desses kits de injetor + separador PoE, então não deve haver problemas.

A grande questão ao usar esses injetores e separadores é que dificilmente a eletricidade chegará na outra ponta com a mesma intensidade e, em razão disso, câmeras que funcionam a 5V, por exemplo, provavelmente não ligarão. Isso ocorre porque a voltagem é muito pequena e a perda que ocorre nos injetores e por conta do próprio cabo de rede (Cat 5e) torna-se significante.

Para contornar esse problema, pode ser usada fonte de energia com voltagem regulável. Aumentando-se a voltagem da fonte, aumenta-se o "empurrão" com que a energia chega do outro lado e, assim, compensam-se as perdas pelo caminho, fazendo com que a câmera consiga a corrente (amperagem) suficiente.

Fonte de energia com voltagem regulável. Fornece até 1500mA.
Mas muito cuidado: vá fazendo testes começando sempre pela menor voltagem e aumentando aos poucos, caso contrário poderá queimar sua câmera. Faça isso por sua conta e risco. VOCÊ FOI AVISADO.

Em distâncias de 30 metros, por exemplo, consegui ligar câmeras que funcionam a 5V regulando a voltagem da fonte para 8,4V, para compensar as perdas. Em distâncias menores precisei ajustar para 7.5V e assim por diante.

Solução melhor será você emendar um regulador de tensão no separador. Ou seja, você corta os fios do separador que é ligado à câmera 5V, antes do conector, e insere um regulador de tensão, que converte tensões maiores (de 23V a 5.5V) para 5V, como por exemplo o BEC Turnigy 5V/3A, 6V/3A ou algum semelhante.

Sim, é uma "gambiarra", mas funciona! Com isso, você pode, por exemplo, deixar uma fonte de 12V, fazendo com que a distância seja superada, e o regulador de tensão se encarregará de reduzir a voltagem para 5V justamente antes de a corrente elétrica entrar na câmera.



Já as câmeras que funcionam a 12V em geral não apresentam esse problema porque a voltagem de 12V já dá um "empurrão" suficiente na eletricidade até o outro lado. Nesse caso, a própria fonte que vem com a câmera poderá ser usada. Não será preciso de fonte de mais de 12V.


Antes de usar suas câmeras no ZoneMinder, tenha certeza de elas estejam funcionando corretamente. Faça testes de uso pela interface web própria da câmera ou por endereços de acesso direto (por exemplo: http://192.168.0.25/video.cgi?user=usuario&pws=senha).

Para instalar e configurar o servidor que rodará o ZoneMinder, segue o passo a passo.

Baixe e instale o Ubuntu Server 12.04 LTS.

Antes de mais nada, atualize todo o sistema e reinicie a máquina:
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get upgrade -y


sudo init 6
O ideal é que o servidor tenha IP fixo, para poder ser facilmente localizado dentro da rede e também para que possa ser mapeado no "Port Forwarding" do seu roteador, para que seja acessível pela internet externamente.
sudo nano /etc/network/interfaces
Mude a "primary network interface" para um endereço IP estático, por exemplo:
# The primary network interface
auto eth0
    iface eth0 inet static
    address 192.168.0.100
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 8.8.8.8 208.67.222.222 208.67.220.220
Reinicie novamente a máquina para as mudanças operarem efeito.
sudo init 6
Agora será necessário instalar o servidor web, servidor de banco de dados e php - alguns componentes do "LAMP stack" (Linux + Apache + MySQL + PHP).
sudo apt-get install mysql-server apache2 php5 libapache2-mod-php5
Pequeno ajuste para evitar mensagens de erro do apache:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Para usar conexão web segura (altamente recomendado):
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo service apache2 restart
Abra um navegador e veja se o servidor apache está funcionando (http://ipdoservidor, por ex., http://192.168.0.19, ou, no caso de conexão segura, https://ipdoservidor etc.)

A última versão do ZoneMinder está disponível nesse repositório pessoal (PPA):
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:iconnor/zoneminder
Para instalar o ZoneMinder e o codec x264:
sudo apt-get update && sudo apt-get install zoneminder x264 libavcodec-extra-53
Durante a instalação, serão perguntadas questões sobre configuração do Nullmailer. Pode ignorar e pressionar "Enter" em todas, pois ao final vamos remover o Nullmailer (a versão dos repositórios do Ubuntu 12.04 LTS não trabalham com STARTTLS e qualquer servidor de email decente requer autenticação criptografada para funcionar).

Se aparecer a mensagem: invoke-rc.d: initscript zoneminder, action "status" failed., não se importe.

Aguarde mais um pouco que o zoneminder será iniciado em instantes:
Starting ZoneMinder: success
Agora adicione atraso para que o ZoneMinder somente seja iniciado durante o boot após o servidor MySQL já estar ativo. Adicione a linha "sleep 15" antes de zmfix -a, conforme demonstrado abaixo.
nano /etc/init.d/zoneminder
start() { echo -n "Starting $prog: " mkdir -p $RUNDIR && chown www-data:www-data $RUNDIR mkdir -p $TMPDIR && chown www-data:www-data $TMPDIR # Delay to allow MySQL to start before Zoneminder sleep 15 zmfix -a $command start
Crie link para o arquivo de configuração do zoneminder para que o apache saiba da existência dele:
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
Adicione o usuário www-data ao grupo video:
sudo adduser www-data video
O Cambozola é um visualizador simples para fluxo jpeg de multipartes que geralmente são originados de webcams, enviando múltiplas imagens por segundo. O Cambozola é um substituto que exibe as imagens corretamente. O ZoneMinder pode fazer uso dele. Para instalá-lo:
wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar zxvf cambozola-latest.tar.gz
sudo cp -v cambozola-*/dist/cambozola.jar /usr/share/zoneminder
sudo chown root:www-data /usr/share/zoneminder/cambozola.jar
sudo chmod ug+x /usr/share/zoneminder/cambozola.jar
rm -rf cambozola-*
Remova o nullmailer e instale o ssmtp:
sudo apt-get remove nullmailer
sudo apt-get install ssmtp
Configure o ssmtp (faça as alterações necessárias ao seu email etc.):
nano /etc/ssmtp/ssmtp.conf

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=seuemail@gmail.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587
AuthUser=seuemail@gmail.com
AuthPass=suasenhadogmail
UseTLS=YES
UseSTARTTLS=YES
# Where will the mail seem to come from?
rewriteDomain=seudominio.com.br
# The full hostname
hostname=nomedohost.seudominio.com.br
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
Instale o ntpd para manter o horário do servidor sempre atualizado:
sudo apt-get install ntp
Pronto, agora pode abrir o ZoneMinder no navegador e começar a configurá-lo:
http://ipdoservidor/zm ou https://ipdoservidor/zm
ATENÇÃO. Antes de mais nada:

Cique em "Options"
Desmarque: Check with zoneminder.com for updated versions (?)
Clique em "Save"
Clique na aba "Images"
Marque "Is the (optional) cambozola java streaming client installed (?)"
Clique "Save"

E, por último, habilite o sistema de autenticação por senha, para deixar seu ZoneMinder seguro.

Faça isso antes de adicionar qualquer câmera, caso contrário terá problemas e não conseguirá ver as imagens das câmeras em razão de problemas de autenticação:

Clique em "Options"
Marque a opção "OPT_USE_AUTH | Authenticate user logins to ZoneMinder (?)"
Clique "Save"

A senha padrão do usuário admin será admin.

Agora vá de novo em opções e na aba "Users" modifique a senha do admin e se for o caso crie outros usuários, definindo os níveis de permissão para cada um!

Se quiser exportar os eventos como vídeos mp4 (x264) de alta qualidade:

Clique em "Options" -> aba "Images"
Ajuste a opção FFMPEG_OUTPUT_OPTIONS para:

-r 25 -vcodec libx264 -threads 2 -b 2000k -minrate 800k -maxrate 5000k

Ajuste a opção FFMPEG_FORMATS para:

mp4* mpg mpeg wmv asf avi mov swf 3gp**

Reinicie o servidor:
sudo init 6
Boa sorte e não deixe de ler o FAQ do ZoneMinder para configurá-lo corretamente e resolver eventuais problemas.

Exemplo de câmera na opção de "Monitor".
Depois que estiver tudo certo e funcionando, experimente os aplicativos que controlam o ZoneMinder pelo celular, como por exemplo o ZmView:



Fontes


quinta-feira, 5 de dezembro de 2013

Como emitir a GPS do INSS incidente sobre o 13o. salário

Todo fim de ano as pessoas me fazem a mesma pergunta:
- Por que não consigo pagar a guia da previdência social (GPS) sobre o décimo terceiro salário pelo site do banco na internet?
A resposta é muito simples, e diz respeito ao código de pagamento e ao período de apuração, mas a questão é que pergunta não precisaria ser feita se as pessoas se condicionassem a emitir a guia sempre pelo site da Receita Federal do Brasil, em vez de ficarem preenchendo manualmente a guia diretamente no site do Banco (o que é, além de tudo, perda de tempo).

A emissão da guia pelo site da Receita Federal possui importantes vantagens:

1 - O site faz todos os cálculos (inclusive de eventuais atrasos) somente com o fornecimento do número PIS ou NIT do trabalhador; 
2 - O sistema calcula sozinho as alíquotas e já demonstra a parte a ser suportada pelo empregado e a parte a ser descontada do trabalhador (isso é relevante porque a depender do valor do salário bruto a alíquota pode variar);

3 - É impossível de errar o preenchimento da guia, pois se o código PIS ou NIT forem digitados incorretamente o sistema não puxará os dados do trabalhador; 
4 - A guia sai com código de barras, o que significa que você não precisará preencher os dados da guia manualmente no site do seu banco, mas somente, óbvio, o código de barras; 
5 - Você não perde tempo preenchendo campos como nome e endereço, que são de qualquer forma completamente ignorados pelo sistema da previdência social (o único dado que realmente importa é o NIT ou PIS); 
6 - Você pode emitir várias guias GPS de uma vez;
Se, mesmo assim, você quiser continuar a ficar preenchendo manualmente que nem besta a guia GPS no seu bankline, fique à vontade. O tempo é todo seu para ser desperdiçado.

Voltando à questão da GPS sobre o décimo terceiro salário, use a competência 13/2013 e deixe que o sistema se preocupe em preencher todo o resto. Depois, é só pagar a guia usando o código de barras no site do seu banco.



Se você é como e gosta de evitar erros ao mesmo tempo em que economiza tempo, segue o link do site da Receita Federal para emissão das guias com código de barras:

http://www.receita.fazenda.gov.br/previdencia/gps/default.htm

Lembrando que:

Para o INSS incidente sobre o 13º salário (para as empresas e empregadores domésticos), o prazo de pagamento é até o dia 20 de dezembro, antecipando-se o vencimento para o dia útil imediatamente anterior, quando não houver expediente bancário na data do vencimento.

quarta-feira, 4 de dezembro de 2013

Como inverter um vídeo verticalmente

Se você já teve que manusear arquivos de vídeo do tipo GEOX (MPEG-4) gerados pelos aplicativos terríveis da GeoVision - sistema de monitoramento por câmeras -, sabe que o vídeo será exibido invertido, por exemplo, no VLC.

Arquivo do tipo GEOX criado pelo programa GeoVision

Vídeo invertido verticalmente
Após alguma procura, achei solução rápida e prática para resolver esse problema em qualquer sistema operacional do tipo GNU/Linux.

Basta usar o avconv, sucessor do ffmpeg (que será descontinuado conforme informado pelo próprio programa: "*** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.").

Primeiro, instale a ferramenta:
sudo apt-get install libav-tools
Agora, a conversão propriamente dita:
avconv -i videoinvertido.avi -vf "vflip" videocorreto.avi
O segredo é o filtro 'vflip', que significa "vertical flip".

Após a conversão, tudo fica ok:


Deve ser observado, no entanto, que toda modificação em formato de vídeo comprimido, como é o caso do GEOX, resultará em perda de qualidade como resultado da descompressão, modificação, e recodificação para que possa ser gravado. Então o resultado terá sim menor qualidade que o original.

domingo, 24 de novembro de 2013

VirtualBox - Instalando Adicionais para Convidado no Fedora

Irritado toda vez que você instala o Fedora em uma máquina virtual no VirtualBox e a resolução da tela não passa de míseros 1024x768?

A solução é instalar os Adicionais para Convidado do VirtualBox na máquina virtual com Fedora.

Antes de mais nada, atualize o Fedora (convidado) e reinicie a máquina virtual (sempre como root):
yum update -y
init 6
Depois instale as seguintes dependências na máquina virtual:
yum install dkms binutils gcc gcc-c++ make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel
Agora é só montar a ISO com os adicionais para convidado.

Selecione a janela da máquina virtual, clique em Dispositivos - Instalar Adicionais para Convidado...

Se for preciso, o VirtualBox irá baixar a ISO automaticamente.

A ISO será montada dentro da máquina virtual como uma unidade de CD e será aberta janela perguntando se você quer executar a instalação dos adicionais. Responda que sim e forneça a senha de root.

Se tudo correr bem, você verá os [    ok    ] na telinha do terminal e aí é só reiniciar a máquina virtual e pronto.

Máquina Virtual com Fedora a 1280x960 - resolução mais confortável para trabalhar

Após o reinício, sua resolução já estará maior.

quarta-feira, 20 de novembro de 2013

HP Laserjet M1212nf MFP no Ubuntu

A única forma de instalar a HP Laserjet M1212nf MFP no Ubuntu é por meio do utilitário hp-setup.

Ele vem instalado com a versão padrão do Ubuntu.

A princípio, um simples sudo hp-setup deveria funcionar.



No entanto, por ora, a versão do hplip que está nos repositórios oficiais do Ubuntu é a 3.13.9, que está com bug e o hp-setup não consegue completar a instalação da sua impressora.

Eu consegui instalar a HP por meio da versão 3.13.11

Enquanto eles não atualizam os pacotes para Ubuntu, você deve instalar a última versão manualmente.

OBS: Para versões mais recentes, tudo que você tem a fazer é instalar o hplip-gui e, após isso, o hp-setup deverá funcionar normalmente. Se não for suficiente, proceda conforme abaixo.

Primeiro, remova o hplip que vem instalado no Ubuntu:
sudo apt-get remove --purge hplip*
sudo rm -rf /usr/share/hplip
sudo rm -rf /etc/hp
sudo rm -rf ~/.hplip
sudo rm -rf /var/lib/hp
Depois, para instalar a última versão, basta seguir as instruções do assistente de instalação do hplip.

Se não conseguir baixar o "plug-in" proprietário para a impressora, faça o download manual aqui e depois escolha para indicar manualmente o local onde o plug-in poderá ser encontrado em vez de fazer o download automaticamente.

Ao final, adicione seu usuário ao grupo "lp":

sudo usermod -a -G lp $USER

Reinicie o computador.

Finalmente, execute o hp-setup com poderes de root:
sudo hp-setup

Ou, se não quiser usar a interface gráfica e fazer somente via linha de comando:
sudo hp-setup -i

E tudo deverá correr bem.

terça-feira, 19 de novembro de 2013

Kingsoft Office no Ubuntu 13.10 64bits

O Kingsoft Office (ou WPS Office) é clone quase perfeito do Microsoft Office.


A versão para Linux ainda é alpha mas já funciona incrivelmente bem. Estou impressionado com a rapidez que ele abre.

Aparentemente possui todos os recursos mais usados no Office da Microsoft e consegue abrir os arquivos criados no Office com êxito.

Você consegue trocar para as duas interfaces: a mais recente do Office atual ou aquela mais tradicional do Office 2003.

Há pacote .deb disponível para Ubuntu e afins.

Mas quem estiver usando Ubuntu 13.10 64 bits não conseguirá abrir o Kingsoft Office apenas instalado o pacote .deb.

Isso porque ainda não fizeram versão para 64 bits. Então você instala a versão i386 mesmo mas precisa instalar também as bibliotecas 32 bits - manualmente.

Segue a lista das dependências que devem ser instaladas para que o Kingsoft Office funcione corretamente:
sudo apt-get -y install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++6:i386 libx11-6:i386 libglib2.0-0:i386 libfreetype6:i386 libSM6:i386 libXrender1:i386 libfontconfig1:i386 libXext6:i386 libcups2:i386 p11-kit:i386 libcap-ng0:i386 gnome-keyring:i386
Depois, se puder, colabore com os desenvolvedores. Trabalho bem feito.

segunda-feira, 18 de novembro de 2013

Chega de sofrer com as cores do Putty

Se você administra servidores a partir de máquinas com Windows, com certeza usa ou já usou o Putty.

O problema é que o esquema padrão de cores é péssimo e você tem que ficar se esforçando para ler os comentários de arquivos de configuração ou até mesmo o resultado de um simples ls. O azul em especial não fica bom com o fundo preto.

Após muita procura, consegui descobrir fórmula simples para tornar as cores agradáveis e legíveis com um mínimo de intervenção.

Se quiser alterar para todas as "Saved Sessions", carregue a sessão "Default Settings" e em "Colours" altere os seguintes valores:

ANSI Green: 152,251,152
ANSI Blue: 3,92,190
ANSI Cyan: 255,160,160

Grave o perfil como "Default Settings" e a partir daí todas as novas sessões que você criar ficarão com aspecto bem mais agradável e legível e ainda assim muito próximo do layout padrão.

Ou... você pode usar o excelente MobaXterm, que tem muitos mais recursos e é bem mais prático que o Putty.

domingo, 17 de novembro de 2013

Visualizando o progresso do dd

O comando dd é ótimo para criar os pendrives inicializáveis com Ubuntu, Fedora, LinuxMint ou qualquer outra distribuição GNU/Linux.

No entanto, como os arquivos .ISO em geral são grandes, a demora e a ausência de saída na tela do terminal às vezes dá um pouco de impaciência.

Para ver progresso da gravação use o comando pv com pipes (|) da seguinte maneira.

Primeiro instale o pv:

apt-get install pv

Para fazer a cópia e ver o progresso:

dd if=arquivo.iso | pv --timer --rate | dd of=/dev/sd_ bs=1M

Onde sd_ será o dispositivo (pendrive). Use o dispositivo (ex. sdb) e não a partição (ex. sdb1).

Digite o comando como root e não usando o sudo.

Você verá algo como:

7,11MB 0:00:07 [15,9MB/s] [       <=>                                               ]


Nesse caso (criação do pendrive) ele não consegue estimar o tamanho do arquivo. Você teria que especificá-lo manualmente (opção --size).

Mas mesmo assim já é melhor do que nada.

OU, mais fácil ainda, você pode usar o dcfldd. Trata-se de versão melhorada do dd para uso em investigações forenses. Por padrão ele mostra o progresso em blocos e megabytes.

Para instalar (no Ubuntu):
sudo apt-get install dcfldd