字幕ファイルは、.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スクリプトセクションがmpvのbtsにエラーとしてリストされています。https://github.com/mpv-player/mpv/issues/2846
Update 3 - アップストリームの助けを借りてデバッグを試み、コミットしました。https://github.com/mpv-player/mpv/issues/3091そのような理由で。
mpvではなく字幕デコードを担当するffmpeg(およびlibavformat)のようです。だからffmpegも追加されました。
ベストアンサー1
見たようにman mpv
:
--sub-auto=<no|exact|fuzzy|all>, --no-sub-auto
Load additional subtitle files matching the video filename. The
parameter specifies how external subtitle files are matched.
exact is enabled by default.
no Don't automatically load external subtitle files.
exact Load the media filename with subtitle file extension
(default).
fuzzy Load all subs containing media filename.
all Load all subs in the current and --sub-paths directories.
exact
適切な選択肢だと思いますが、これがデフォルトであり、似たようなファイルをロードしないので、これは[video name minus extension].srt
私fuzzy
のシステムで動作します。
だからちょうどecho "sub-auto=fuzzy" >> ~/.config/mpv/mpv.conf
。