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.

Nenhum comentário: