Extrair legendas de DVD para .srt(Atualizado)

Dicas para você dar aquela personalizada no seu BIG LINUX e mais programas interessantes pra você adicionar ao seu sistema.

Moderador: Moderadores

Avatar do usuário
klaos
EXTREME BIG
Mensagens: 795
Registrado em: 13 Mar 2006, 01:21
Localização: Curitiba Paraná

Extrair legendas de DVD para .srt(Atualizado)

Mensagem por klaos » 08 Ago 2007, 22:09

Esse tutorial ensinarei passo a passo como extrair legendas de DVD sem dificuldades
Peço desculpa a ultima versão do tutorial que estava incorreta posto aqui uma versão corrigida e melhorada

Programas necessários:

subtitleripper --> instala sudo apt-get install subtitleripper

mplayer(incluido no big)

transcode --> instala sudo apt-get install transcode

tesseract --> sudo apt-get instal tesseract-ocr (repositorio getdebs)

imagemagick --> sudo apt-get install imagemagick


tesseract por padrão não possui arquivos necessários que seria o dicionario usado para converter foto em texto aki postarei um breve tutorial

instale normalmente pelo apt-get o programa e baixe o arquivo

http://tesseract-ocr.googlecode.com/fil ... por.tar.gz

e http://tesseract-ocr.googlecode.com/fil ... eng.tar.gz

e coloque os arquivos na pasta /usr/share/tessdata e /usr/share/tesseract-ocr/tessdata

Listar legendas do DVD

use o comando

Código: Selecionar todos

lsdvd -s 

Código: Selecionar todos

Disc Title: 24_HORAS_01
Title: 01, Length: 00:42:41.153 Chapters: 06, Cells: 06, Audio streams: 03, Subpictures: 02

Subtitle: 01, Language: en - English, Content: Undefined, Stream id: 0x21 Subtitle: 02, Language: pt - Portugues, Content: Undefined, Stream id: 0x24,
Nesse exemplo mostra o title possui 42 minutos possui 2 legendas o que é necessário anotar é 0x21 ou 0x24 que ID das legendas vc escolhe qual ira ripar se é o inglês português

Pasta legenda:[/b]

é bom criar uma pasta pois será gerado muitos arquivos

Código: Selecionar todos

mkdir legenda-dvd
cd legenda-dvd 
Extraindo Legenda:

Código: Selecionar todos

tccat -i /dev/dvd -T 1 -L | tcextract -x ps1 -t vob -a 0x24 > subs-pt

subs-pt poderá ser trocado por subs-en(inglês) ou subs-fr(frances) etc...

-a 0x24 é legenda troque como no exemplo para 0x21 se quiser inglês

-T 1 pode ser trocado pr T 2 caso queira ripar a legenda do title 2


Esse processo é meio demorado...



bem ainda no konsole digite:

Código: Selecionar todos

subtitle2pgm -o pt -c 255,255,0,255 < subs-pt
troque o subs-pt pelo nome que escolheu no comando anterior

depois de gerado sua legenda perceberá que possui vários arquivos na pasta isso é legenda em modo de foto cada texto da legenda representa uma foto...

Convertendo images:

O Programa usado para converter foto em texto só aceita arquivos que tiverem no formato .tif o subtitle2pgm gera arquivos em .pgm o comando a seguir converte tudo para .tif

Código: Selecionar todos

for i in $(ls); do convert $i  $i.tif ; done
poderá usar o comando rm *.pgm para remover as imagens antigas

Alterando o index legenda
ele ira renomear index pois tava detectando os arquivos .pgm o comando ira trocar para .tif

Código: Selecionar todos

sed -e 's/.pgm/.pgm.tif/g;' subs-pt.srtx > subs-pt2.srtx
depois o comando mv subs-pt2.srtx subs-pt.srtx

Agora o mais importante converter as fotos para texto:

use o comando:

Código: Selecionar todos

for i in $(ls); do tesseract $i  $i -l por; done
onde diz tesseract $i $i -l por; pode trocar por
tesseract $i $i -l eng; caso esteja extraindo legenda em inglês

pode usar o comando para remover as fotos

rm *.tif



srttool -s -w -i subs-pt.srtx -o legenda.srt

Pronto sua legenda em srt foi criado com sucesso


poderá usar o seguinte comando para remover os arquivos indesejados:

rm *.txt[/url]


Os comandos todos devem ser executados pelo konsole dentro da pasta criada para legendas*

Avatar do usuário
rafaelkafka
BIGGER
Mensagens: 155
Registrado em: 19 Set 2004, 18:23

Mensagem por rafaelkafka » 14 Jul 2009, 16:04

Parabéns, Klaos, ficou excelente.
Diretor Jurídico - Biglinux S/A

Avatar do usuário
34129xt
MESTRE BIG
Mensagens: 2705
Registrado em: 14 Out 2008, 20:19

Mensagem por 34129xt » 14 Jul 2009, 17:33

rafaelkafka, Coveiro. O tópico tem uns 2 anos... :P

Avatar do usuário
Jorgebadad
Big Moderador!
Mensagens: 4219
Registrado em: 23 Fev 2008, 17:17
Localização: Manaus-AM

Mensagem por Jorgebadad » 14 Jul 2009, 18:04

E a pá de ouro vai para...

zuadas
Mini BIG
Mensagens: 1
Registrado em: 20 Dez 2009, 11:28
Localização: Maceió
Contato:

Mensagem por zuadas » 20 Dez 2009, 11:31

klaos, Bom Dia companheiro.


Eu parei no

"tccat -i /dev/dvd -T 1 -L | tcextract -x ps1 -t vob -a 0x24 > subs-pt"

Se eu retiro o parâmetro -L ele funciona, e o -L é pra ele "ir até o fim", tem algum esquema pra ele funcionar? :x

mauriciolf-net
Mini BIG
Mensagens: 1
Registrado em: 13 Dez 2010, 21:53

Re:

Mensagem por mauriciolf-net » 15 Dez 2010, 23:42

zuadas escreveu:klaos, Bom Dia companheiro.


Eu parei no

"tccat -i /dev/dvd -T 1 -L | tcextract -x ps1 -t vob -a 0x24 > subs-pt"

Se eu retiro o parâmetro -L ele funciona, e o -L é pra ele "ir até o fim", tem algum esquema pra ele funcionar? :x
Sim tem um esquema, até porque a opção '-L' pra mim também não rola. O esquema é tirar o '-L' e adicionar -> ,9999 <- exemplo:

-> tccat -i /dev/dvd -T 1,9999 | tcextract -x ps1 -t vob -a 0x24 > legenda <-

A menos claro... que o title tenha mais de nove mil novecentos e sei lá quantos chapters...
Boas Festas! :D

Trancado

Voltar para “Dicas e Utilidades”

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante