LINUX.ORG.RU

Запуск VLC в докер-контейнере

 ,


2

3

Пишу образ для Докера, в котором будет установлен VLC для стримов. Докерфайл

FROM debian

RUN apt-get update && \
	apt-get install -y --no-install-recommends \
		vlc && \
	useradd -m vlc && \
	usermod -a -G audio,video vlc && \
	rm -rf /var/lib/apt/lists/*

COPY runstream.sh ./
COPY web_player/static/web_player/audio ./audio
COPY web_player/static/web_player/playlists ./playlists

USER vlc
WORKDIR /home/vlc
EXPOSE 8040
ENTRYPOINT ["/runstream.sh"]

runstream.sh

#!/bin/bash
cvlc /playlists/pl1.xspf --sout-keep --sout='#transcode{acodec=mp3,channels=2} :standard{mux=mp3,access=http,dst=:8040}'
[000055cecb4e28b0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[000055cecb4db890] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[000055cecb4db890] main interface error: no suitable interface module
[000055cecb447420] main libvlc error: interface "dbus,none" initialization failed
[000055cecb4fed20] main interface error: no suitable interface module
[000055cecb447420] main libvlc error: interface "globalhotkeys,none" initialization failed
[000055cecb4fed20] dummy interface: using the dummy interface module...                                                                                                                                              

По-моему странно то, что при запуске через cvlc (no-gui-режим) он просит х-server. Ну и ошибка с pulseaudio.

UPD: на базовом образе Ubuntu 16.04 или 18.04 то же самое

По-моему странно то, что при запуске через cvlc (no-gui-режим) он просит х-server.

По-моему, в дебиане vlc по умолчании открывается с окном под видео. То что, ты желаешь проигрывать звук из консоли vlc «не колышет» — у него в настройках «Автоматический показ интерфейса ВИДЕО» и всё* остальное для него не существенно.

ошибка с pulseaudio.

pulseaudio нет,а ему нужно. Или ошибка какая-то иная?

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

Ну вот у VLC есть несколько UI (web, qt, консолька). cvlc по идее должен открывать вариант без графического интерфейса (что, собственно, происходит под десктопным дебианом или убунту). Пробовал ставить пакет с Pulseaudio, это погоды не делает. Он видимо к нему не может подрубиться. Там в первой строчке лога

mafatik ()
Ответ на: комментарий от mafatik

Он видимо к нему не может подрубиться. Там в первой строчке лога

... которую я до конца не дочитал :(

Connection refused

cvlc по идее должен открывать вариант без графического интерфейса (что, собственно, происходит под десктопным дебианом или убунту).

я прежде чем, «порадовать» тебя своим комментарием запускал cvlc в консоли с аналогичным твоему результатом

«А X-ы???»

вот в эмуляторе терминала — да играет без интерфейса. Но эмулятор терминала вне X-в не работает. В контейнере же только консоль...

anymouze ★★ ()

Я знаю только, что VLC очень хитрая прога и иногда игнорирует настройки, перебирая варианты, чтобы был рабочий результат.

Я как-то файл проблемного фильтра пытался удалить, так VLC все новые и новые режимы задействовал, чтобы картинку показать. И без pulse он вполне работает, даже если задана пульса.

Nakita-Markov ()