Thursday, January 28, 2010

TVersity media serving to the Astone AP-300

TVersity is a digital media server that can share media over your home network using UPnP/DNLA.

This is kind-of like Windows file sharing/SMB, except that a digital media server can be a lot smarter.  You get access to traditional media such as picture, audio or movie files, like you would through network file sharing.  TVersity though can take things further, supporting:
  • On-the-fly transcoding of media into a format suitable for your media player,
  • Downloading content from the Internet,
  • Streaming media as it is being downloaded or transcoded,
  • Tagging of media to present a smarter content view instead of just a traditional directory structure,
  • Improved network performance compared with normal network file sharing.  I'm able to stream 1080p video rather than having to copy it to the internal HDD
My media player is a Astone AP-300 and is similar to many others in that it has network connectivity, HD video support, and of-course acts as a UPnP Media Player/Renderer.

It supports many video and audio formats, including H.264 video, FLAC/AC3/DTS/AAC audio and MKV/MP4/MOV containers.  As such I don't really need the transcoding capability of TVersity.  What I'm interested in is the content that TVersity can access from the Internet, including:
  • YouTube
  • Picasa Web Albums (like I did for my BeyonWiz DP-DP1 PVR)
  • Flickr
  • RSS feeds of music
  • Internet radio stations
  • and plenty more

Configuring TVersity was a bit tricky because it didn't recognise the capabilities of my media player and was initially attempting to transcode pretty much everything.

I had to modify the configuration file profiles.xml in the TVersity installation directory.  I've uploaded the additions here.  Insert the new section at the end of your existing file before the line </profileList>.  Make sure to backup first.

This defines a new profile for the Astone media player.  Specifically this entry defines the HTTP Header used to identify the AP-300:
<HTTPHeader inUASubstr="DLNADOC/1.50|RealtekVOD neon/0.27.2"/>
You'll note there are two separate headers defined, since the RealTek chip appears to change the header during communications.  This is described here.

The remaining entries define the Internet Media Types or MIME Types and the codec's associated with each.  I've tried to fully define the capabilities of the AP-300, but I'm sure there are things missing.

There is also an thumbnail image I created for the AP-300 - which you can download here:



Once you connect via UPnP, the Astone Media Player should now be identified on the TVersity Status screen:







Try playing back existing media on your computer.  If that is successful, then you can try to add some Internet feeds to TVersity - you do this from the Library menu.

Try these:
Type: Audio RSS
Audio RSS: http://instrumental.podomatic.com/rss2.xml
Title: Dreamweaver's Instrumental Music Podcast

Type: Photo RSS
Image RSS: http://api.flickr.com/services/feeds/photos_public.gne?format=rss_200_enc&ids=30814434%40N03
Title: Mark's Cat pics on Flickr

Type: Photo RSS

Image RSS: http://picasaweb.google.com/data/feed/base/user/109228047036312897703/albumid/5820610194044843585?alt=rss&kind=photo
Title: Mark's Chicken pics on Picasa

Type: YouTube
youtube Type: Top Rated Today
Tile: Top Rated YouTube

Type: YouTube
youtube Type: By User
User: MarkSteadandFamily
Title: Mark's YouTube
Note for the YouTube videos in particular, I had to retry playback a couple of times.  The first time it starts trying to download, and the AP-300 times out before any content is streamed.  Be careful not to start too many downloads or your Internet connection will slow down.  I'm not sure at this stage how to playback HD videos from YouTube - does anyone know.

For Internet radio, I found I had to strip the URL from within a playlist file (*.pls):
For example, the playlist on this page contains URL's I would plug into TVersity like this:
Type: Internet Audio
Audio URL: http://scfire-ntc-aa01.stream.aol.com:80/stream/1035
Tile: Digitally Imported: Chillout
I've found the transcoding function of TVersity to be useful at least for Monkey Audio (*.ape) files.  These are not supported naively by the AP-300, and transcoding/streaming occurs very quickly (unlike for video).


TVersity runs on Windows only.  There are alternatives, check out this list:
List of UPnP AV Media Servers
You'll find a lot of NAS devices (like from QNAP, Thecus etc) come with TwonkyMedia support.
Additional references:

10 comments:

James said...

Great article! Do you participate in the Astone forums much? http://www.astone.com.au/forum/viewforum.php?f=21

