Sábado, 24 de Janeiro de 2009

VLC 0.9.8a no Lenny

Tentando resolver um problema que eu tinha com vlc e o repositório debian-multmedia.org, resolvi instalar o vlc 0.9.8a, que se encontra apenas no repositório experimental.

Como muitos sabem, não é muito recomendado ficar usando o repositório experimental, pois pode ser que em um atualização o seu S.O. pare de funcionar, quando você ligar novamente. Para minimizar os riscos irei compilar os fontes e criar os pacotes através do repositório experimental e unstable.

Então vamos por a mão na massa:

Antes de começar, vou dizer que é recomendado ter uma conexão com a internet rápida e pelo menos uns ~300MB livre no disco, pois alem do vlc será instalado os pacotes necessário para compilá-lo, portanto talvez não seja necessário isso tudo dependendo do que você já tiver instalado.

Eu não anotei quais pacotes que foram instalados, mas creio que você possa anotar e depois remove-los caso queira.

Usando o root adicione as seguintes linhas no final do arquivo /etc/apt/sources.list

deb-src http://download.unesp.br/linux/debian/ experimental main contrib non-free
deb-src http://download.unesp.br/linux/debian/ unstable main contrib non-free

Em seguida atualize as listas de pacotes com o:

sudo apt-get update

agora crie um diretório temporário e o acesse:

mkdir tmp
cd tmp

Agora vamos instalar algumas dependências necessárias para o vlc ser compilado e instalado.

sudo apt-get build-dep libass-dev
apt-get -b source libass-dev
sudo
dpkg -i libass1_0.9.5-2_amd64.deb libass-dev_0.9.5-2_amd64.deb


sudo apt-get build-dep liblivemedia-dev
apt-get -b source liblivemedia-dev sudo
dpkg -i liblivemedia-dev_2008.07.25-2_amd64.deb


sudo apt-get build-dep libv4l-dev

apt-get -b source libv4l-dev
sudo dpkg -i libv4l-dev_0.5.7-2_amd64.deb libv4l-0_0.5.7-2_amd64.deb

Agora vamos ao VLC:

sudo apt-get build-dep vlc
apt-get -b source vlc
sudo dpkg -i libvlc2_0.9.8a-1_amd64.deb libvlccore0_0.9.8a-1_amd64.deb vlc-nox_0.9.8a-1_amd64.deb vlc-data_0.9.8a-1_all.deb vlc_0.9.8a-1_amd64.deb


Agora está funcionando perfeitamente como pode ser visto no print a seguir:

Quinta-feira, 8 de Janeiro de 2009

Problemas com o VLC

Infelizmente, o meu tópico "O Lenny, o VLC e o repositório Debian-Multimedia.org" não está funcionando mais.

Isso ocorreu por volta do dia 20 de dezembro de 2008, não me lembro da data correta. Após fazer um apt-get upgrade, no qual foi atualizada algumas bibliotecas, até o momento não fiz nenhuma investigação para descobrir qual dos pacotes foi responsável pelo problema.

Também em dezembro troquei e-mail com Christian Marillat mantenedor do repositório debian-multimedia.org, que me aconselhou a não usar o script que criei, e instalar o vlc 0.9.x

Este pacote só existe até o momento no repositório experimental, fiz alguns testes baixando alguns deb instalando manualmente; o vlc voltou a funcionar mas ainda não é possivel resolver 100% dos problemas, pois ainda falta resolver as dependências do vlc, para ter um apt funcional

Enquanto não faço isso removi o vlc do meu micro e instalei o mplayer, em breve dedicarei algumas horas para tentar resolver isso.

Domingo, 30 de Novembro de 2008

O Lenny, o VLC e o repositório Debian-Multimedia.org

ATENÇÃO!!!
ANTES DE FAZER QUALQUER COISA LEIA ISTO, E NÃO RECOMENDO QUE USEM ESTE PROCEDIMENTO.
MANTIDO APENAS PARA REGISTRO

Para quem como eu usa o Debian Lenny, e gosta de assistir vídeos utilizando o VLC, já se deparou com problemas para reproduzir vídeos após instalar pacotes do repositório debian-multimedia.org.


O Problema


Quando você abre um video que foi encodado usando o XVID irá receber a seguinte mensagem:

