Editando Legendas no Linux

14 de janeiro de 2019

Sou um amante do cinema mundial e regional há décadas. As legendas são a ferramenta essencial que me permitiu desfrutar dos melhores filmes em várias línguas e de vários países.

Se você gosta de assistir a filmes com legendas, deve ter notado que às vezes as legendas não estão sincronizadas ou não estão corretas.

Você sabia que pode editar legendas e torná-las melhores? Deixe-me mostrar algumas edições básicas de legendas no Linux.

Editando legendas no Linux

Editando legendas no Linux Extraindo legendas de dados de closed captions

Por volta de 2012, 2013, conheci uma ferramenta chamada CCEextractor Com o passar do tempo, ela se tornou uma das ferramentas vitais para mim, especialmente se eu encontrar um arquivo de mídia com a legenda embutida.

O CCExtractor analisa arquivos de vídeo e produz arquivos de legenda independentes a partir dos dados de legendas ocultas.

CCExtractor é uma ferramenta multiplataforma, gratuita e de código aberto. A ferramenta amadureceu bastante desde seus anos de formação e fez parte do GSOC e do Google Code-in agora e então

A ferramenta, para simplificar, é mais ou menos um conjunto de scripts que funcionam um após o outro em uma ordem serializada para fornecer uma legenda extraída.

Você pode seguir as instruções de instalação do CCExtractor em nesta página.

Depois de instalar, quando quiser extrair legendas de um arquivo de mídia, faça o seguinte:

ccextractor A saída do comando será mais ou menos assim:

.gist table {margin-bottom: 0; } $ ccextractor $ something.mkv CCExtractor 0,87, Carlos Fernandez Sanz, Volker Quetschke. Porções do teletexto retiradas do telxcc de Petr Kutaleks ————————————————————————– Entrada: $ something.mkv [Extrato: 1] [Modo de transmissão: Autodetectar] [ Programa: Auto] [Modo Hauppage: Não] [Usar código MythTV: Auto] [Modo de cronometragem: Auto] [Depurar: Não] [Entrada de buffer: Não] [Usar pic_order_cnt_lsb para H.264: Não] [Imprimir traços do decodificador CC: Não] [Formato de destino: .srt] [Codificação: UTF-8] [Atraso: 0] [Linhas de corte: Não] [Adicionar dados de cor de fonte: Sim] [Adicionar composição de fonte: Sim] [Converter case: No] [Video-edit join: No] [Horário de início da extração: não definido (do início)] [Horário de término da extração: não definido (para terminar)] [Transmissão ao vivo: Não] [Frequência do relógio: 90000] [Teletexto página: Autodetectar] [Texto de créditos inicial: Nenhum] [Modo de quantização: função interna CCExtractors] ——————————————————————– Abrindo arquivo: Arquivo $ something.mkv parece ser um contêiner Matroska/WebM Analisando dados no modo Matroska Tipo de documento: matroska Timecode escala: 1000000 Aplicativo Muxing: libebml v1.3.1 + libm atroska v1.4.2 Writing app: mkvmerge v8.2.0 (World of Adventure) 64bit Título: $ something Entrada de trilha: Número da trilha: 1 UID: 1 Tipo: vídeo Codec ID: V_MPEG4/ISO/AVC Idioma: mal Nome: $ something Entrada de trilha: Número da trilha: 2 UID: 2 Tipo: áudio Codec ID: A_MPEG/L3 Idioma: mal Nome: $ something Entrada de trilha: Número da trilha: 3 UID: somenumber Tipo: subtítulo Codec ID: S_TEXT/UTF8 Nome: $ something 99% | 144: 34 100% | 144: 34 Arquivo de saída: $ something_eng.srt Concluído, tempo de processamento = 6 segundos Problemas? Abra um tíquete aqui https://github.com/CCExtractor/ccextractor/issues ver raw ccextractor-output.txt hospedado com ❤ por GitHub Basicamente, verifica o arquivo de mídia . Nesse caso, ele descobriu que o arquivo de mídia está em malyalam e que o contêiner de mídia é um contêiner .mkv. Ele extraiu o arquivo de legenda com o mesmo nome do arquivo de vídeo adicionando_eng a ele.

