LINUX.ORG.RU

Digest Authentication с помощью libvlc

 ,


0

1

Привет, ЛОР!

У меня есть видеосервер с авторизацией через Digest Authentication. Он отдает видео по ссылкам вида http://127.0.0.1:9786/cameras/0/video.

Если я эту ссылку подсовываю в VLC, то у меня вылезает окно ввода логина/пароля, и после ввода логина пароля видео с камеры наблюдения воспроизводится.

Но меня интересует отображение видео в своем приложении. Соответственно, вопрос в том, как реализовать аутентификацию с помощью libvlc?

Пока что я нашел файл include/vlc/plugins/vlc_http.h в котором, как я понял, есть функции для создания всех необходимых заголовков, но как их передавать непосредственно видеосерверу?

Буду благодарен за пример кода или за ссылку на то, где про это можно почитать!

Я пока только начал ковырять libvlc, есть минимально работающий код, который воспроизводит видео с другого видеосервера без аутентификациии:

...
#include <vlc/vlc.h>
...
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;

const char * const vlc_args[] = {
		  "--live-caching=100",
		  "--network-caching=100"
              };

/* Load the VLC engine */
inst = libvlc_new (sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);

/* Как добавить сюда аутентификацию??? */

/* Create a new item */
m = libvlc_media_new_location (inst, "http://127.0.0.1:8080/video?login=root&password=c4ca4238a0b923820dcc509a6f75849b&channelid=71bb90d9-6d65-4807-9914-108b7e6b38e5");

/* Create a media player playing environement */
mp = libvlc_media_player_new_from_media (m);

/* No need to keep the media now */
libvlc_media_release (m);

/* play the media_player */
libvlc_media_player_play (mp);

...

★★

Ответ на: комментарий от Krieger_Od

Первый вариант, насколько я понимаю, не должен проходить, ибо digest authentication подразумевает другое.

Доступные опции libvlc_new тоже изучал, правда по другому поводу. Но вроде ничего подходящего там не обнаружилось.. Надо будет еще раз глянуть.

solovey ★★
() автор топика
Ответ на: комментарий от solovey

Первый вариант, насколько я понимаю, не должен проходить, ибо digest authentication подразумевает другое.

ну вы попробуйте всё равно.

Krieger_Od ★★
()

По-моему, проще посмотреть в коде самого VLC Player-а, как это делают они.

undertaker ★★
()
Ответ на: комментарий от Krieger_Od

Только сейчас дошли руки проверить, до этого ковырял интеграцию с другим видеосервером...

Спасибо, добрый человек =)

solovey ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.