VLC media player 0.8.6h Janus
[00000315] main decoder error: no suitable decoder module for fourcc `XVID'.
VLC probably does not support this sound or video format.

Então após ler e reler em vários foruns e na própria pagina do debian-multimedia.org que o problema estava nos pacotes libavc* e a solução era fazer o downgrade destes pacotes para os oficiais.
E é claro que com isso teria que remover todos os outros pacotes que dependem dele e não se encontram no repositório oficial, como o mythtv, o xdvdshrink(que ainda não testei) e o transcode.

Em busca de mais informações temos o seguinte:

$ vlc -vv --no-plugins-cache --list |grep ffmpeg
VLC media player 0.8.6h Janus
[00000001] main private debug: checking builtin modules
[00000001] main private debug: checking plugin modules
[00000001] main private debug: recursively browsing `/usr/lib/vlc'
[00000001] main private warning: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (/usr/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol: img_resample)
[00000001] main private debug: module bank initialized, found 222 modules

Analisando a linha em vermelho é possível perceber que o problema ocorre quando a biblioteca libffmpeg_plugin.so tenta usar uma possível função chamada img_resample

Com isso vamos ver a dependência das bibliotecas compartilhadas:

$ ldd -r /usr/lib/vlc/codec/libffmpeg_plugin.so
linux-vdso.so.1 => (0x00007fff699fe000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00002ae441454000)
libpostproc.so.51 => /usr/lib/libpostproc.so.51 (0x00002ae441670000)
libavformat.so.52 => /usr/lib/libavformat.so.52 (0x00002ae44187d000)
libraw1394.so.8 => /usr/lib/libraw1394.so.8 (0x00002ae441b17000)
libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00002ae441d1d000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00002ae441f60000)
libavutil.so.49 => /usr/lib/libavutil.so.49 (0x00002ae442338000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00002ae442545000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00002ae442771000)
libm.so.6 => /lib/libm.so.6 (0x00002ae442976000)
libvlc.so.0 => /usr/lib/libvlc.so.0 (0x00002ae442bf9000)
libavcodec.so.51 => /usr/lib/libavcodec.so.51 (0x00002ae442edd000)
libc.so.6 => /lib/libc.so.6 (0x00002ae4436be000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
libz.so.1 => /usr/lib/libz.so.1 (0x00002ae443a11000)
libdl.so.2 => /lib/libdl.so.2 (0x00002ae443c29000)
libhal.so.1 => /usr/lib/libhal.so.1 (0x00002ae443e2d000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00002ae44403e000)
librt.so.1 => /lib/librt.so.1 (0x00002ae44427c000)
libdvbpsi.so.4 => /usr/lib/libdvbpsi.so.4 (0x00002ae444485000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00002ae444690000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002ae44499d000)
liba52-0.7.4.so => /usr/lib/liba52-0.7.4.so (0x00002ae444bb4000)
libamrnb.so.3 => /usr/lib/libamrnb.so.3 (0x00002ae444cbf000)
libamrwb.so.3 => /usr/lib/libamrwb.so.3 (0x00002ae444efe000)
libdirac_encoder.so.0 => /usr/lib/libdirac_encoder.so.0 (0x00002ae44512d000)
libfaac.so.0 => /usr/lib/libfaac.so.0 (0x00002ae4453c5000)
libfaad.so.0 => /usr/lib/libfaad.so.0 (0x00002ae4455d7000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00002ae445818000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00002ae445a25000)
libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0x00002ae445c9e000)
libx264.so.60 => /usr/lib/libx264.so.60 (0x00002ae445f15000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00002ae44619a000)
liboil-0.3.so.0 => /usr/lib/liboil-0.3.so.0 (0x00002ae4464f2000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00002ae446781000)
libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0x00002ae446a8e000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00002ae446c8f000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00002ae446eab000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00002ae4470ae000)
undefined symbol: img_resample (/usr/lib/vlc/codec/libffmpeg_plugin.so)
undefined symbol: img_resample_init (/usr/lib/vlc/codec/libffmpeg_plugin.so)
undefined symbol: img_resample_full_init (/usr/lib/vlc/codec/libffmpeg_plugin.so)
undefined symbol: img_resample_close (/usr/lib/vlc/codec/libffmpeg_plugin.so)
undefined symbol: img_convert (/usr/lib/vlc/codec/libffmpeg_plugin.so)

Parece que alguma dessas bibliotecas foi substituída com a instalação dos pacotes não-oficiais. Mas e agora qual delas está com problema? A dica veio da pagina do debian-multimedia.org:

Broken ffmpeg libraries :
Since Debian use the same soname packages name than my packages, official packages (vlc, totem, etc...) linked against libavc* doesn't work with my libavc* packages.
Então suponho que seja nosso amigo /usr/lib/libavcodec.so.51o grande problema, mas esse arquivo na verdade é um link para o arquivo /usr/lib/libavcodec.so.51.58.0


