Sem categoria

Player de vídeo web Free e Open Source

Nessa parte da pesquisa selecionei somente os tocadores de vídeos para web que tenham alguma licença livre (GPL, AGPL, MIT, BSD, etc) .

Padrão
Sem categoria

Globo.com + software livre + streaming Fifa 2014

Para a copa de 2014 a Globo.com refez sua infraestrutura de streaming e dessa fez foi 100% usando software livre 🙂 o time foi: python / rails + nginx(lua) + redis + cassandra

Bacana o vídeo de dois desenvolvedores da Globo.com apresentando a solução durante o encontro da Nginx.

A apresentação dessa palestra

Saiu uma matéria no planeta Cassandra, e tem posts bacana do dois desenvolvedores no blog pessoal do Leandro Moreira e do medium do Juarez Bochi (ambos que aparecem na palestra do vídeo acima).

Essa experiência acabou resultando um artigo acadêmico em trabalho conjunto de pesquisadores de Universidades públicas de Minas Gerais e chama Caracterização da Transmissão de um Grande Evento Esportivo.

O mais bacana ainda é que uma equipe da Globo.com desenvolveu um player e liberou como software livre 🙂 O Clappr.

Mais um motivo para estudar o Streaming with nginx-rtmp-module.

Padrão
Sem categoria

Servidor de streaming de vídeo em software livre

Quando comecei a fazer streaming o que usávamos era Icecast, havia pouca vida além dele, pelo menos em nosso universo de radicais free software 🙂

Ele segue a linha de HTTP progressivo e tinha só suporte a OGV, para vídeo. Hoje tem implementado o suporte a WEBM e fiz algumas transmissões e rolou bem bacana.

Na minha pesquisa anterior de solução alternativa ao Icecast achei interessante o stream-m, a partir de uma documentação de implementação na TV Unesp. Mas não avancei muito.

Hoje tenho interessado bastante pelo Nginx + o módulo RTMP, e não é pouca as documentações pela internet de implementação e de uso. Irei estudar ele a fundo nesse momento.

Outro que tenho grande interesse em testar é o flussonic (erlyvideo), nem parece muito promissor e avançado.

Existem várias outras soluções em software livre / open source para montar um servidor, alguns que identifiquei:

Padrão
Sem categoria

Formatos abertos e livres para streaming de vídeo

Não sou do tipo que fica lendo a especificação do container ou das vantagens de compreensão do vídeo e áudio, etc tal. Mas curto muito acompanhar o processo de evolução de formatos livres e aplicações software livre para streaming.

Quando comecei usamos indiscutivelmente o formato ogg (ou ogv), pois era o único livre. Usando Theora para a parte de vídeo e Vorbis para áudio era o que tínhamos e aqui e ali ouvi as reclamações da qualidade diante do MP4 ou mesmo a necessidade de bastante hardware para obter um transcodificação legal.

Passou o tempo e logo ficamos conhecendo o Webm, usando como conteiner o Matroska, com o vídeo e áudio usando codecs webm, o Google comprou por 133 milhões doláres a empresa que detinha os direitos sobre o formato e continuo por mantê-la livre sob a licença BSD. Fosse pela guerra de qual seria o formato padrão em HTML5 ou do impacto que poderia ter o relicenciamento do formato MP4 pelo Cisco, o Google não esperou e já começo a implementar em seus serviços o formato webm como padrão, deixando o FLV (que até então usada o h261 para vídeo e mp3 para áudio).

Passou o tempo e a Cisco vai lá e libera o MP4 como opensource e na sequencia a Mozilla coloca codec por padrão do Firefox.

Para o streaming a escolha do formato é importante também, tanto para escolher o equipamento como software de transmissão enquanto cliente e/ou servidor, compatibilidade de browsers e dispositivos móveis.

Hoje o webm está na versão VP9, com várias reestruturações. Já a implementação H26x para MP4 está não versão 5, H265. O OGV não teve avanços e vale lembrar que ele surgiu a partir de uma implementação do VP3.

Tem outros formatos como o DIRAC, desenvolvido pela BBC, que tem chamado atenção também, na busca de melhores compressão em vídeo e economizar um pouco mais no tráfego pela internet onde o vídeo lidera no consumo.

Padrão
Sem categoria

AMD Radeon Crimson em Debian Jessie

Tenho uma placa AMD Radeon HD 8690M e nunca usei, pois queria usar na edição de vídeo, mas o Kdenlive não tem suporte a GPU na renderização.

