Nessa parte da pesquisa selecionei somente os tocadores de vídeos para web que tenham alguma licença livre (GPL, AGPL, MIT, BSD, etc) .
Arquivos da categoria: 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.
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:
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.
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
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.
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
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
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/
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.