A Solução (ou seria gambiarra)

A primeira coisa que fiz foi baixar o pacote libavcodec51 no repositório oficial.

Com isso abri o pacote usando o compactador de arquivos(file-roller) dentro dele abri existe um outro arquivo chamado data.tar.gz que também abri usando
o file-roller dentro dele existe o seguinte diretório /./usr/lib/ entre nele e extrai o arquivo libavcodec.so.51.50.0 para o seu diretório pessoal.

Agora como root mova ele para o diretório /usr/lib/

# mv libavcodec.so.51.50.0 /usr/lib/
Agora eu tenho no meu computador os seguintes arquivos:

# ls -l /usr/lib/libavcodec.so*
lrwxrwxrwx 1 root root 21 Nov 29 18:46 /usr/lib/libavcodec.so -> libavcodec.so.51.58.0
lrwxrwxrwx 1 root root 30 Nov 30 11:45 /usr/lib/libavcodec.so.51 -> /usr/lib/libavcodec.so.51.58.0
-rw-r--r-- 1 fernando fernando 4412128 Out 3 11:03 /usr/lib/libavcodec.so.51.50.0
-rw-r--r-- 1 root root 3894008 Out 22 11:31 /usr/lib/libavcodec.so.51.58.0
Vamos ver o que objdump nos retorna nestes arquivos que eu destaquei:
# objdump -T /usr/lib/libavcodec.so.51.58.0 |grep img_
000000000007b790 g DF .text 0000000000000005 Base img_pad
000000000007aec0 g DF .text 0000000000000005 Base img_copy
000000000007ab80 g DF .text 0000000000000005 Base img_crop
000000000007ace0 g DF .text 0000000000000086 Base ff_img_copy_plane
000000000007ab90 g DF .text 0000000000000148 Base img_get_alpha_info
fullhouse:/home/fernando# objdump -T /usr/lib/libavcodec.so.51.50.0 |grep img_
00000000000a8340 g DF .text 0000000000000019 Base img_resample_close
0000000000084600 g DF .text 0000000000000005 Base img_pad
0000000000083c20 g DF .text 0000000000000005 Base img_copy
00000000000837d0 g DF .text 0000000000000005 Base img_crop
00000000000839b0 g DF .text 0000000000000086 Base ff_img_copy_plane
00000000000a8360 g DF .text 0000000000000a20 Base img_resample
00000000000a8f50 g DF .text 0000000000000043 Base img_resample_init
00000000000a8d80 g DF .text 00000000000001c4 Base img_resample_full_init
00000000000837e0 g DF .text 0000000000000148 Base img_get_alpha_info
0000000000084d30 g DF .text 0000000000000835 Base img_convert

Podemos perceber que na biblioteca proveniente do repositório oficial existe o img_resample enquanto na biblioteca proveniente do debian-multemedia.org ela não existe.


Então vamos lá o próximo passo que tomei foi modificar o link do libavcodec.so.51:

# ln -f -s /usr/lib/libavcodec.so.51.50.0 /usr/lib/libavcodec.so.51

Agora voltamos ao vlc e temos:

