domingo, 24 de maio de 2015

Unindo vídeos com o FFMPEG

Nas versões mais recente do ffmpeg esta é a nova forma de unir os vídeos onde todos deve ter o mesmo tamanho de tela, mas os codecs de vídeo e áudio podem ser diferente entre os arquivos envolvidos.

Para unir dois vídeos

$ ffmpeg -i sei.mp4 -i aviao.mp4 -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -strict -2 unidos.mp4 

Para unir três vídeos

$ ffmpeg -i sei.mp4 -i aviao.mp4 -i cenas.mp4 -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -strict -2 unidos3.mp4 


Parte da saída final do processo de conversão:
 Metadata: 
    major_brand     : isom 
    minor_version   : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder         : Lavf55.19.104 
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 480x360, q=-1--1, 30k tbn, 29.97 tbc (default) 
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default) 
Stream mapping: 
  Stream #0:0 (h264) -> concat:in0:v0 
  Stream #0:1 (aac) -> concat:in0:a0 
  Stream #1:0 (h264) -> concat:in1:v0 
  Stream #1:1 (aac) -> concat:in1:a0 
  Stream #2:0 (h264) -> concat:in2:v0 
  Stream #2:1 (aac) -> concat:in2:a0 
  concat:out:v0 -> Stream #0:0 (libx264) 
  concat:out:a0 -> Stream #0:1 (aac)

Os arquivos são unidos na ordem especificada e as três linhas em vermelho representa cada um dos vídeos especificados na parte do codec de vídeo e abaixo da mesma o codec de áudio do vídeo correspondente e as duas últimas linhas concat são o codec de vídeo e áudio do arquivo de saída que contém os 3 vídeos unidos. 

Onde na linha final de comando a opção  -strict -2 é para a parte do codec de áudio aac do formato mp4 pois em algumas versões do ffmpeg o mesmo é experimental, e sem esta opção não funciona para criar no formato mp4 padrão com áudio aac.

Caso deseja ver um log do ffmpeg sob a conversão coloque a opção -report antes do nome do arquivo de saída, onde será criado um arquivo de log no mesmo diretório da execução do comando ffmpeg.

Precedimento realizado com  ffmpeg version 2.1.5

Criando um script para facilitar o uso

Para unir dois arquivos coloque a seguinte linha abaixo sendo o nome do script juntar2 com permissão 755 salvo em /usr/local/bin.

ffmpeg -i $1 -i $2 -filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -strict -2 unidos.mp4 

Forma de uso:
$ juntar2 video1 video2

Nota:
Para unir três arquivos você deve criar outro script utilizando a linha de comando do ffmpeg para 3 arquivos neste caso.



sábado, 9 de maio de 2015

Instalando o plugin flash pepprflash-plugin no navegador Chromium no Salix



No navegador Google Chrome o mesmo já vem com o plugin flash da Adobe embutido dentro do mesmo ao fazer o download dele, mas no navegador Chromium que é um fork do mesmo é necessário instalar este plugin manualmente para ter suporte a flash em sites que não seja o youtube.com para ver vídeos ou acessar jogos online em flash.
Para ter suporte ao plugin flash no navegador Chromium no Slackware e derivados, você deve instalar o plugin pepperflash-plugin que contém a versão mais recente do plugin flash da Adobe adaptado para Linux, ao contrário do plugin install_flash_player_11_linux.i386.tar.gz que ficou parado na versão 11.x com apenas updates de segurança para Linux.


Link para download:

Para instalar faça:

$ sudo installpkg chromium-pepperflash-plugin-17.0.0.169-i386-1alien.txz

Pronto, não precisa fazer mais nada, o navegador Chromium irá utilizar o mesmo automaticamente, sem precisar criar link ou fazer qualquer configuração.


Para testar e verificar a versão do plugin instalado acesse:

Para conferir no proprio navegador Chromium os plugins instalado, digite na barra de url: chrome://plugins/

Notas:
Versão do Chromium utilizada é a 42.0.2311.135.
Instalação feita no Salix 14.1 32 bits.

segunda-feira, 4 de maio de 2015

Instalando o Clamav no Slackware e Salix

Embora que vírus feito para S.O. Windows não funcione no GNU/Linux, se você receber algum arquivo de um amigo ou baixar da internet e não quiser espalhar arquivos que possa está infectado em sua rede doméstica ou de trabalho ou ainda repassar o arquivo para amigos, você deverá escanear estes arquivos antes de compartilhar utilizando o anti-virus Clamav pra quem utiliza computadores com Windows.

Para a versão mais recente do antivírus Clamav devemos baixar no site oficial do mesmo em http://www.clamav.net/download

