Les fichiers de sous-titres sont disponibles dans une variété de formats, de .srt à .sub à .ass et ainsi de suite et ainsi de suite. Existe-t-il un moyen de dire à mpv de rechercher des fichiers de sous-titres en même temps que les fichiers multimédias et s'il le fait pour commencer à lire le fichier automatiquement. Actuellement, je dois faire quelque chose comme ça qui peut être assez long en fonction du nom de fichier -
[$] mpv --list-options | grep sub-file
(null) requires an argument
--sub-file String list (default: ) [file]
Réjouissez-vous des réponses.
Mise à jour 1 - Un film typique qui a .srt (ou indice)
[$] 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
La ligne la plus intéressante est la suivante: -
(+) Subs --sid=1 'Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.srt' (subrip) (external)
Maintenant, si le fichier était au format .ass ou .sub avec le même nom de fichier, cela ne fonctionnerait pas. Je l'ai essayé dans de nombreux fichiers multimédias qui ont ces extensions et à chaque fois que mpv charge la vidéo et l'audio et les protocoles mais pas les fichiers de sous-titres externes.
Mise à jour 2 - La partie de script .ass est répertoriée comme bogue dans les bts de mpv - https://github.com/mpv-player/mpv/issues/2846
Mise à jour 3 - J'ai essayé de déboguer avec l'aide de l'amont, déposé https://github.com/mpv-player/mpv/issues/3091 pour cela.
Il semble cependant que ce n'est pas mpv qui est responsable mais ffmpeg (et libavformat) qui est censé décoder les sous-titres. C'est pourquoi nous y avons également ajouté ffmpeg.
la source
srt
. Vous pouvez déposer un problème à ce sujet.0.17
utiliser l'0.14
emballage. L'0.14
emballage a 4 correctifs contre en amont, mais ils semblent pour la plupart assez banals.Réponses:
Comme vu dans
man mpv
:exact
semblerait être le choix approprié, mais comme c'est la valeur par défaut et qu'il ne charge pas les fichiers comme[video name minus extension].srt
,fuzzy
c'est le meilleur pari suivant et cela fonctionne sur mon système.Si juste
echo "sub-auto=fuzzy" >> ~/.config/mpv/mpv.conf
.la source
J'utilise une fonction simple:
Si vous souhaitez tester la présence de fichiers de sous-titres avec différentes extensions, vous pouvez utiliser une approche plus complexe:
la source
si vous voulez créer quelque chose comme ça, (cliquez sur n'importe quel fichier associé à mpv et jouez avec des sous-titres)
à l'intérieur
/usr/share/applications/mpv.desktop
:puis à l'intérieur du
mpv2.sh
script:la source