SMPlayerにサブディレクトリ(例:./Subs/*.srtなど)から外部字幕を確認してロードさせることはできますか?

SMPlayerにサブディレクトリ(例:./Subs/*.srtなど)から外部字幕を確認してロードさせることはできますか?

私は通常、ほとんどの場合うまく機能するVLCを使用していますが、mpvとmpvベースのプレーヤーをチェックするように提案されているので、SMPlayerが私の要件に適しているかどうかを調べようとしました。ただし、サブフォルダー内の外部字幕ファイルを検出するのに問題があります。

$ cd some-show-s01/
$ tree
.
├── Some.Show.S01E01.mp4
├── Some.Show.S01E02.mp4
├── Some.Show.S01E03.mp4
└── Subs
    ├── Some.Show.S01E01.English-1.srt
    ├── Some.Show.S01E01.English-2.srt
    ├── Some.Show.S01E02.English-1.srt
    ├── Some.Show.S01E02.English-2.srt
    ├── Some.Show.S01E03.English-1.srt
    └── Some.Show.S01E03.English-2.srt

また、ビデオファイルと正確に一致する名前(例:)を使用して、エピソードごとに1つのサブアイテムのみを試し、./Subs/Some.Show.S01E01.srt「Subs」の代わりに「Subtitles」というサブフォルダの下に2つのバリエーションを試しました。 VLCは4つのケースすべてに対して外部サブウーファーを自動的に選択します。

SMPlayerでもこれを行う方法はありますか?そうでない場合、このレイアウトをサポートするVLCに加えて、他のLinuxビデオプレーヤーはありますか?

私はFedora 35/36(デスクトップ+ノートブック)を混在して使用しており、必要に応じてソースから簡単にコンパイルできます(他のディストリビューションの依存パッケージ名を変換するのは難しいことですが)。私はSMPlayer v22.7.0(リビジョン10091)を使用しています。

# dnf list installed smplayer mpv
Installed Packages
mpv.x86_64        0.34.1-2.fc35   @rpmfusion-free-updates
smplayer.x86_64   22.7.0-1.fc35   @rpmfusion-free-updates

編集する:

mpv自体でビデオを再生し、以下を使用して字幕を読み込むことができます。

$ cd some-show-s01/
$ mpv --sub-file-paths='Subs' --sub-auto='all' ./Some.Show.S01E02.mp4

ただし、SMPlayerの設定を変更した場合この議論、基本設定 - >詳細 - > MPlayer / mpvオプションの--sub-file-paths='Subs' --sub-auto='all'オプションフィールドに追加して[適用]をクリックすると、次のエラーメッセージが表示されます。

/usr/bin/mplayer -noquiet -slave -identify -nofs -sub-fuzziness 1 -nodr -double -nomouseinput -input nodefault-bounds:conf=/dev/null -nokeepaspect -wid 92274705 -monitorpixelaspect 1 -osvelt -osd-scale 3 -progbar-align 80 -ass -embeddedfonts -ass-line-spacing 0 -ass-font-scale 1 -noflip-hebrew -ass-styles /home/myuser/.config/smplayer/styles.ass - subcp ISO-8859-1 -alang japanese,jap,jp,english,eng,en -slang english,eng,en -subpos 100 -volume 100 -ss 27 -vf-add snapshot=/home/myuser/Pictures/smplayer_screenshots/レンズ -noslices -af-add scaletempo -softvol -softvol-max 200 --sub-file-paths='Subs' --sub-auto='all' /home/myuser/Videos/podcasts/some-show-s01/一部。ショー。S01E02.mp4

コマンドラインの未知のオプション: --sub-file-paths='Subs'

コマンドラインのオプションの解析中にエラーが発生しました: --sub-file-paths='Subs'

MPlayer 1.5-11(C) 2000-2022 MPlayerチーム

ID_EXIT=なし

編集する:

解決しました。私の問題は2つあります。まず、SMPlayerがフォルダから字幕ファイルを読み込むために使用するデフォルトのビデオプレーヤーに通知するために、いくつかのパラメータを追加する必要があります。次に、パラメータを指定しましたが、mpv私のSMPlayerはデフォルトでMPlayerに設定されているため、呼び出すビデオプレーヤーを変更する必要があります。あるいは、MPlayerで同じ操作を実行するために必要なパラメータが何であるかを調べることができます(これを実行していないため、これが可能かどうかを確認できません)。

答え1

説明する

ご支援いただきありがとうございます Sir_not_sirRedditのLinux質問サブ状況を確認し、最終的に問題を解決するためのプロンプトを探しています。さらなる調査と試行錯誤が必要でしたが、ついに働くようになりました。

その人が私に指摘した。http://old-forum.smplayer.info/viewtopic.php?f=2&t=8743mpvSMPlayerは高度なオプションでパラメータと提案を渡すことができると言われています--sub-paths=/tmp/subs --sub-auto=all|fuzzy。以前は、この投稿を見たことがありますが、/tmp/subsビデオファイルに関連付けられているパスではなく静的パスにのみ適用されると仮定しました。しかし、その本をもう一度読んだ後、もう少し検索をするようになり、一つを発見しました。アーチウィキページこれは、--sub-paths「これ以上使用されていません。 --sub-file-paths を使用してください」を示します。これがまさに--sub-file-paths私が探していたものです。

--サブファイルパス=

動画に一致する字幕を検索するには、追加のディレクトリを指定します。複数のディレクトリは「:」(Windowsでは「;」)で区切ることができます。パスは相対パスでも絶対パスでもかまいません。相対パスはビデオファイルディレクトリに基づいて解釈されます。ファイルがURLの場合、絶対パスとサブ構成サブディレクトリのみがチェックされます。

はい

/path/to/video/video.avi を再生し、 --sub-file-paths=sub:subtitles を指定すると仮定すると、mpv は次のディレクトリから字幕ファイルを検索します。

  • /パス/ターゲット/ビデオ/

  • /パス/ターゲット/ビデオ/サブ/

  • /パス/ターゲット/ビデオ/字幕/

  • サブ設定サブディレクトリ(通常は~/.config/mpv/sub/)

再現のための全体的なステップは次のとおりです。

  1. SMPlayerがすでにインストールされていますmpv。 (私の問題ではありませんが、それでも重要です)。mpvここで使用されているオプションがどのバージョンに追加されたのかわかりません。私はv0.34.1を持っているので、以前のディストリビューションを使用している場合は、mpv v0.34.1以降にアップグレードできることを確認してください。
  2. SMPlayerで:オプション - >基本設定 - >一般 - >一般タブで、「mpv」として「マルチメディアエンジン」を選択し、 - >適用ボタンを選択します。
  3. SMPlayerで:オプション - >基本設定 - >詳細 - > "Mplayer / mpv"タブ - >オプションフィールドの下に追加--sub-file-paths=Subs --sub-auto=all(またはSubsフォルダと呼びたい項目) - >適用ボタンをクリックします。
  4. ビデオプレーヤーを再起動します。

関連情報