Exibição cronometrada de texto no terminal, talvez com ligeira marcação (negrito, cores). Também conhecido como "reproduzir legendas .srt"

Exibição cronometrada de texto no terminal, talvez com ligeira marcação (negrito, cores). Também conhecido como "reproduzir legendas .srt"

Independentemente do reprodutor de mídia, quero exibir legendas separadas em um terminal de texto de rolagem para facilitar o aprendizado de idiomas, ou quando desejo legendas mais/diferentes do que os outros visualizadores, basicamente um reprodutor de legendas independente.

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 corro playSRT.sh MyFile.srt, e isso funciona suficientemente bem, mas tem deficiências, como pausa/retomada estranha e RW/FF impossível.

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

informação relacionada