Привет, ЛОР!
У меня есть видеосервер с авторизацией через 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);
...