通过DLNA/UPnP流媒体文件



我目前在我的树莓派上运行Raspbmc并激活UPnP流渲染。

我的目标是编写一个简单的Python来流式传输视频或音乐播放列表。

我试过Coherence,但是它抛出了一堆异常,我真的不明白,因为文档是相当混乱的。所以我在寻找一个更简单的方法/library。

使用Python将媒体文件流式传输到我的电视最简单的方法是什么?

有一个轻量级的纯python库dlnap,它允许在同一本地网络中的DLNA/UPnP设备上播放媒体

您可以通过gi.repository为python使用GUPnP绑定。搜索GUPnP和GSSDP文档,GUPnP AV。

你可以将它们与运行django+SQLite数据库的小型web服务器相结合,以定义一种内容目录服务(CDS),也可以使用Gstreamer(一种名为Gst的python绑定)。有了这些元素,你可以使用SSDP为发现的东西构建一个自定义服务器;从gstreamer你可以得到关于每个媒体项目的元数据,也可以使用gstreamer的"rtspsrc"进行流。

对于音频,我用赖格尔得到了很好的结果。棘手的部分是在.config/rygel.conf中配置GstLaunch pulseaudio连接器。这是我的部分,但您可以使用以下命令获得正确的脉冲音频源:

pactl list | egrep -A2 '^(*** )?Source #' | grep 'Name: .*.monitor$' | awk '{print $NF}' | tail -n1

这是我的GstLaunch部分:

[GstLaunch]
enabled=true
launch-items=myaudiowav;myaudiompeg
myaudiowav-title=WAV audio on @HOSTNAME@
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 @HOSTNAME@
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

最新更新