Após baixado o mesmo, entrar no diretório onde se encontra o pacote clamav-versão.tar.gz e descompactar o pacote source.

$ tar -xzvf  clamav-versão.tar.gz
$ cd clamav-versão
$ ./configure
$ make

Torna-se root, nesta janela de terminal usando o comando su.
# make install

Agora devemos fazer algumas configurações para o Clamav funcionar, pois o mesmo não funcionará corretamente ainda caso você não tenha personalizado sua instalação entrando como opções extras para o comando configure, o que é muito normal para iniciantes neste caso.

# ldconfig -v
# mkdir /usr/local/share/clamav
# cd /usr/local/etc/
# cp freshclam.conf.sample freshclam.conf

Editar o arquivo /usr/local/etc/freshclam.conf devendo comentar ou remova a linha Example 

Agora descomente a linha DatabaseDirectory (removendo o caractere sustenido #) e altere o caminho padrão da mesma para /usr/local/share/clamav/ devendo ficar conforme abaixo.

DatabaseDirectory /usr/local/share/clamav/ 

Acertando as permissões

# groupadd clamav 
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav 
# chown clamav.clamav /usr/local/share/clamav/

Agora devemos fazer o download da base de dados de virus.
# freshclam 
ClamAV update process started at Sun Apr 26 17:46:50 2015 
WARNING: DNS record is older than 3 hours. 
WARNING: Invalid DNS reply. Falling back to HTTP mode. 
Downloading main.cvd [100%] 
main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo) 
Downloading daily.cvd [100%] 
daily.cvd updated (version: 20378, sigs: 1378213, f-level: 63, builder: neo) 
Downloading bytecode.cvd [100%] 
bytecode.cvd updated (version: 250, sigs: 42, f-level: 63, builder: neo) 
Database updated (3802480 signatures) from database.clamav.net (IP: 155.98.64.87)

Pronto, o clamav está pronto para ser utilizado.

Agora para facilitar o seu uso, caso não tenha a gui Clamtk no seu repositório, ou a mesma não funciona devido a erro de perl, você pode escanear arquivos e pastas a partir do Thunar facilmente, se você utiliza o desktop Xfce.

No Thunar, acesse menu Editar/Configurar ações personalizadas..., na guia Básico preenche conforme abaixo:

Nome: Clamav
Descrição: Anti-vírus
Comando: Exec= xterm -hold  -fa 'Luxi Mono' -fs 14 -e clamscan --bell -i -r  --verbose -l  /tmp/clamav.log %F 

Escolha um ícone para o comando (opcional)

Agora na guia Condições de aparência, marque todos os itens e clique em OK.

Pronto, você pode selecionar tanto pastas como arquivos para o escaneamento, sendo que em /tmp terá um log do nome de todos os arquivos escaneados com o caminho do mesmo.

Comandos do Clamav

Ver a versão da base de dados de vírus

$ freshclam -V 
ClamAV 0.98.6/20382/Sun Apr 26 12:36:55 2015 


O número 20382 é a nova versão da base de dados de virus, onde Sun é o dia da semana, Apr o mês e 26 o dia da atualização da base de dados.

Fazer o download da versão mais recente da base de dados

#  freshclam


Escaneando o diretório /tmp e listar somente os nomes dos arquivos infectados

$ clamscan --bell  -i /tmp 
/tmp/testeviruscompactado.tgz: Eicar-Test-Signature FOUND 
/tmp/myvir.tgz: Eicar-Test-Signature FOUND 
/tmp/eicar.com: Eicar-Test-Signature FOUND 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 1 
Scanned files: 10 
Infected files: 3 
Data scanned: 26.79 MB 
Data read: 9.88 MB (ratio 2.71:1) 
Time: 17.179 sec (0 m 17 s) 

Onde --bell soa o beep do alto-falante interno, se o mesmo estiver habilitado no seu sistema, e -i listará os nomes somente dos arquivos infectados.

Se desejar listar os nomes de todos os arquivos escaneados use a opção --verbose que listará inclusive os arquivos infectados mesmo não usando a opção -i.

Movendo os arquivos infectados para um diretório e gerando um log 


