#vlc #libvlc #vlcj
#vlc #libvlc #vlcj
Вопрос:
У меня есть видеофайл, который можно воспроизводить только с помощью прокси-сервера в vlc player, когда я пытаюсь открыть его с помощью vlcj, я не могу подключиться к этому носителю — я пытался использовать опцию настройки http-прокси в mrl ( http://path_to_media :http-proxy=proxy_address
) — но у меня это пока не сработало. Я также пытался установить переменную среды http_proxy
, но у меня это тоже не сработало. Кто-нибудь может сказать мне, что я делаю не так? Может быть, не должно быть пробела между путем к носителю и параметром конфигурации? Возможно, параметры конфигурации не работают в Windows? Как я могу получить доступ к этому видео (я знаю, что мог бы использовать для этого перекодирование, но это кажется излишним, я чувствую, что должен быть более простой способ)
Комментарии:
1. Пожалуйста, поделитесь логами и кодом
Ответ №1:
Как правило, если вы хотите передать такие параметры, как «—http-proxy», то это способ сделать это:
MediaPlayerFactory factory = new MediaPlayerFactory("--http-proxy=<your settings");
Или:
String yourProxySettings = "http://whatever.com";
MediaPlayerFactory factory = new MediaPlayerFactory("--http-proxy", yourProxySettings);
Затем используйте этот заводской экземпляр для создания вашего медиаплеера.
Я полагаю, вы используете этот механизм, а не используете параметры мультимедиа при вызове play(), потому что вы настраиваете сам экземпляр VLC, а не отдельные носители.
Предостережение: в имеющихся у меня версиях VLC я не вижу опции —http-proxy, сообщаемой как доступная опция командной строки.
Ответ №2:
Вы могли бы сделать запрос на Java, получить поток и использовать https://github.com/caprica/vlcj/blob/de90d77bc288843b4d07dad84ff9d0515e906657/src/main/java/uk/co/caprica/vlcj/media/callback/AbstractCallbackMedia.java чтобы передать его vlcj для воспроизведения.
Редактировать:
В противном случае используйте
--http-proxy=<string> HTTP proxy
HTTP proxy to be used It must be of the form
http://[user@]myproxy.mydomain:myport/ ; if empty, the http_proxy
environment variable will be tried.
из https://wiki.videolan.org/VLC_command-line_help /. Сначала попытайтесь найти правильную команду с помощью обычного интерфейса командной строки VLC. Полностью поделитесь своей попыткой здесь.
Комментарии:
1. проблема в том, что я уже создал свой проигрыватель, и я не заинтересован в изменении кода в данный момент, поэтому я пробую альтернативные способы, которые берут на себя ответственность за проксирование потока в libVLC