Os arquivos de legenda são fornecidos em diversos formatos, de .srt a .sub a .ass e assim por diante. Existe uma maneira de dizer ao MPV para procurar arquivos de legenda junto com os arquivos de mídia e se isso acontecer para começar a reproduzir o arquivo automaticamente. Atualmente, tenho que fazer algo assim, que pode ser bastante longo, dependendo do nome do arquivo -
[$] mpv --list-options | grep sub-file
(null) requires an argument
--sub-file String list (default: ) [file]
Ansioso por respostas.
Atualização 1 - Um filme típico que possui .srt (ou subscrito)
[$] mpv Winter.Sleep.\(Kis.Uykusu\).2014.720p.BrRip.2CH.x265.HEVC.Megablast.mkv
(null) requires an argument
Playing: Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.mkv
(+) Video --vid=1 (*) (hevc)
(+) Audio --aid=1 (aac)
(+) Subs --sid=1 'Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.srt' (subrip) (external)
[vo/opengl] Could not create EGL context!
[sub] Using subtitle charset: UTF-8-BROKEN
AO: [alsa] 48000Hz stereo 2ch float
VO: [opengl] 1280x536 yuv420p
AV: 00:02:14 / 03:16:45 (1%) A-V: 0.000
A linha mais interessante é esta: -
(+) Subs --sid=1 'Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.srt' (subrip) (external)
Agora, se o arquivo fosse como .ass ou .sub com o mesmo nome de arquivo, não funcionaria. Eu tentei em muitos arquivos de mídia que possuem essas extensões e cada vez que o mpv carrega o vídeo, o áudio e os protocolos, mas não os arquivos de legenda externos.
Atualização 2 - A parte do script .ass está listada como um bug nos bts do mpv - https://github.com/mpv-player/mpv/issues/2846
Atualização 3 - Tentei depurar com a ajuda do upstream, arquivado https://github.com/mpv-player/mpv/issues/3091 para isso.
Parece que não é o mpv o responsável, mas o ffmpeg (e o libavformat) que deve decodificar as legendas. Portanto, adicionamos o ffmpeg a ele também.
fonte
srt
. Você pode registrar um problema sobre isso.0.17
usar o0.14
pacote. A0.14
embalagem tem 4 correções contra a montante, mas a maioria parece bastante trivial.Respostas:
Como visto em
man mpv
:exact
pareceria a escolha apropriada, mas como é o padrão e não carrega arquivos como[video name minus extension].srt
,fuzzy
é a próxima melhor aposta e funciona no meu sistema.Tão apenas
echo "sub-auto=fuzzy" >> ~/.config/mpv/mpv.conf
.fonte
Eu uso uma função simples:
Se você quiser testar a presença de arquivos de legenda com extensões diferentes, poderá usar uma abordagem mais complexa:
fonte
se você deseja criar algo assim, (clique em qualquer arquivo associado ao mpv e reproduza com legendas)
dentro
/usr/share/applications/mpv.desktop
:então dentro do
mpv2.sh
script:fonte