Файлы субтитров могут быть разных форматов, от .srt до .sub, .ass и так далее, и так далее. Есть ли способ сказать mpv, что нужно искать файлы субтитров вместе с медиа-файлами, и если это происходит, автоматически начать воспроизведение файла. В настоящее время я должен сделать что-то вроде этого, что может быть довольно долго, в зависимости от имени файла -
[$] mpv --list-options | grep sub-file
(null) requires an argument
--sub-file String list (default: ) [file]
С нетерпением ждем ответов.
Обновление 1 - типичный фильм, который имеет .srt (или индекс)
[$] 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
Самая интересная строка такова:
(+) Subs --sid=1 'Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.srt' (subrip) (external)
Теперь, если файл был как .ass или .sub с тем же именем файла, он не будет работать. Я пробовал это во многих медиа-файлах, которые имеют эти расширения, и каждый раз mpv загружает видео и аудио и протоколы, но не внешние файлы субтитров.
Обновление 2 - часть скрипта .ass указана как ошибка в bts для mpv - https://github.com/mpv-player/mpv/issues/2846
Обновление 3 - пытался отлаживать с помощью апстрима, подал https://github.com/mpv-player/mpv/issues/3091 для этого.
Хотя кажется, что это не mpv, а ffmpeg (и libavformat), который должен декодировать субтитры. Следовательно, к нему тоже добавили ffmpeg.
источник
srt
. Вы можете подать вопрос об этом.0.17
использования0.14
упаковки.0.14
Упаковка имеет 4 патчей вверх по течению, но в основном они выглядят довольно тривиальны.Ответы:
Как видно из
man mpv
:exact
может показаться подходящим выбором, но, поскольку он используется по умолчанию и не загружает такие файлы[video name minus extension].srt
,fuzzy
это следующая лучшая ставка, и она работает в моей системе.Так просто
echo "sub-auto=fuzzy" >> ~/.config/mpv/mpv.conf
.источник
Я использую простую функцию:
Если вы хотите проверить наличие файлов субтитров с различными расширениями, вы можете использовать более сложный подход:
источник
если вы хотите создать что-то подобное (нажмите на любой файл, связанный с mpv и поиграйте с субтитрами)
внутри
/usr/share/applications/mpv.desktop
:затем внутри
mpv2.sh
скрипта:источник