Mostrando postagens com marcador mencoder. Mostrar todas as postagens
Mostrando postagens com marcador mencoder. Mostrar todas as postagens

30 janeiro 2007

Dica: extraindo legenda de um DVD no Linux

Depois de muito tempo perdido em busca de um software que extraísse uma legenda de minha escolha a partir de um DVD qualquer com apenas um clique (coisa que nunca encontrei), acabei descobrindo por acaso uma solução em Linux para essa tarefa. Não é algo tão simples como um clique, mas o arquivo srt sai prontinho e perfeitamente sincronizado com o filme. A receita é a seguinte:

1 - Com o mplayer (melhor com o gmplayer) descubra qual o número do canal da legenda de interesse, lembrando que o primeiro canal é o 0, não o 1;
2 - Descoberto o canal execute o comando "tccat -i /dev/dvd -T 1 -L | tcextract -x ps1 -t vob -a 0x2n > arquivo_de_saida" onde o 'n' de 0x2n é o número do canal desejado
3 - As legendas estarão no 'arquivo_de_saida', porém ainda não podem ser utilizadas. Para transformá-las em algo parecido com subpictures é preciso executar o comando "subtitle2pgm -o saida -c 255,0, 255,255 < arquivo_de_saida", onde o código '255,0,255,255' representa a cor da legenda e 'saida' é um novo arquivo;
4 - Esse comando criará uma imagem em formato pgm para cada linha de legenda, ou seja, o diretório vai ficar lotado de figuras chamadas 'saidaXXXX.pgm' onde XXXX é o número da linha, além de um arquivo de controle chamado 'saida.srtx'. Como o comando "pgm2txt saida" as figuras são transformadas em texto, criando um monte de arquivos 'saidaXXXX.pgm.txt' no diretório. Neste ponto alguns símbolos não compreendidos serão questionados e você pode digitá-los no terminal para que o programa os entenda melhor;
5 - Com o comando "srttool -s -w < saida.srtx > saida.srt" as linhas de texto são condensadas em um único arquivo 'saida.srt' que estará perfeitamente sincronizado com o filme em formato avi previamente decodificado através do mencoder.

29 janeiro 2007

Dica: criando um avi a partir de um DVD no Linux

Hoje em dia existem dezenas de meios pelos quais um usuário caseiro pode copiar um DVD no computador. Pessoalmente eu prefiro o DVDShrink, mas muitas vezes não queremos copiar o conteúdo inteiro do DVD, mas somente o filme e num formato mais compacto, como o avi por exemplo. Mesmo para essa tarefa há diversos programas disponíveis na internet, porém nenhum deles é tão eficaz, em minha opinião, quanto o mencoder (codificador e decodificador do Mplayer) do Linux. Ainda não aprendi a utilizá-lo completamente, mas com uma lida rápida no manual já se pode criar um arquivo avi de boa resolução sem muito esforço.
Seguem exemplos:

1 - Criando um avi com certos capítulos (no caso do décimo ao décimo quinto) do segundo título do DVD. O título pode ser escolhido pela observação dos tamanhos dos arquivos contidos no diretório VIDEO_TS do DVD, o maior é o filme:

mencoder dvd://2 -chapter 10-15 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4

2 - Criando o avi com reescalonamento da tela (utilizando scale=x:y)

mencoder dvd://2 -vf scale=640:480 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4

3 - Agora reescalondando de outro jeito (com o -zoom - xy evita distorção, pois fica 512 de largura pela altura correspondente)

mencoder dvd://2 -vf scale -zoom -xy 512 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4

4 - Aumentando a quantidade de bits por segundo no avi através do vbitrate (quanto mais, melhor e maior é o arquivo avi)

mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800

5 - Com outro codec (mjpeg em vez de mpeg4 ou lavc)

mencoder dvd://2 -o title2.avi -oac copy -ovc lavc -lavcopts vcodec=mjpeg:mbd=1:vbitrate=1800


Nesses comandos o -oac é o "audio codec" ou decodificador de audio e copy significa que o audio será copiado integralmente; o -ovc é o decodificador de vídeo, sendo que o melhor é o lavc; o -o indica qual é o arquivo de saída. Para saber quais são os codecs instalados basta digitar "mencoder -oac help" para o audio e "mencoder -ovc help" para o video. Os demais itens são parâmetros relativos aos codecs, mas não vou explicar aqui se não vira um livro...