Cheers,
JimmyL

Mark Stead said...

@James: Yeah, I'm also known as Scumbag.

Stanley said...

Mark
Great article, will this work on the AP360-T model? also do you have any experience with the M3U playlist feature. I have created one and exported as per the manual but still can't get it to work I have tried various formats within the M3U file for example I havea video file called Bad Romance.mpg in the ..\rec\Music video direcoty :-
c:\sda1\rec\music video\Bad Romance.mpg
or
c:\rec\music video\Bad Romance.mpg
or
c:/rec/music video/Bad Romance.mpg

None of these work error is "File does not exist"

Any help will be appreciated.

Regards
Stanley

Mark Stead said...

@Stanley: It should work for other models (including the AP-360T) since they are pretty much the same.

Since you are referring to a file on the internal HDD, using Windows style naming conventions will not be suitable (even though that's how the UI shows it). For Unix, you must use /, names are case sensitive and there are no drive letters.

I've tested it now and I cannot get it to work using absolute paths - even trying things like:
/tmp/usbmounts/sda1/
/tmp/hdd/volumes/sda1/

It works if you use a relative path such as just:
Bad Romance.mpg
or
../music video/Bad Romance.mpg

Note it does work with all video & audio formats - not just mp3 as mentioned in the manual.

That's all if you are using an m3u file on the Astone media player. You can instead play the m3u file through TVersity, and it will simply give access to the media contained within. It seems to work for absolute and relative paths (paths the PC can resolve).

Rommel Pascual said...

Hi Mark,
I'm yet to try a UPnP server and I'm bookmarking your blog to follow for my first attempt.

I know that its primary function is transcoding but I'm wondering if has a friendly user interface. I have over 200 movies on various disks and going through a lists is a bit daunting.

Mark Stead said...

@Rommel Pascual: The function of the UPnP server is to provide access to the media in the form of a hierarchy tree. This is basis of the user interface (but the client may present it however they choose).

TVersity basically organises things in Music, Photos & Video, and Internet/Local Folders.

Within each media type things can be accessed according to Genre, Artist, Date, or just a Folder/Album list. Essentially there are multiple views of the same content.

There is also the possibility of configuring custom menus and tags. This sounds useful, but I'm yet to try it out.

One thing that is neat with TVersity, is that you can view content in a web browser to verify the structure.

Furball said...

Hey Mark! Thanks for sharing -- my AP-100 plays videos in a much higher quality now. There are still some artifacts now and then (in darker scenes), but not too distracting.

I was wondering, does anyone have problems using TVersity as the UPNP source? I have to restart the TVersity service before it shows up under UPNP. All I know is, if I'm using Geexbox, TVersity is immediately available... but when I use the Astone AP-100... I have to restart TVersity.

Thanks!

Mark Stead said...

@Furball: I haven't experienced problems with connecting.

Apparently UPnP discovery can happen in either direction (Server->Player or Player->Server), so discovery might be getting blocked in one direction by a firewall. If you restart TVersity, the it would initiate a broadcast to discover "control points".

Although this wouldn't explain why the Geexbox works... Perhaps, instead its simply some timing issue.

I hope you sort out your problem. Thanks for your feedback.

JimbO said...

@Furball - did you sort out the detection issue? I've tried to connect my AP-300 to both a Windows UPNP (served by foobar2000 with the upnp plugin), and a Ubuntu box with MediaTomb. The AP-300 can't see either, but XBMC and another foobar instance can see both servers. Any help would be greatly appreciated as at present, the AP-300 is not really earning its keep ;-)

Cheers,
JimbO

kazzascorner said...

Hi Mark,
well I have done as per your info and voila I now appear to have a fully functional AP300 with TVersity. Wow this little box just keeps amazing me with what it can do, if people are willing to fiddle with it. I have just ordered yet another one I will have 3 AP300s, so I can attempt the mods as per the Astone Forums ($89) so if I brick it well it won't be quite so bad (lol)
Thanks for the info, really well written with heaps of interesting bits.
How can I get my astone to read .Evo files or is this just not possible, they have had the Css taken off, but the Astone can't even see the files in the HD_TS directory!
Any help re this would be greatly appreciated.
Cheers
Kazzamozz