I have a NAS, a smartphone and my local Computer. What todo with all this thinks? My NAS has a lot of multimedia files and my computer has a large monitor i thought why not connect all this thinks.

So here is my setup:

  1. my NAS as UPnP media server with all my movies
  2. my Smartphone with an UPnP control point app like BubbleUPnP
  3. and my linux machine

So now to the interessting part. rygel is a UPnP AV MediaServer. But rygel can also as as an player to recieve media files and play this. This is called a UPnP media renderer. Rygel provides a standalone Media Renderer based on GStreamer playbin. This play video and audio files, but thats´s it. You can´t even play a video in fullscreeen mode.

So here comes VLC in play with another protocoll called MPRIS. So i don´t get in to details here so MPRIS works and its connect VLC with our media renderer rygel.

So here is an example configuration for rygel. I have disabled all the stuff that isn´t necessary to just play our videos.









Rygel itself needs to know about all clients speaking MPRIS when it´s starts. So we need to start VLC before rygel. VLC should just stay in background until a video is played. So just start vlc with a dummy interface. And yes also the fullscreen mode. And a last command line option to disable that VLC display the stream path at the begining of a new track.

vlc --intf dummy --fullscreen --no-osd

After that you can run rygel. But wouldn't it be nice to have a startup script to run all that staff for you.


vlcCall="vlc --intf dummy --fullscreen --no-osd"

function cleanup(){
    for pid in $(pgrep -f "$vlcCall"); do
        kill -9 $pid 
    killall rygel

function waitCpuDecrease(){
    while true; do
        cpu=$(ps S -p $pid -o pcpu=)
        sleep 0.2
        [ $(bc <<< "$cpu < $lastCpu") == 1 ] && break

# killall rygel and vlc

# launch vlc in background
$vlcCall &

# wait until vlc has done most stuff
waitCpuDecrease $!

# start rygel
blog comments powered by Disqus