Plasma、Dolphin、VLC、Samba – 断続的に発生する再生エラーの原因と解決策
Arcane Weeklyへようこそ! 今回の「Linuxで私を悩ませる問題」コーナーでは、少し変わったユースケースについてお話しします。Plasmaデスクトップ環境を使っていて、ファイルマネージャーにはDolphinを採用。DolphinからSamba経由でWindows共有フォルダにアクセスし、そこに保存された動画クリップをVLCで開いて再生しようとする——ところが、再生できるときとできないときがあるのです。
この問題はここ数ヶ月の間に遭遇したもので、特定のバージョンのPlasmaだけに限定されるわけではないようですが、主にPlasma 5.17やPlasma 5.18といった比較的新しいエディションで見られました。ローカルキャッシュ周りはかなり改善されましたが、断続的な再生トラブルは依然として残っています。ファイルを再生しようとしても、何も起こらない。しかし別のタイミングでは、問題なく動作する。それでは、デバッグしていきましょう。
問題の詳細
VLCは単にファイルを再生しないだけで、裏側で何が起きているのかを示す手がかりがほとんどありません。そこで、より詳しい情報を収集する必要があります。最も効果的なのは、メディアプレイヤーをコマンドラインから起動し、エラーメッセージを確認する方法です。実際に試してみると、次のような出力が得られます。
smb stream error: read failed (Software caused connection abort)
あまり情報量は多くありませんし、インターネット上にもこのトピックに関する議論は数多くありますが、提示されている解決策のほとんどは決定的なものとは言えません。ただ、このエラーはデータの読み込みに問題があることを示唆しています。おそらくDolphinが共有からデータのチャンクを取得しようとしているものの、何らかの理由でそれがうまくいっていないのでしょう。手がかりを得たところで、調査を進めていきます。
解決策
徹底的に調べた結果、この問題を突き止めたと思われるVLCのバグレポートを見つけました。問題は比較的新しいビルドのメディアプレイヤー、具体的にはバージョン3.0.8以降で発生するようです。この時期はPlasmaに導入された多数の変更と重なっており、それが問題を悪化させています。さらに興味深いことに、この問題はVLC固有でありながらPlasma固有でもあります。同じビルドのVLCでも、リモート接続にKIOではなくGVFSを使用しているXfceやGNOMEデスクトップでは正常に動作するからです。
VLC 3.0.8ではプリフェッチの読み取り値が変更されており、これがPlasma上で奇妙な動作を引き起こすようです。この値はVLCの設定画面で確認・調整できます。「すべての設定を表示」>「ストリームフィルター」>「prefetch」と進んでください。デフォルトでは、バッファサイズが16KBに設定されている一方、読み取りサイズは16MBになっているはずです。この読み取り値をバッファ値と同じ16KBに変更し、VLCを再起動すると、動作が正常化され、接続中断エラーなしでSamba共有からファイルを再生できるようになります。

まとめ
実際にこの解決策を発見した方に心から感謝します。「Harvester(ハーベスター)」というアバター名は、粘り強く掘り下げて答えを見つけ出したという経緯にぴったりですね(笑)。今回分かったのは、二つの要因が絡み合っているという点です。まずVLCのバージョンが関係しています。しかし同時に、この問題はPlasmaでのみ発生し、しかも新しいバージョンで起こります。両フレームワークの開発は並行して進んできたため切り離すことができず、古いPlasmaリリースではこの現象に遭遇しなかった理由もそれで説明できます。つまり、この問題を目撃するには三つの条件が揃う必要があるのです。複合的な問題のトラブルシューティングは、決して楽なものではありません。
Plasmaのリモート共有接続スタックが早く完全に修正されることを願っています。現状では他のデスクトップ環境に比べて一歩遅れており、メディアプレイヤーがどんなバッファ/読み取り値を設定しているかをユーザー自身が気にかけなければならない状態だからです。本来はもっと透過的であるべきですし、そうあるべきでしょう。バグトラッカーは有用ですが、目を通す人は多くないのが実情ですし、根本的なバグ条件も残ったままです。とはいえ、この記事があなたの問題解決の一助となれば幸いです。
それでは、また次回。
-
Miro(ミロ)徹底解説 – デスクトップで楽しむ無料インターネットTVプレイヤー
「Miro」という名前を聞いたことがある方もいるかもしれません。以前は「Democracy Player」という名称で知られていたこのアプリです。初めての方のために簡単に説明すると、Miroはスタイリッシュで多機能な最新のマルチメディアアプリケーションです。インターネット上のメディアへの扉を開き、音楽や動画をユーザーのデスクトップへ直接ストリーミング配信することを目的としています。今回はMiroを実際に操作しながら、その可能性を詳しく見ていきましょう。 Miroの入手方法 MiroはLinux、Windows、Macの3つのプラットフォームに対応しています。公式サイトからダウンロードできるほ
-
Firefoxが既定ブラウザに設定できない問題の解決法(KDE Plasma・KDE neon編)
以前、KDE neonでNetwork Managerまわりのトラブルに悩まされた話をしましたが、あの日私が直面した問題はそれだけではありませんでした。VPNのテスト作業の一環として、時間を節約するために、Kubuntuで使っていた堅牢化(hardened)されたFirefoxのプロファイルをneon環境へコピーしたのです。広告ブロック、ユーザーエージェント、ポップアップブロック、WebRTC関連の設定など、すべてを一からやり直す気力はありませんでした。実際、Firefoxの優れた点の一つは、プロファイルをマシン間で簡単にコピーできることで、私自身も過去に何度も成功させてきた経験があります。と