$vlc -vv --no-plugins-cache --list |grep ffmpeg
VLC media player 0.8.6h Janus
[00000001] main private debug: checking builtin modules
[00000001] main private debug: checking plugin modules
[00000001] main private debug: recursively browsing `/usr/lib/vlc'
[00000001] main private debug: module bank initialized, found 223 modules
ffmpeg FFmpeg audio/video decoder/encoder ((MS)MPEG4,SVQ1,H263,WMV,WMA)
ffmpeg FFmpeg chroma conversion
ffmpeg FFmpeg audio/video encoder
ffmpeg FFmpeg demuxer
ffmpeg FFmpeg muxer
ffmpeg FFmpeg video filter
ffmpeg FFmpeg crop padd filter
ffmpeg FFmpeg deinterlace video filter

Agora abrimos o vlc normalmente e conseguimos abrir o video sem problemas.


Cuidados a serem tomados


Não sei qual o impacto dessa alteração em outros programas então faça isso por sua conta e risco, caso eu perceba algum problema irei postar o que percebi.

Portanto por via das dúvidas pretendo criar um script que irei usar para abrir o vlc que irá modificar os link simbólicos e retorna ao correto automaticamente, mas isso fica para depois já que este post já ficou bem longo.





Sexta-feira, 24 de Outubro de 2008

Aniversário

Nossa até esqueci do blog, ontem fez um ano que não posto nada aqui.

Então para comemorar vai um bolo para desenterrar este blog.


Até um próximo post caso haja....

Terça-feira, 23 de Outubro de 2007

Compiz Fusion

Creio que isso não é nenhuma novidade para quem acompanha as notícias no mundo do software livre, mas como eu ultimamente não tenho acompanhado quase nada estou meio por fora do assunto, então creio que o google poderá responder todas as nova dúvidas que surgir.

O que realmente vim fazer aqui foi colocar estes videos que achei no youtube:

Video 1



Video 2




Assim que consegui terminar minha monografia irei tentar configurar minha maquina com algum destes recursos.

Segunda-feira, 8 de Outubro de 2007

Vagões Descarrilados: Tempo

Isso ai é um assunto que dá muito pano pra manga, e pode acreditar isso é verdade, quer ver como conseguirei gastar todo um espaço de tempo para falar sobre o tempo.

E o tempo que quero falar não é o meteorológico, mas aquele tempo que todo mundo reclama, relembra, sonha, passa, vive, aproveita, desperdiça. Como podemos ver o tempo tem muitas facetas.

E isso já foi falado nos textos bíblicos:

Há tempo de nascer e tempo de morrer; tempo de plantar e tempo de
arrancar; tempo de matar e tempo de curar; tempo de derrubar e tempo de
construir. Há tempo de ficar triste e tempo de se alegrar; tempo de chorar
e tempo de dançar; tempo de espalhar pedras e tempo de ajuntá-las; tempo
de abraçar e tempo de afastar. Há tempo de procurar e tempo de perder;
tempo de economizar e tempo de desperdiçar; tempo de rasgar e tempo de
remendar; tempo de ficar calado e tempo de falar. Há tempo de amar e tempo
de odiar; tempo de guerra e tempo de paz. (Eclesiastes 3:2-8)


Portanto tudo tem seu tempo, e não adianta como já diz o ditado bota a carroça na frente dos bois, já que se neste momento você está triste, haverá um momento em que você se sentirá feliz.

Como tudo tem seu tempo, este tempo também não é absoluto é relativo, e ainda por cima é uma teoria dos maiores gênios da física, Albert Einstein, não sou um especialista nisso, mas se não me engano a teoria da relatividade diz que o espaço-tempo é relativo, um exemplo claro disso é exemplificado de uma maneira simples, "Ponha sua mão num forno quente por um minuto, e isto lhe parecerá uma hora. Sente-se ao lado de uma bela moça por uma hora e lhe parecerá um minuto. Isto é relatividade" (Albert Einstein).

Apesar de o tempo ser absoluto nas condições normais, nos fazemos ele ser relativo em nossa mente, por isso é necessário que aproveitemos cada minuto de nossa vida, as vezes acho que não faço isso, pois sempre paro e penso no que passou e no que poderia ter feito, e vejo que sempre sobrou vaga para uma ação em determinados momentos. Muitas pessoas dizem que não se arrependem do que fizeram, eu duvido, ninguém fez tudo o que quis na hora certa, portanto existe momentos que serão inesquecíveis, e aqueles que você tentara esquecer por ter deixado de fazer. Sinceridade, se você não gostou de algo que passou, fique arrependido, mas não se esqueça que a vida continua.

O tempo lhe dá sucessos, mas também lhe dá fracassos, e o tempo não para, apenas passa, portanto o tempo passado deve ser lembrado, para que os erros cometidos não aconteçam novamente, mas o mais importante, o tempo presente está aqui, então aproveite ele, caso contrário será mais um tempo passado.

Segunda-feira, 1 de Outubro de 2007

Ajude a divulgar a lista brasileira de equipamentos e serviços compatíveis com Linux

Ajude a divulgar a lista brasileira de equipamentos e serviços compatíveis com Linux
...e concorra a MP4 e MP3 players, mochilas Targus, períodos de VoIP grátis e até a ventiladores USB - além de contribuir automaticamente para doações para a Wikipedia e o Wordpress! O BR-Linux coletou mais de 12.000 registros de compatibilidade de equipamentos e serviços (webcams, scanners, notebooks, ...) na sua Pesquisa Nacional de Compatibilidade 2007, e agora convida a comunidade a ajudar a divulgar o resultado. Veja as regras da promoção no BR-Linux e ajude a divulgar - quanto mais divulgação, maior será a doação do BR-Linux à Wikipedia e ao Wordpress.

English Learning

O English Learning faz a busca somente em sites e blogs que tratam sobre o aprendizado do inglês.

Add to Google