Потоковые медиафайлы через DLNA/UPnP
В настоящее время я запускаю Raspbmc на моем малине Pi и активировал UPnP, передавая рендеринг.
Моя цель - написать простой Python для потоковой передачи видео или музыкального плейлиста.
Я пробовал Coherence, но я это бросаю кучки исключений, и я действительно не понимаю, как документация довольно хаотичная. Поэтому я ищу более простой способ/библиотеку.
Какой самый простой способ передавать медиафайлы на мой телевизор с помощью Python?
Ответы
Ответ 1
Только для аудио,
Я получил хорошие результаты с ригелем.
Сложная часть состоит в том, чтобы сконфигурировать соединитель импульсного звука GstLaunch в файле .config/rygel.conf.
Вот мой раздел, но вы можете получить правильный источник pulseaudio с помощью следующей команды:
pactl list | egrep -A2 '^(\*\*\* )?Source #' | grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1
Вот мой раздел GestLaunch:
[GstLaunch]
enabled=true
launch-items=myaudiowav;myaudiompeg
myaudiowav-title=WAV audio on @[email protected]
myaudiowav-mime=audio/x-wav
myaudiowav-launch=pulsesrc device=alsa_output.pci-0000_00_14.2.analog-stereo.monitor ! audio/x-raw,channels=2 ! wavpackenc
myaudiompeg-title=MPEG audio on @[email protected]
myaudiompeg-mime=audio/mpeg
myaudiompeg-launch=pulsesrc device=alsa_output.pci-0000_00_14.2.analog-stereo.monitor ! audio/x-raw,channels=2 ! lamemp3enc target=quality q
uality=6
Ответ 2
Вы можете использовать привязку GUPnP для python через gi.repository. Найдите документацию для GUPnP и GSSDP, GUPnP AV.
Вы можете связать их с чем-то вроде мини-веб-сервера, который запускает базу данных django + SQLite для определения своего рода службы каталогов содержимого (CDS), также вы можете использовать Gstreamer (существует связка python, называемая Gst). С помощью этих элементов вы можете создать собственный сервер, используя SSDP для обнаруженного материала; из gstreamer вы можете получать метаданные о каждом элементе мультимедиа и также можете использовать "rtspsrc" gstreamer для потоковой передачи.
Ответ 3
Существует небольшая чистая библиотека python dlnap, которая позволяет воспроизводить медиа на устройствах DLNA/UPnP в одной и той же локальной сети