터미널에 텍스트를 시간에 맞춰 표시합니다. 약간의 마크업(굵게, 색상)이 있을 수 있습니다. 일명 ".srt 자막 재생"

터미널에 텍스트를 시간에 맞춰 표시합니다. 약간의 마크업(굵게, 색상)이 있을 수 있습니다. 일명 ".srt 자막 재생"

미디어 플레이어와는 별도로, 언어 학습을 더 쉽게 하기 위해 스크롤 텍스트 터미널에 별도의 자막을 표시하고 싶거나, 다른 시청자보다 더 많은/다른 자막을 원할 때 기본적으로 독립형 자막 플레이어를 사용하고 싶습니다.

내가 표시하려는 자막 형식은 다음과 같습니다.srt, 쉬운 텍스트 기반 형식:

<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

예:

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: (현재 하고 있는 일)

#!/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"

그런 다음 를 실행 playSRT.sh MyFile.srt하면 충분히 잘 작동하지만 어색한 일시 중지/다시 시작 및 불가능한 RW/FF와 같은 단점이 있습니다.

더 나은 솔루션을 찾고 있습니다. 검색해 보니 패키지 관리자에 적합한 프로그램이 없습니다. 이 시점에서 -내 생각에- 최선의 선택은 +/-5초 동안 재생/일시 정지를 위한 키보드 입력을 읽도록 위의 내용을 최적화/구체화하는 것입니다. 저는 "하단에 작게 분할된 2개의 자막" 퀘스트에서 해당 내용 및/또는 새로운 방향에 대한 도움을 찾고 있습니다.

관련 정보