Exibição temporizada de texto no terminal, talvez leve marcação (negrito, cores). A.K.A. “Reproduzir legendas .srt”

2

Independente do reprodutor de mídia, quero exibir legendas separadas em um terminal de texto de rolagem para facilitar o aprendizado de idiomas ou quando quiser legendas mais / diferentes do que os outros visualizadores, basicamente um player de legendas autônomo.

O formato de legenda que estou procurando exibir é srt , um formato fácil baseado em texto :

<indexNr>                    # Starts at 1, then 2, 3, ...
<startTime> --> <endtime>    # Both times in format "hh:mm:ss,ms"
<body1>                      # Subtitle text Line
<bodyN>                      # Optional following lines
<emptyLine>                  # Empty line as separator

Exemplo:

1
00:00:02,623 --> 00:00:05,054
U&L StackExchange Studios present
♫ Nice Tune playing ♫

2
00:00:06,823 --> 00:00:08,414
From the <b>A Quick Hack</b> series

3
00:00:10,123 --> 00:00:23,054
Viewing Srt Files with Perl:

~/bin/playSRT.sh : (o que eu faço atualmente)

#!/bin/sh
perl -lane 'BEGIN{$counter=1;}
if(@F[1]=~ /-->/) {
  @t=split(":",(split(",",@F[0]))[0]);
  $s=@t[0]*3600+@t[1]*60+@t[2] ;
  #print "Waiting until $s s @t[0] @t[1] @t[2]";
  sleep($s-$last); $last=$s;
} else {if (@F[0] == $counter) {$counter++} else {print }}
' "$1"

Eu, então, executo playSRT.sh MyFile.srt , e isso funciona suficientemente bem, mas tem falhas, como pausa / retoma inábil e impossibilidade de RW / FF.

Estou procurando uma solução melhor. Eu pesquisei e não tenho programas adequados no meu gerenciador de pacotes. Neste ponto, eu acho que a minha melhor opção é otimizar / entender o acima para ler a entrada do teclado para reproduzir / pausar, +/- 5 seg. Estou procurando ajuda com isso e / ou novas direções na missão "2 legendas em pequenas divisões na parte inferior".

    
por Alex Stragies 25.05.2017 / 22:05

0 respostas