vlcj はメディアアクセスをネイティブの LibVLC に委ねます。プレイヤーの作成に使う MediaPlayerFactory を構築するときに、プロキシオプションを渡します。

import uk.co.caprica.vlcj.factory.MediaPlayerFactory;

var factory = new MediaPlayerFactory(
    "--http-proxy", "http://proxy.example.net:8080");
var player = factory.mediaPlayers().newMediaPlayer();

オプションとその値は別々のコンストラクタ引数で、LibVLC の引数インターフェースに合わせています。生成されたプレイヤーは、そのファクトリのネイティブインスタンス設定を使用します。HTTP プロキシ一覧の HTTP エンドポイントをプロキシ引数に指定すれば、許可された公開メディアへアクセスできます。

Java の http.proxyHost プロパティを変更しても、このネイティブ HTTP 設定は自動的に置き換わりません。同様に、別のファクトリから作成したメディアプレイヤーは別の設定を持つことがあります。

読み込んだ LibVLC のバージョンとその HTTP アクセスモジュールがこのオプションをサポートしていることを確認してください。Java 経由で未サポートの引数を渡しても、ネイティブライブラリにその機能は追加されません。

これは HTTP メディアアクセスを設定します。RTSP や UDP など、すべてのメディアプロトコルを HTTP プロキシ要求に変換するわけではありません。プレイヤーを解放し、続いてそれを所有するファクトリを、アプリケーションの通常の vlcj ライフサイクルで解放してください。

関連記事