mpv
Eu acho que a melhor abordagem é com mpv
(disponível via sudo apt install mpv
).
Eu vou assumir que todas as legendas estão embutidas (conforme especificado na pergunta) ou em um arquivo externo separado, mas com o nome adequado (por exemplo, se o filme for chamado de file1.mkv
arquivo de legenda file1.srt
). Caso contrário, você pode especificar os arquivos de legenda explicitamente adicionando opções --sub-file=subtitle_file_lang_xx.src
, --sub-file=subtitle_file_lang_yy.src
etc. ou brincando com --sub-auto
(por exemplo --sub-auto=fuzzy
).
Independentemente de como foram escolhidas (incorporadas ou de um arquivo externo), cada conjunto de legendas estará em seu próprio "fluxo" quando você reproduzir o arquivo de vídeo. Os fluxos recebem índices consecutivos inteiros (1, 2, 3 ...). Em geral, as legendas internas terão (logicamente) os índices anteriores. Os índices de fluxo, seus idiomas (se a legenda tem um idioma especificado) e se a legenda é de um arquivo externo, são exibidos no terminal quando você reproduz o arquivo mpv
. Por exemplo, depois de executar mpv file1.mkv
:
(+) Subs --sid=1 --slang=eng (*) (subrip)
Subs --sid=2 --slang=fra (subrip)
Subs --sid=3 'file1.srt' (subrip) (external)
Aqui, as duas primeiras legendas são incorporadas, com os idiomas inglês ( eng
) e francês ( fra
), respectivamente, enquanto a terceira é de um arquivo externo. Os índices ( sid
) são 1, 2, 3. O fluxo de legenda padrão é o primeiro (marcado com a (*)
) e também é o selecionado (com a (+)
).
Conhecendo esses índices, você pode especificar as legendas "principal" e secundária com as opções --sid
e --secondary-sid
. Por exemplo, para exibir as legendas em inglês, do exemplo anterior, como legendas principais, e as francesas, como secundárias, você pode executar (em um terminal):
mpv --sid=1 --secondary-sid=2 file1.mkv
Ciclagem de legendas secundárias com atalhos de teclado
Por padrão, não há atalhos de teclado para alternar as legendas secundárias (da maneira que você pode alternar as legendas "principais" com j
e J
( Shift+ j)). No entanto, você pode adicionar muito facilmente.
Por exemplo, se você adicionar o seguinte ao seu ~/.config/mpv/input.conf
(ou mais geralmente, seu ${XDG_CONFIG_HOME}/mpv/input.conf
):
Ctrl+j cycle secondary-sid
Ctrl+J cycle secondary-sid down
então Ctrl+ jalternará as legendas secundárias na mesma direção que j
alterna as principais (aumentando o índice do fluxo de legendas) e Ctrl+ Shift+ as jalternará na direção oposta J
(diminuindo o índice do fluxo de legendas).
VLC
Se você prefere o VLC, ele também suporta legendas duplas / secundárias, a partir da versão 4.0.0. Fazê-lo funcionar parece atualmente um pouco mais complicado do que com o MPV.
Primeiro, você precisa ativá-los, em geral. Vá para Ferramentas> Preferências> Legendas / OSD> Legendas duplas (na parte inferior)> Alinhar e altere-o para qualquer coisa, exceto a não definida. Você também pode precisar ajustar o deslocamento (a configuração adjacente).
Ao reproduzir um vídeo, você precisa "Alternar controle de legenda secundária" com o atalho padrão Ctrl+ Shift+ V. (Isso significa que os atalhos normais de controle de legenda, como vou Alt+ v, para alternar entre as legendas para trás e para frente, agora serão aplicados às legendas secundárias, e não às legendas principais. Pressionar Ctrl+ Shift+ Vnovamente alternará para que elas se apliquem às legendas principais .) Em seguida, pressione vo número certo de vezes para alternar para as legendas (secundárias) desejadas.