O CCExtractor é uma ferramenta maravilhosa que pode ser usada para aprimorar as legendas junto com a Edição de legendas, que compartilharei na próxima seção.

Leitura interessante: Há uma sinopse interessante de legendas em vicaps que conta e compartilha por que as legendas são importantes para nós. Ele fornece muitos detalhes sobre a produção de filmes também para os interessados em tais tópicos.

Editando legendas com a ferramenta SubtitleEditor

Você provavelmente sabe que a maioria das legendas está em formato .srt. A coisa bonita sobre este formato é e era que você poderia carregá-lo em seu editor de texto e fazer pequenas correções nele.

Um arquivo srt se parece com isto quando iniciado em um editor de texto simples:

.gist table {margin-bottom: 0; } 1 00: 00: 00.959 - & gt; 00: 00: 13.744 O ARMÁRIO DO DR. CALIGARI 2 00: 00: 40.084 - & gt; 00: 01: 02,088 UM CONTO do reaparecimento moderno de um mito do século 11 envolvendo a influência estranha e misteriosa de um monge charlatão sobre um sonâmbulo. ver bruto sample-subtitle.txt hospedado com ❤ por GitHub O trecho da legenda que compartilhei é de um belo filme alemão antigo chamado The Cabinet of Dr. Caligari (1920 )

O Subtitleeditor é uma ferramenta maravilhosa quando se trata de edição de legendas. O Subtitle Editor é e pode ser usado para manipular a duração do tempo, a taxa de quadros do arquivo de legenda para estar em sincronia com o arquivo de mídia, a duração das pausas entre e muito mais. Vou compartilhar algumas das edições básicas de legendas aqui.

Primeiro instale o subtitleeditor da mesma forma que você instalou o ccextractor, usando seu método de instalação favorito. No Debian, você pode usar este comando:

sudo apt install subtitleeditor Depois de instalá-lo, vamos ver alguns dos cenários comuns em que você precisa editar uma legenda.

Manipulando taxas de quadros para sincronizar com o arquivo de mídia

Se você descobrir que as legendas não estão sincronizadas com o vídeo, um dos motivos pode ser a diferença entre as taxas de quadros do arquivo de vídeo e do arquivo de legenda.

Como você sabe as taxas de quadros desses arquivos, então?

Para obter a taxa de quadros de um arquivo de vídeo, você pode usar a ferramenta mediainfo. Você pode precisar instalá-lo primeiro usando o gerenciador de pacotes de sua distribuição.

Usar mediainfo é simples:

$ mediainfo somefile.mkv | Configurações de formato de frame grep: CABAC/4 Ref Frames Format configurações, ReFrames: 4 frames Modo de taxa de frame: Constant Frame rate: 25.000 FPS Bits/(Pixel * Frame): 0,082 Frame rate: 46,875 FPS (1024 SPF) Agora você pode ver essa taxa de quadros do arquivo de vídeo é de 25.000 FPS. A outra taxa de quadros que vemos é para o áudio. Embora eu possa compartilhar por que fps específicos são usados na codificação de vídeo, codificação de áudio, etc., seria um assunto diferente. Há muita história associada a isso.

A seguir é descobrir a taxa de quadros do arquivo de legenda e isso é um pouco complicado.

Normalmente, a maioria das legendas está em formato compactado. Descompactando o arquivo .zip junto com o arquivo de legenda que termina em something.srt. Junto com ele, geralmente há também um arquivo .info com o mesmo nome que às vezes pode ter a taxa de quadros da legenda.