$ mkdir /tmp/infectados
$ clamscan -r --verbose /tmp  --move=/tmp/infectado/ -l /tmp/infectados.log 
Scanning /tmp/infectados.log 
/tmp/infectados.log: OK 
Scanning /tmp/varias.txt 
/tmp/varias.txt: OK 
Scanning /tmp/Kendra Ivy 1 - 2011.jpg 
/tmp/Kendra Ivy 1 - 2011.jpg: OK 
Scanning /tmp/2573tlk.jpg 
/tmp/2573tlk.jpg: OK 
Scanning /tmp/968full-tia-carrere.jpg 
/tmp/968full-tia-carrere.jpg: OK 
Scanning /tmp/testeviruscompactado.tgz 
/tmp/testeviruscompactado.tgz: Eicar-Test-Signature FOUND 
/tmp/testeviruscompactado.tgz: moved to '/tmp/infectado//testeviruscompactado.tgz' 
Scanning /tmp/myvir.tgz 
/tmp/myvir.tgz: Eicar-Test-Signature FOUND 
/tmp/myvir.tgz: moved to '/tmp/infectado//myvir.tgz' 
Scanning /tmp/leia clamav.txt 
/tmp/leia clamav.txt: OK 
Scanning /tmp/eicar.com 
/tmp/eicar.com: Eicar-Test-Signature FOUND 
/tmp/eicar.com: moved to '/tmp/infectado//eicar.com' 
Scanning /tmp/clamav ajuda rev1.txt 
/tmp/clamav ajuda rev1.txt: OK 
/tmp/.com.google.Chrome.6OcVrp/SingletonCookie: Symbolic link 
Scanning /tmp/luwjna7r.tmp/luwjna9e.tmp 
/tmp/luwjna7r.tmp/luwjna9e.tmp: OK 
Scanning /tmp/.xfsm-ICE-KX9JXX 
/tmp/.xfsm-ICE-KX9JXX: OK 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 8 
Scanned files: 12 
Infected files: 3 
Data scanned: 26.88 MB 
Data read: 9.90 MB (ratio 2.72:1) 
Time: 16.833 sec (0 m 16 s) 


Onde -r para escanear subdiretórios também, /tmp/infectado/ é o diretório para onde será movido os arquivos infectados, caso você tenha certeza que não se trata de um falso positivo, pode excluir os mesmos, pois o clamav não elimina vírus ele apenas os detecta, podendo apenas configurar uma ação para mover os arquivos infectados para um diretório ou deletar automaticamente durante o escaneamento.
Todos os arquivos infectados encontrado tem no final do nome dele a palavra FOUND ao usar a opção --verbose ou -i.

Especificando apenas um arquivo para escanear

$ clamscan varias.txt 
varias.txt: OK 

----------- SCAN SUMMARY ----------- 
Known viruses: 3797050 
Engine version: 0.98.6 
Scanned directories: 0 
Scanned files: 1 
Infected files: 0 
Data scanned: 0.12 MB 
Data read: 0.06 MB (ratio 1.94:1) 
Time: 13.788 sec (0 m 13 s) 


Excluído automaticamente os arquivos infectados durante o escaneamento

$ clamscan -r --remove -v /tmp

Scanning /tmp/virus teste clamav.png
/tmp/virus teste clamav.png: OK
Scanning /tmp/leiameu.txt
/tmp/leiameu.txt OK
Scanning /tmp/teste/testeviruscompactado.zip
/tmp/teste/testeviruscompactado.zip: Eicar-Test-Signature FOUND
/tmp/teste/testeviruscompactado.zip: Removed.
----corte----

----------- SCAN SUMMARY -----------
Known viruses: 3797050
Engine version: 0.98.6
Scanned directories: 6
Scanned files: 7
Infected files: 3
Data scanned: 25.49 MB
Data read: 16.94 MB (ratio 1.50:1)
Time: 17.322 sec (0 m 17 s)


Nota:
O mesmo procedimento de instalação descrito aqui também pode ser feito em qualquer distro do GNU/Linux.

O Clamav escanear automaticamente arquivos e diretórios ocultos sem precisar utilizar um flag para isto, salvo o -r para incluir subdiretórios.





sexta-feira, 1 de maio de 2015

Incrementando o Thunar com ações personalizadas

O gerenciador de arquivos Thunar do Xfce4 tem um ótimo recurso que permite configurar uma ação a ser feita em arquivos e diretórios selecionados permitindo assim novas ações dentro do Thunar com recursos que ele não tenha incorporado dentro dele.

Integrando o Catfish ao Thunar 

Para procurar por arquivos e pastas a partir do Thunar na pasta selecionada, vamos fazer o uso da opção de ações personalizadas do Thunar. 

Procedimentos:

No Thunar, clique no menu Editar e escolha Configurar ações personalizadas..., na guia Básico preencha conforme abaixo: 
Nome: Procurar 
Descrição: localizar arquivos e pastas 
Comando:  catfish --fileman=thunar --path=%f 

Escolha um ícone para o seu comando se preferir. 

Na guia Condições de aparência, marque somente Diretórios e clique em OK. 