Estou recomeçando meus estudos em streaming e hoje a bola da vez é o Open Broadcaster Software e em suas versões recentes está sendo obrigatório o uso da GPU.

Eu já havia havia instalado o drive próprio da placa quando usava Fedora 20, mas não fiz uso valendo. O desafio agora era deixar rodando legal em Debian Jessie.

Nos repositórios do Debian com non-free tem suporte ao driver fglrx, mas não rodou legal, o cursor do mouse simplesmente não aparece. Resolvi então instalar a versão mais recente e conhecer melhor a solução AMD Radeon Crimson

Depois de baixar o driver e rodar o executável aparece num dialogo a mensagem “Your Graphics adapter is not supported by this driver. Installation will not proceed” e pesquisando vi que é necessário acrescentar radeon.runpm=0 no grub, isso logo na inicialização, pressionando e (para editar) e depois acrescendo na linha que inicia com linux. E aí deu certo.

Para instalação usei como referência um post no fórum do Ubuntu:

sudo apt-get remove --purge xorg-driver-fglrx fglrx*
 sudo apt-get remove --purge fglrx*
 sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 dh-modaliases
 sudo apt-get install --reinstall xserver-xorg-core libgl1-mesa-glx libgl1-mesa-dri
 sudo dpkg-reconfigure xserver-xorg
 cd ~/Downloads
 wget --referer='http://support.amd.com/en-us/download/desktop?os=Linux+x86_64' http://www2.ati.com/drivers/linux/radeon-crimson-15.12-15.302-151217a-297685e.zip
 wget --referer=http://support.amd.com radeon-crimson-15.12-15.302-151217a-297685e.zip
 unzip radeon-crimson-15.12-15.302-151217a-297685e.zip
 cd fglrx-15.302
 sudo chmod +x amd-driver-installer-15.302-x86.x86_64.run
 sudo sh amd-driver-installer-15.302-x86.x86_64.run
 sudo amdconfig --initial
 sudo reboot

Num primeiro momento rodou tudo certo, mas depois de abrir o amdcclce e configurar para usar a placa intel as coisas não funcionaram bem e aí num outra pesquisa vi que é necessário reinstalar o pacote libgl1-mesa-glx

sudo apt-get install --reinstall libgl1-mesa-glx:i386

 

Padrão
Sem categoria

Instalando ElementaryOS via Pendrive sem Nvidia

Ainda esses dias peguei um computador para atualizar o Linux que estava instalado, era um Ubuntu 10.04 rodando firme e forte 😉

Escolhi instalar um ElementaryOS, por ser bem leve e precisava ser para a máquina de 1G de ram

Para instalar mais rápido eu prefiro fazer a instalação via USB e utilizo o UNetbootin (ele é multiplataforma e tem versão para Windows e MACOS, além de Linux)

No Ubuntu é só rodar

sudo apt-get install unetbootin* extlinux

Coloquei o pendrive na máquina, mas não subiu a interface gráfico e aí fui vê que o problema era com a placa de vídeo, uma offboard nvidia. Uma busca rápida e descobri o esquema de incluir nomodeset no grub resolveria. No caso eu preciso precisar tab para editar o menu inicial do UNetbootin e incluir o nomodeset. Rodou a interface gráfica, mas zuada. Então rodei o Xorg -configure e troquei o drive nouveau para vesa e reiniciei o lightdm e funfou 🙂

Fiz a instalação e aí precisei editar o grub para iniciar corretamente, depois peguei uma dica para remover o driver:

sudo apt-get remove nvidia* && sudo apt-get autoremove
cat >/etc/modprobe.d/blacklist-nouveau.conf << EOF
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
EOF
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -u

E aí só reiniciar a máquina

Depois achei um post com o nome HowTo: Install latest NVIDIA Driver on Linux without getting black screen, mas nem utilizei, mas fica aqui documentado.

Padrão
Sem categoria

Bloqueando lista de sub-diretórios e arquivos

Aqui no laboratório sempre estou com demandas diferentes, tem que se aperfeiçoar constantamente, vida de SysAdmin.

Estou estudando bastante segurança de WordPress e uma ferramenta que ajuda bastante é o wpscan e observando um site de um parceiro apareceu que um diretório sensível estava público.  No caso o diretório uploads fica aberto acessando por http://localhost/wordpress/wp-content/uploads e usando programas como httrack ou wget é possível baixar todos arquivos recursivamente e montando a mesma estrutura no ambiente local.