Se não, geralmente é uma boa ideia ir a algum site e baixar a legenda de um site que tenha essa informação de taxa de quadros. Para este arquivo específico em alemão, estarei usando Opensubtitle.org

Como você pode ver no link, a taxa de quadros da legenda é de 23,976 FPS. Obviamente, ele não funcionará bem com meu arquivo de vídeo com taxa de quadros de 25.000 FPS.

Nesses casos, você pode alterar a taxa de quadros do arquivo de legenda usando a ferramenta Subtitle Editor:

Selecione todo o conteúdo do arquivo de legenda pressionando CTRL + A. Vá para Timings -> Change Framerate e altere as taxas de quadros de 23.976 fps para 25.000 fps ou o que for desejado. Salve o arquivo alterado.

sincronizar taxas de quadros das legendas no Linux sincronizar taxas de quadros das legendas no Linux

Alterando a posição inicial de um arquivo de legenda

Às vezes, o método acima pode ser suficiente, às vezes, embora não seja o suficiente.

Você pode encontrar alguns casos em que o início do arquivo de legenda é diferente daquele no filme ou arquivo de mídia, enquanto a taxa de quadros é a mesma.

Nesses casos, faça o seguinte:

Selecione todo o conteúdo do arquivo de legenda pressionando CTRL + A. Vá para Timings -> Select Move Subtitle.

Mover legendas usando o Subtitle Editor no Linux Mover legendas usando o Subtitle Editor no Linux Alterar a nova posição inicial do arquivo de legenda. Salve o arquivo alterado.

Mova as legendas usando o Subtitle Editor no Linux Mova as legendas usando o Subtitle Editor no Linux Se quiser ser mais preciso, use mpv para ver o filme ou arquivo de mídia e clique em no tempo, se você clicar na barra de tempo que mostra quanto o filme ou arquivo de mídia já passou, clicar nela também revelará o microssegundo.

Normalmente gosto de ser preciso, então tento ser o mais preciso possível. É muito difícil no MPV, pois o tempo de reação humano é impreciso. Se eu quiser ser superpreciso, uso algo como Audacity, mas esse é outro jogo de bola, já que você pode fazer muito mais com ele. Isso também pode ser algo para explorar em uma postagem futura no blog.

Manipulando a duração

Às vezes, mesmo fazer as duas coisas não é suficiente e você ainda tem que reduzir ou adicionar a duração para sincronizá-lo com o arquivo de mídia. Este é um dos trabalhos mais tediosos, pois você deve fixar individualmente a duração de cada frase. Isso pode acontecer especialmente se você tiver taxas de quadros variáveis no arquivo de mídia (raro hoje em dia, mas você ainda obtém esses arquivos).

Em tal cenário, pode ser necessário editar a duração manualmente e a automação não é possível. A melhor maneira é consertar o arquivo de vídeo (não é possível sem degradar a qualidade do vídeo) ou obter o vídeo de outra fonte com qualidade superior e transcodificar com as configurações de sua preferência. Isso novamente, embora seja um grande empreendimento, eu poderia lançar alguma luz em alguma postagem futura no blog.

Conclusão

O que eu compartilhei acima é mais ou menos como melhorar os arquivos de legenda existentes. Se você fosse começar um scratch, você precisaria de muito tempo. Eu não compartilhei isso porque um filme ou qualquer material de vídeo de, digamos, uma hora pode facilmente levar de 4 a 6 horas ou até mais, dependendo das habilidades do legendador, paciência, contexto, jargão, sotaque, falante nativo de inglês, tradutor, etc., tudo isso faz diferença na qualidade da legenda.

Espero que você ache isso interessante e, de agora em diante, você lidará com suas legendas um pouco melhor. Se você tiver alguma sugestão a adicionar, por favor, deixe um comentário abaixo.

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Shirish e publicado no site itsfoss.com. Tradução sujeita a revisão.

Editing Subtitles in Linux

Propaganda
Blog Comments powered by Disqus.
Propaganda