Subliminal: buscando legendas via terminal

Publicado por Luís Fernando C. Cavalheiro em 27/09/2017

[ Hits: 5.780 ]

Blog: https://github.com/lcavalheiro/

 


Subliminal: buscando legendas via terminal



Tretadores e deboístas do Viva o Linux, aqui começa mais uma Dica do Dino® trazendo para vocês informações do tempo em que só de terminal se vivia em GNU/Linux. Hoje eu quero compartilhar com vocês uma descoberta recente mas muito interessante. Imagine que você tenha um diretório cheio de filmes ou episódios de uma série qualquer (não me interessa como você conseguiu isso) e precise caçar a legenda pra todos eles? Lá se vai uma tarde tediosa no OpenSubtitles.org fuçando vídeo a vídeo, certo?

Errado! Existe um programinha em Python que faz o trabalho braçal para você. Senhores, sejam apresentados ao subliminal! Vamos ver como ele funciona?

Instalando o subliminal

Primeiro procure se existe o pacote python3-subliminal ou algo assim nos repositórios de sua distro. Se não existir, instale com:

# pip3 install subliminal

Usando o subliminal

Ele é um aplicativo para linha de comando, então abra um terminal e lance alguns comandos. Não temam, ubunteiros, é apenas um terminal, ele não morde.

cd /diretorio/onde/ovideo/esta
$ subliminal download -l pt-BR -p opensubtitles arquivodevideo


Explicando:
  • -l: indica o idioma no qual a legenda será baixada, no caso, português do Brasil;
  • -p: indica onde o subliminal vai procurar a legenda, no caso no OpenSubtitles.org. Pode ser especificado mais de uma vez e as opções possíveis são addic7ed, legendastv, opensubtitles, podnapisi shooter, thesubdb e tvsubtitles.

Mas Dino®, eu quero baixar legendas para todos os vídeos em um determinado diretório. Como faz?

Como hoje eu estou paciente, vou te explicar como. Usa um find, caceta! Veja um exemplo:

find /diretorio/onde/osvideos/estao -type f -execdir subliminal download -l pt-BR -p opensubtitles {} \;

Onde:
  • -type f indica que o find deve processar apenas os arquivos em si, não os diretórios;
  • -execdir... indica o que o find deve fazer com cada arquivo encontrado, no caso executar o comando que o segue. O {} substitui o nome do arquivo e esse uso do find deve terminar com os caracteres \;

Difícil?

Conclusão

E é isso, senhores. Caso vocês queiram ler mais sobre o subliminal, clique aqui para ser direcionado para a página do projeto, e é isso. Com isso eu encerro mais esta Dica do Dino® com o famoso GET SLACK OR DIE!!!

Outras dicas deste autor

Compilando OpenJDK e IcedTea no Slackware usando SlackBuild de AlienBOB

Alterando plano de fundo da tela de login do Fedora (GNOME)

Smartphones Xperia - Montando e criando diretório em cartão de memória

Skype no Slackware SEM PulseAudio

X-Box no Ubuntu 12.04 - Configurando Joystick

Leitura recomendada

Obtendo mirrors mais velozes no Arch Linux

Superkaramba sob x86_64

Lidando com erros de execução em seus programas

Crie o seu jogo roguelike em Python

Usando a função map em vez de for (Python)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts