• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1] 2
Author Topic: Coherence + DLink DSM-750  (Read 8750 times)
plugit
Global Moderator
Full Member
*****

Karma: 0
Posts: 139



View Profile
« on: May 01, 2009, 11:39:31 AM »

Success. And, painless. I installed Coherence with an apt-get of "python-coherence", and pointed it at my media directory on the plug's external drive.

The DSM-750 arrived an hour or so ago, and I plugged it in and gave it my wireless information, and immediately the Coherence share showed up on the screen. I selected it, and there were the media files. Selected one, and sure enough, I'm watching an AVI on my TV.

This is going to be a fun weekend. Smiley
« Last Edit: May 01, 2009, 12:11:42 PM by plugit » Logged

plugit
Global Moderator
Full Member
*****

Karma: 0
Posts: 139



View Profile
« Reply #1 on: May 02, 2009, 06:31:35 AM »


Some files seem to work better than others. I think it's related to the bitrate: the 750 seems to like higher bitrate files.

I don't know the details yet, but a 45 minute show in a file about 350M in size was awfully jumpy looking, whereas a similar length show in a 500M file looked fine. Last night we watched a show in MKV format (about a gig in size, HD) and it looked amazing.

What's interesting is that the smaller-size files looked OK when I used to convert them to DVD format.

I wonder if it's the container, not the bitrate... Perhaps if I converted them to MKV?

Nifty. Experimenting, this weekend.
Logged

dev
Newbie
*

Karma: 0
Posts: 7


View Profile
« Reply #2 on: May 05, 2009, 03:17:22 AM »

Success. And, painless. I installed Coherence with an apt-get of "python-coherence", and pointed it at my media directory on the plug's external drive.

The DSM-750 arrived an hour or so ago, and I plugged it in and gave it my wireless information, and immediately the Coherence share showed up on the screen. I selected it, and there were the media files. Selected one, and sure enough, I'm watching an AVI on my TV.

Great news!

Would you mind adding some lines to the Coherence wiki about the installation on the Sheeva plug?

For the YouTube backend you will need a up to date version of python-gdata, which might not yet be available in the repository.
Please let me know whether the DSM-750 is capable of playing the YouTube mp4 files.

And if you need some assistance, just let me know.

Ciao,
dev
Logged

plugit
Global Moderator
Full Member
*****

Karma: 0
Posts: 139



View Profile
« Reply #3 on: May 05, 2009, 06:54:40 AM »

I'm not sure what to add to the wiki -- really, all I did was one apt-get, and it was up and running. Let me know if I can elaborate, but it was really just too easy. Smiley

The version of python-gdata in the repository is 1.2.4, and I'm able to see the playlists and the titles of the videos on YouTube, but the DSM-750 doesn't think it can support the files.

Is is possible that it's a MIME-type issue? Some googling suggests that I may have luck with "video/MP4V-ES" rather than "video/mp4". Another site suggests calling them "video/avi", even though they're not. Guess I try editing the backend after work.

I'd be more than happy to help out testing any changes!
« Last Edit: May 05, 2009, 06:57:54 AM by plugit » Logged

dev
Newbie
*

Karma: 0
Posts: 7


View Profile
« Reply #4 on: May 05, 2009, 09:07:11 AM »

I'm not sure what to add to the wiki -- really, all I did was one apt-get, and it was up and running. Let me know if I can elaborate, but it was really just too easy. Smiley

Maybe we should just put that as a quote to the wiki.  Wink

Is is possible that it's a MIME-type issue? Some googling suggests that I may have luck with "video/MP4V-ES" rather than "video/mp4". Another site suggests calling them "video/avi", even though they're not. Guess I try editing the backend after work.
Mimetype or DLNA-flags could be the things that cause trouble.

You could try to look at  the DSM-750 with the UPnP Inspector.

If you use svn trunk of it you need svn trunk of Coherence too.

For Ubuntu there is a UPnP Inspector PPA.

If it is like the older DSM devices you should see it in the device tree. Enable View 'show details', expand the DSM-750,
follow ConnectionManager -> State Variables -> SinkProtocolInfo and right-click in the details window on 'Current Value', copy the content and send it to me.

There the DSM tells us what protocols and mimetypes it supports.

A right-click on the device and 'extract device and service descriptions...' would be nice too.

An 'easy' way to test is to use the new TestStore backend from Coherence svn.

You could try to extract a mp4 file from YouTube and store it on your disk. Then start Coherence with a TestStore backend:

Code:
coherence --plugin=backend:TestStore,item:<item><location>/path/to/video.mp4</location><mimetype>video/MP4V-ES</mimetype></item>

You can play there with different mimetypes, And there is a <fourth_field> element too, that will allow us to variegate the DLNA flags.

Ciao,
dev
Logged

plugit
Global Moderator
Full Member
*****

Karma: 0
Posts: 139



View Profile
« Reply #5 on: May 05, 2009, 09:33:05 AM »

Thank you so much for taking the time to post all that information - I'll absolutely give this all a try after work today, and send you whatever information you require.

This really is too much fun. I wish I'd known about media extenders a couple of years ago, before I ended up with a stacks of unlabled DVDs all over the house...
Logged

dcherryholmes
Newbie
*

Karma: 0
Posts: 6


View Profile
« Reply #6 on: May 05, 2009, 09:37:56 AM »

Could you post your .coherence file and any extra options you start coherence with?
Logged

plugit
Global Moderator
Full Member
*****

Karma: 0
Posts: 139



View Profile
« Reply #7 on: May 05, 2009, 09:42:20 AM »

You know, now I look at it, I did do a couple of things. Perhaps there is Wiki fodder here, after all.


I created a file calle /etc/default/coherence, and put this in it:

COHERENCE_OPTIONS="-c /etc/coherence.conf"

I also created an init script, /etc/init.d/coherence, which looks like this:

#!/bin/sh -e
#
# Coherence init script
#
### BEGIN INIT INFO
# Provides:          coherence
# Required-Start:    $local_fs $syslog $network
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Coherence
# Description:       Coherence DLNA/UPnP Framework
#                    You should edit configuration in /etc/coherence.conf file
#                    See http://coherence.beebits.net for details
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/coherence
NAME=coherence
DESC="Coherence DLNA/UPnP Framework"
PIDFILE=/var/run/coherence.pid
CONFIGFILE=/etc/coherence.conf

# abort if no executable exists
[ -x $DAEMON ] || exit 0

# Get lsb functions
. /lib/lsb/init-functions
. /etc/default/rcS

[ -f /etc/default/coherence ] && . /etc/default/coherence

checkpid() {
  [ -e $PIDFILE ] || touch $PIDFILE
}

case "$1" in
  start)
    log_daemon_msg "Starting $DESC: $NAME"
    checkpid
    start-stop-daemon --start --quiet --background --oknodo \
      --make-pidfile --pidfile $PIDFILE \
      --exec $DAEMON -- $COHERENCE_OPTIONS
    log_end_msg $?
  ;;
  stop)
    log_daemon_msg "Stopping $DESC: $NAME"
    start-stop-daemon --stop --signal 2 --quiet --oknodo --pidfile $PIDFILE
    log_end_msg $?
  ;;
  reload|force-reload)
    log_daemon_msg "Reloading $DESC: $NAME"
    start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
    log_end_msg $?
  ;;
  restart)
    $0 stop
    $0 start
  ;;
  *)
    N=/etc/init.d/$NAME
    log_success_msg "Usage: $N {start|stop|restart|reload|force-reload}"
    exit 1
  ;;
esac

exit 0

« Last Edit: May 05, 2009, 09:46:05 AM by plugit » Logged

plugit
Global Moderator
Full Member
*****

Karma: 0
Posts: 139



View Profile
« Reply #8 on: May 05, 2009, 09:43:58 AM »

And then I made an /etc/coherence.conf file:

# config file for coherence
#
# keywords are case-sensitive

logmode = warning                         # none, error, warning, info, debug, log
logfile = /var/log/coherence.log
#interface = eth0
serverport = 30020                       # if not specified or set to 0
                                          # coherence will let the OS choose the port

#controlpoint = yes                        # if set to yes coherence will activate its
                                          # internal ControlPoint

web-ui = no                               # set this to yes to enable some interactive
                                          # Web-UI

#use_dbus = yes                            # set this to yes to let Coherence signal
                                          # devices and services via dbus and provide
                                          # access to them
                                          # only useful when controlpoint is enabled too

[subsystem_log]
#coherence = info
#WebUI = info
#SSDP = info
#MSEARCH = info
#SOAP = info
#Action = info
#Variable = info
#Event = info
#Service_Server = info
#Service_Client = info
#Device = info
#Connection_Manager_Server = info
#MediaServer= info
#MediaRenderer= log
#ControlPoint = info
#MS_Client = info
#flickr_storage = info
#Buzztard=info


[plugins]
    [[FSStore]]
        content = /storage/media
    #    content = tests/content/audio,tests/content/video           # append more directories separated by commas
    #    version = 1
    #    #content = /data/audio/music
        name = Coherence - File System
    #    [[[icon]]]
    #        mimetype = image/png
    #        width = 120
    #        height = 106
    #        depth = 24
    #        url = file:///home/dev/Projects/Coherence/tests/coherence-icon.png

    [[YouTubeStore]]
        name = Coherence - YouTube
        #quality = hd
        proxy_mode = buffered
        #proxy_mode = proxy
« Last Edit: May 05, 2009, 09:46:20 AM by plugit » Logged

dcherryholmes
Newbie
*

Karma: 0
Posts: 6


View Profile
« Reply #9 on: May 05, 2009, 11:45:53 AM »

Thanks a lot for the information.  Mine is up and running on my internal network now.  Do you have any links or tips for getting this served up over the internet?  I have a smart phone with a data plan, and something like Pocket Tunes Deluxe connecting to my sheeva is my goal.
Logged

dev
Newbie
*

Karma: 0
Posts: 7


View Profile
« Reply #10 on: May 05, 2009, 12:12:08 PM »

May I suggest that you use the new (and in the future default) XML config file format:

plugit, your config will look like that:

Code:
<config>
  <logging level="warning">
    <subsystem active="no" level="info" name="coherence" />
    <logfile active="yes">/var/log/coherence.log</logfile>
  </logging>
  <plugin active="yes">
    <backend>FSStore</backend>
    <content>/storage/media</content>
    <name>Coherence - File System</name>
  </plugin>
  <plugin>
    <backend>YouTubeStore</backend>
    <name>Coherence - YouTube</name>
    <proxy_mode>buffer</proxy_mode>
    <cache_directory>/tmp/coherence-cache</cache_directory>
    <icon>
      <mimetype>image/png</mimetype>
      <width>120</width>
      <depth>24</depth>
      <url>youtube-icon.png</url>
      <height>65</height>
    </icon>
  </plugin>
  <serverport>30020</serverport>
</config>

This format has the benefit that you can have several plugins with the same backend type
and the UUID of each plugin/device will be written automatically to the config file (same btw for the auth-key of the Flickr backend).

Ciao,
dev
Logged

dev
Newbie
*

Karma: 0
Posts: 7


View Profile
« Reply #11 on: May 05, 2009, 12:18:18 PM »

Do you have any links or tips for getting this served up over the internet?  I have a smart phone with a data plan, and something like Pocket Tunes Deluxe connecting to my sheeva is my goal.
That's not that easy - UPnP is meant to run on the internal network only.

You probably could setup some VPN tunnel and route the multicast packets over it, but from a quick glance I don't see Pocket Tunes Deluxe supporting UPnP at all.

Ciao,
dev
Logged

dcherryholmes
Newbie
*

Karma: 0
Posts: 6


View Profile
« Reply #12 on: May 05, 2009, 12:20:22 PM »

Yeah, I've been reading up on it since my first post.  As you said, it's not really what UPNP was designed to do.  Any suggestions for getting my media streamed off the plug to anywhere?  I looked at mpd but it seems like that requires a sound card, which I don't think exists on the sheeva.  In any case, just having the media streamed around the house is still pretty cool!
Logged

dev
Newbie
*

Karma: 0
Posts: 7


View Profile
« Reply #13 on: May 05, 2009, 12:27:21 PM »

Thank you so much for taking the time to post all that information - I'll absolutely give this all a try after work today, and send you whatever information you require.
np - it is a classical win-win  Cool

This really is too much fun. I wish I'd known about media extenders a couple of years ago, before I ended up with a stacks of unlabled DVDs all over the house...
probably you would have been disappointed. It is now the 3rd or 4th generation of devices - maybe starting
with the Playstation 3 - which are actually suitable for the living-room and have implemented, in a proper style,
at least a reasonable part of the UPnP A/V standard.

Ciao,
dev
Logged

dev
Newbie
*

Karma: 0
Posts: 7


View Profile
« Reply #14 on: May 05, 2009, 12:53:16 PM »

Any suggestions for getting my media streamed off the plug to anywhere?

have a look at Ampache, maybe that is a solution for the off-site access.
And we have a backend for it, so you can use the same MediaDB for UPnP and HTTP-streaming.

Ciao,
dev

Logged

Pages: [1] 2
Print
Jump to: