2013-03-21 3 views
13

В настоящее время я запускаю Raspbmc на моей малине Pi и активировал UPnP, передавая рендеринг.Потоковые медиафайлы через DLNA/UPnP

Моя цель - написать простой Python для потоковой передачи видео или музыкального плейлиста.

Я пробовал Coherence, но я бросаю кучу исключений, и я действительно не понимаю, как documentation is pretty chaotic. Поэтому я ищу более простой способ/библиотеку.

Какой самый простой способ передать медиафайлы на телевизор с помощью Python?

+1

Как я понимаю DLNA довольно сложный стандарт, поэтому (я предполагаю здесь) исключения может быть, с чем вам придется иметь дело. Может быть, стоит упомянуть, какие из них вы получаете? Если вам не нужно самостоятельно записывать программу, Mediatomb и minidlna могут транслироваться с Pi. – Samizdis

+1

Спасибо, я посмотрю на Mediatomb и minidlna. Ну, как я уже сказал, я, вероятно, получаю сто исключений, просто начинаю когерентность, но большинство из них как-то связано с Торнадо: 'Файл '/Users/.../Envs/UPNP/lib/python2.7/ site-packages/twisted/internet/selectreactor.py ", строка 145, в doSelect _logrun (по выбору, _drdw, selectable, method, dict) --- <исключение поймали здесь> --- Файл"/Users /. ../Envs/UPNP/lib/python2.7/site-packages/twisted/python/log.py ", строка 88, в callWithLogger return callWithContext ({" system ": lp}, func, * args, ** kw) ' – WhatIsName

+0

Вы достигли того, что хотели? Я тоже пытаюсь добиться согласованности, но кажется, что скрученные и слаженные стороны не работают хорошо, если вы не исправляете файлы когерентностей. – Depado

ответ

1

Только для аудио, У меня хорошие результаты с ригелем. Сложная часть состоит в том, чтобы сконфигурировать коннектор gstLaunch pulseaudio в файле .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 
0

Вы можете использовать GUPnP связывания для питона через the gi.repository. Найдите documentation для GUPnP и GSSDP, GUPnP AV.

Вы можете связать их с чем-то вроде мини-веб-сервера, работающего под управлением базы данных django + SQLite, чтобы определить тип службы каталогов контента (CDS), также вы можете использовать Gstreamer (существует связка python, называемая Gst). С помощью этих элементов вы можете создать собственный сервер, используя SSDP для обнаруженного материала; из gstreamer вы можете получать метаданные о каждом элементе мультимедиа, а также использовать «rtspsrc» gstreamer для потоковой передачи.

0

Существует легкий чистый питон библиотека dlnap, которая позволяет проигрывать медиа на/UPnP устройствах DLNA в той же локальной сети

Смежные вопросы