ruby ./wpscan.rb --url http://localhost/wordpress
httrack http://localhost/wordpress/wp-content/uploads/iphorm/ -b1 +*

Então fiz um estudo rápido de como proteger essa falha aberta e achei duas soluções, uma consistia em criar um arquivo index.html em todos os diretórios e sub-diretórios recursivos, para tal a melhor solução que achei foi com uma junção do comando find com touch e ficou assim:

find . -type d -exec touch {}/index.html \;

Outra solução é criar um arquivo .htaccess com o conteúdo
Options -Indexes

Acrescentando assim uma nova instrução ao apache, sem necessidade de ter autorização do administrador do servidor.

De cara não funcionou aqui no meu ambiente de desenvolvimento, que roda um openSUSE e tive que fazer alguns ajustes no apache, acrescentando no arquivo /etc/apache2/httpd.conf

<Directory “/srv/www/htdocs”>
AllowOverride All
</Directory>

Aí sim funcionou!

Os comandos utilizados foram para conhecer melhor as vulnerabilidades foram

Padrão
Sem categoria

Mensagem de erro no AutoMySQLBackup em MySQL 5.6

Configurando o AutoMySQLBackup em MySQL 5.6 voltou a mensagem de erro warning using a password on the command line interface can be insecure, para resolve apliquei o ajuste depois da linha 115

# Remove annoying warning message since MySQL 5.6
 if -s "$log_errfile" ; then
 sedtmpfile="/tmp/$(basename $0).$$.tmp"
 grep -v "Warning: Using a password on the command line interface can be insecure." "$log_errfile" > $sedtmpfile
 mv $sedtmpfile $log_errfile
 fi

dica retirada do site redeo.nl

Padrão
Sem categoria

SPIP, um CMS Livre

Desde 2004 que eu trabalho com o SPIP, conheci ele na época que fui trabalhar na redação do Planeta Porto Alegre, que estavam com a meta de migrar do CMS Publique! (uma solução proprietário de CMS desenvolvido no Brasil).

O SPIP tem seu núcleo forte de desenvolvimento na França e é muito utilizado por movimentos sociais pela América-latina, África e Europa.

Por padrão ele requer para seu funcionamento PHP e MySQL (SQLite também).

De fácil instalado, e totalmente pela web, e desde a instalação já vem com suporte há 45 idiomas (o que inclui também após a instalação na interface privada e pública), e já vem localizado para português do Brasil. Tem suporte padrão há multi-idioma pro conteúdo publicado.

Na instalação padrão já vem com inúmeros recursos, só para citar alguns:

  • várias formas de URLs limpas;
  • RSS no site todos e por seções;
  • Permissões granulares;
  • Espaço comentários;
  • Fórum internos para redatores;
  • Tratamento de imagem (por netpbm, GD ou imagemagick);
  • solução para backup e restauração do mesmo;
  • estatísticas de visitas;
  • sindicação de rss.

Pela própria interface administrativa é possível instalar mais recursos.

Agora, a cereja do bola é a facilidade de customização do template. Já trabalhei com vários CMS, mas nenhum me ofereceu total flexibilidade para aplicar qualquer desenho. As sintaxes são bem simples e de forma bem versátil conseguem abranger toda a dinâmica de um site simples ou complexo.

Mais informações

Página do Projeto
http://www.spip.net/

contribuições da comunidade
http://www.spip-contrib.net/

Sintaxe do spip
http://programmer.spip.org/
http://www.spip.net/@?lang=en

dicas em inglês
http://my.opera.com/tech-nova/blog/

Padrão
Sem categoria

IRedMail: Solução completa para servidor de mensagem

Já faz mais de quatro anos que eu uso o IRedMail para configurar serviços de email. Ele é uma solução completa, desde os serviços básicos para SMTP (Postfix) e POP/IMAP (Dovecot) até Webmail (Roundcube Mail).

Atualmente o IRedMail está na versão 0.92 e pode ser baixando no endereço http://www.iredmail.org/

Ele é um script em Bash com dialog. Você pode usar ele com MySQL ou mesmo LDAP. Com soluções para Firewall, antispam, gerenciador de contas.

Seu desenvolvimento principal é feito por

Desse uso que faço montei uma documentação padrão para instalação e gerenciamento dele e outro com Nginx.

Padrão