Pronto, agora basta selecionar uma pasta qualquer com o botão direito do mouse e escolher a opção Procurar que o Catfish será chamado com o nome da pasta selecionada de onde iniciará a pesquisa. 


Notas: 
O Catfish não localiza arquivos a partir de link de pasta, tem que ser a partir da pasta real. 

Para localizar somente arquivos pelos botões de vídeos, música, documentos e imagens, sem critério de nome, tem colocar o caractere asterisco na caixa de digitação, senão não funciona. 

Telas da ação personalizada já criada.


  




Executar o Thunar como root

Preencha conforme abaixo:

Nome: Root Thunar 
Descrição: root permissões 
Comando: gksu thunar 

Na guia Condições de aparência, marque somente Diretórios. 

Pronto ao selecionar, um diretório qualquer com o botão direito do mouse e escolher a ação “Root Thunar” será solicitado sua senha de usuário para executar o Thunar como root, abrindo o diretório selecionado.


Abrir terminal como root

Nome: Abrir terminal root aqui 
Descrição: Terminal root 
Comando: gksu xfce4-terminal  --working-directory %f 

Na guia Condições de aparência, marque somente Diretórios. 

Copiar arquivos para uma pasta especifica 

Nome: Copiar pra /mnt/partilha 
Descrição: Envia arquivos e diretórios pra /mnt/partilha 
Comando: xterm -g 100x15 -fa 'Luxi Mono' -fs 14 -hold -e cp -vr  %F /mnt/partilha 

Na guia Condições de aparência, marque todos os itens. 

Notas:
Embora que a janela de terminal não seja necessária foi colocada apenas para acompanhar a cópia de arquivos, principalmente quando forem muitos megas ou uma grande quantidades para saber se a cópia terminou e também para acompanha algum erro durante a cópia caso houver. Ao terminar a cópia, basta fechar manualmente a janela, pois foi colocando a opção -hold para impedir o fechamento automático da janela ao terminar o processo de cópia de arquivos. 

Alternativamente você pode usar esta linha de comando abaixo no lugar da janela de terminal que utilizará uma janela em zenity com uma barra de progresso pulsate durante a cópia de arquivos e diretórios.

(for I in $(seq 2); do echo $I; sleep 1; done; cp -vr %F "/mnt/partilha") | zenity --progress --pulsate --auto-close



Excluir arquivos e diretórios como root

Nome: Excluir como root 
Descrição: Excluir arquivos e pastas
Comando: xterm -g 35x5 -fa 'Luxi Mono' -fs 14 -e sudo rm -rf  %F 

Na guia Condições de aparência, marque todos os itens. 

Notas:
Após digitando sua senha de usuário, será excluído todos os arquivos e diretórios selecionados, sem perguntas e confirmações, portanto preste muita atenção quando você estiver selecionando os mesmos.


Editar configuração do sistema

Nome: Editar configuração
Descrição: Editor de texto ASCII
Comando: gksu leafpad %f

Na guia Condições de aparência, marque somente Arquivos de texto e Outros arquivos.

Notas:
Após digitando sua senha de usuário, será aberto o arquivo que foi selecionando, usando o editor de texto leafpad.

Audacious com lista de reprodução 

Nome: Audacious
Descrição: Tocar um diretório ou seleção de arquivos de mp3
Comando: audacious %F

Na guia Condições de aparência, marque somente Diretórios e Arquivos de áudio.

Com isto você pode tocar um diretório e seus subdiretórios que tiver arquivos mp3, ou somente os mp3s selecionados que será adicionando a uma playlist, podendo renomear, editar e apagar a mesma, bem como localizar músicas por critério na mesma no Audacious.

Informações de codec de vídeo e áudio com mediainfo

Nome: Informações de Vídeo e áudio
Descrição: Propriedades do codec de vídeo e áudio
Comando: mediainfo-gui %f

Na guia Condições de aparência, marque somente Arquivos de vídeos e Arquivos de áudio.

Notas gerais:

Conforme o tipo de ação e a configuração da mesma somente aparecerá se estiver selecionado um diretório ou arquivo.
Por exemplo se em Condições de aparência foi marcado Diretórios, as ações disponíveis aparecerá no menu Arquivo abaixo de Abrir, sem precisar está selecionando um diretório, pois você está neste exato momento em um diretório.
Já se estiver selecionando um arquivo, as ações que envolver somente diretório tanto do menu Arquivo como no menu suspenso do mouse não aparecerão, aparecendo somente as ações que estiver configurada para arquivos (sem está marcado Diretórios junto em Condições de aparência), pois não condizem com o critério.

A utilização de um ícone é opcional para uma ação personalizada.