[19. April 2013] A-400 Advanced Network Setup now available | [11 Jan. 2013] Customize your A-400 Home Screen

Firmware: A-400 [13 May 2013] | C-300 [30 Nov. 2012] | A-300 [30 Nov. 2012] | C-200 [21 Jan. 2013] | A-200/A-210 [10 Aug. 2012]

Just got your NMT | WIKI has the answers | Search the forum | Forum Rules/Policy | Firmware & Official NMT News | Popcornhour manuals



User(s) browsing this thread: 1 Guest(s)
Post Reply 
For a decent audio player on the PCH
11-23-2011, 01:51 PM
Post: #1
For a decent audio player on the PCH
As a result of a "loud brainstorming" in the shout box, here is a thread to throw technical solutions to bring a great audio player to the Popcorn Hour.

Needed functionalities :
- GUI (Flash) on the PCH
- User friendly Remote GUI for use without tv on (running on most plateforms like Windows, Linux, IOS, Android, iPhone/iPad...)
- Easy playlist creation
...(add your own here)...

Possible solutions :
- MPD (with work to do on the output side and Flash GUI)
- uPNP => lundman, please express your point of view Wink
...(add your own here)...

Please give your ideas and if possible, technical solutions!
Find all posts by this user
Add Thank You Quote this message in a reply
11-23-2011, 02:17 PM
Post: #2
RE: For a decent audio player on the PCH
Ah well, I guess I don't really have a view. But I was under the impression that we only had MPD for A100, and not 200 or 300 (v8) series? But what the 200 has is UPNP MediaRenderer Server.

I do not know much about MPD, is it standard?, does it have protocol RFCs?, nor how common it is. I do hear it has clients on at least ipad and Windows.

But, I do know UPNP. UPNP is Universal, *very* well documented, and designed by major corporations (Microsoft, Sony, Nokia etc), and it is already _everywhere_.

There are MANY parts of UPNP. But in this situation we are talking about:

UPNP MediaServer: a listening daemon, which offers methods to list contents, and get URLs to content.
UPNP MediaRenderer: listening daemon for incoming "playback" requests. Including "PlayURL", Play, Stop, Pause, Record, Seek, Next, Playlist, Volume, Mute, Brightness, Hue....

.. and of course clients to both.

For example, I have:

Code:
MediaServer (llink - local music/video)  ----\                         /---- C200 Player
Youtube    ----------------------------------------  EyeCon  -------------  Sony Bravia
Shoutcast music  ----------------------------/                          \----  Android phone
WindowsMediaPlayer  --------                                             ---- WindowsMediaPlayer

So using the EyeCon, I can locate my local-music, or youtube video, and push it to C200 to play, or my TV.... Or from flickr to my phone etc. And with EyeCon I can pause, volume, skip, playlist etc. No need to turn TV on.

Now, EyeCon is just one controller (iphone/android), there are many more, PlugPlayer OSX/ipad, etc. These are not exactly "flash" as in visually-appealing, but probably more basic.

One could argue that, why work on something JUST for music, when you already have a framework which is generic. Not only can you play your music "headless" from your phone, or PC, but you could push out random photos as you do. Or random music videos from youtube etc.

So, one option could be to implement something that looks, and works, just like MPD client, but is built on UPNP. I have very nice upnp library and example renderer clients if that was wanted.

For example, just using my test commandline tool
Code:
# ./rendererclient
Internal listener added...

Push return to list MediaRenderer, 'q' to quit.
** ADD device 'llink-solaris UPNP Media Renderer (MediaRenderer) : 1' (E25641A0-8228-11DE-AFB8-1232A5D5C51B)
** ADD device 'A300 (FF0FBD87-0A65-458C-B4D4-7AC63BB3EF19)' (uuid:FF0FBD87-0A65-458C-B4D4-7AC63BB3EF19)

Push return to list MediaRenderer, 'q' to quit.
uuid:FF0FBD87-0A65-458C-B4D4-7AC63BB3EF19

Attempting to control 'uuid:FF0FBD87-0A65-458C-B4D4-7AC63BB3EF19'...

Remote: uuid:FF0FBD87-0A65-458C-B4D4-7AC63BB3EF19
[q]uit, [p]lay, [s]top, [>]next, [<]prev, [space]pause, and blank line for status.
[u]SetURL,

(Using URL to my llink MediaServer, 'u' sets the URL to play)
uhttp://192.168.11.10:8001/10-london_(genuine_piano_mix).mp3
OK!

('p' sends the Play command)
p
OK!

(Pushing return gives me current playback status)
GetPositionInfo(): Track 1, RelTime 00:00:04.
GetPositionInfo(): Track 1, RelTime 00:00:12.

('s' sends the Stop command)
s
OK!

So anyway, I would be happy to help you guys if you wanted to make a sexy UPNP client (and you could easily sell it, since it would work with all UPNP devices, not just PCHs). The library is very easy to use. But you all know how terrible I am at GUI design, so I leave that to others.

Lund
Visit this user's website Find all posts by this user
Add Thank You Quote this message in a reply
[+] 2 users say Thank You to lundman for this post
11-23-2011, 02:24 PM
Post: #3
RE: For a decent audio player on the PCH
What kind of project is it? Is there someone willing to develop or is it just brainstorming on a concept that "might" never come true?

Anyway here would be my feature requests (mostly the same as yours):

- Ability to search the library
- Responsiveness (not really a feature but still)
- Should be easy enough to use even a toddler could
- Instant playlist (much like winamp: throw a few files in and you're ready to party!, move song up/down , ...)

As for implementation proposals, I don't have many. I've been looking recently at server solutions like subsonic but without much success until now...


Nothing lasts forever. It is especially true for electronic devices. Thank God, consumerism will make you happy to purchase a more fashionable device as soon as the old one starts to fail.
Find all posts by this user
Add Thank You Quote this message in a reply
11-23-2011, 05:19 PM
Post: #4
RE: For a decent audio player on the PCH
(11-23-2011 02:17 PM)lundman Wrote:  Ah well, I guess I don't really have a view. But I was under the impression that we only had MPD for A100, and not 200 or 300 (v8) series? But what the 200 has is UPNP MediaRenderer Server.

I use MPD on the C200, and I must say it works flawlessly with the different remote apps (Android, Iphone) I've tried!

I have also tried the native uPnP renderer, and somehow the DB just wasn't right (missing artists etc). People mentioned that the native UPNP stack is somewhat dodgy? I have tried miniDLNA, and it sometimes works. Haven't tried the LLINK UPNP implementation yet. but as I said, for me MPD works like a charm so I stopped there Big Grin

Not sure for UPNP, but MPD also plays streaming radio (requires a bit of tinkering with netcat, but that's something that could be resolved I guess.)

Nice to see that more people are thinking about such feature. I've heard too many people say that the PCH is a mediaplayer, not an musicplayer....
Find all posts by this user
Add Thank You Quote this message in a reply
11-24-2011, 01:26 PM
Post: #5
RE: For a decent audio player on the PCH
for me an good audio player should be useable with no television at all. So on the c200 the small screen on the front of it should give the information needed too use the player.
Find all posts by this user
Add Thank You Quote this message in a reply
11-25-2011, 03:45 PM (This post was last modified: 11-25-2011 03:55 PM by marmotamarmota.)
Post: #6
RE: For a decent audio player on the PCH
Hi,

I'm glad that I'm not the only one concerned with this lack of feature. I bought PCH with a vision to use it 70% for music wirelessly (phone and/or tablet), 30% for movies. However after buying one, facts did not line up with vision.
Idea of UPNP remote control is quite good, BUT:
1) as far as I understand you cannot start playback of music, then shutdown UPNP client and let music play (if you leave UPNP client playing - it drains mobile phone battery, depends on location - cannot walk with mobile to no-wireless spot). You would need remote on wire - quite pointless - you could buy squeezbox instead Smile
2) I have wireless PCH setup (antena is 3m distance direct view), where my music is on the network (7m distance), and I'm using my android connected also wirelesly. Streaming music to pch via UPNP controller is stuttering, PCH wireless implementation (do not know - hardware or software) is quite crappy - other devices can easilly playback music, PCH stutters - seems that no buffering is done.
3) there are a lot of problems with flac's. Almost no UPNP clients support it on my Android 2.2 (because Android natively supports only from 3.1). Possibly using llink with transcoding to some lossless stream would work (still didn't try).
4) I've come to a lot of UPNP client limitations on desktop clients - they just not performance tested, and a 10k song library is often a killer (long refresh times, hangs and so on). Cannot say I did try much of commercial implementations though.

MPD overall client quality is ussually worse than UPNP, but MPD has server which can play music in background without client connected. However, inability to play 24 bit flacs is a dissapointment. However total show stopper is stuttering on wireless playback. I haven't tried local playback from USB, but I believe this could be because of CPU intensive playback in mpd pch streaming hack.

MPD protocol is open, quite well documented, but the best - very easy reverse engineered, there are lots of open source implementations in all languages.
Currently I'm working on standalone MPD emulator (Java SE), which uses Davidbox API for media listing/search/playing. In far far perspective (after stable release) I may consider rewrite in native mode (on BDJ JVM inside PCH) or embed server in android app itself. Currently this player is in r&d status, so I did not publish this code yet. Currently I'm able to list albums artists, playback, playlists, stop, track current song position and some other trivial tasks, it reacts quite fast (in PCH terms Smile ).
Also I may employ external media indexing, since DavidBox API seemed to much limited and inefficient in some cases. So if you have ideas or a will to join the development - let me know, we may come up with something.
Find all posts by this user
Add Thank You Quote this message in a reply
11-25-2011, 04:13 PM (This post was last modified: 11-25-2011 04:18 PM by Grael.)
Post: #7
RE: For a decent audio player on the PCH
(11-25-2011 03:45 PM)marmotamarmota Wrote:  However, inability to play 24 bit flacs is a dissapointment.
Strange, I don't see any problem to play 24 bits flacs or wavs...
I'm close to cpu limits with 192kHz, but works perfectly with 96kHz/24bits with something like 25/30% cpu use.
Quote:However total show stopper is stuttering on wireless playback. I haven't tried local playback from USB, but I believe this could be because of CPU intensive playback in mpd pch streaming hack.
I never tried with audio files accessed with wifi...

Anyway, your idea of writing a wrapper for mpd client requests and using native PCH audio player to actually play the files is really interesting!
But maybe using Java to do it is not the best idea for native solution on the PCH...
Find all posts by this user
Add Thank You Quote this message in a reply
11-25-2011, 04:46 PM
Post: #8
RE: For a decent audio player on the PCH
(11-25-2011 04:13 PM)Grael Wrote:  
(11-25-2011 03:45 PM)marmotamarmota Wrote:  However, inability to play 24 bit flacs is a dissapointment.
Strange, I don't see any problem to play 24 bits flacs or wavs...
I'm close to cpu limits with 192kHz, but works perfectly with 96kHz/24bits with something like 25/30% cpu use.
I did not accurately express myself. I was reffering to downgrading sound sample precision from 24 bits to 16bits (More on this: http://188.138.72.109/showthread.php?tid...pid482684)

Quote:Anyway, your idea of writing a wrapper for mpd client requests and using native PCH audio player to actually play the files is really interesting!
But maybe using Java to do it is not the best idea for native solution on the PCH...
Why do you think so? I must confess I do not have much PRACTICAL experience with Java ME limitations, but it is JVM version (cvm) that is optimised for embedded devices, with low-resource usage API and I believe it heavily based on platform implementations of most API ,uses optimised API and should not suffer from problems such as cross compiled Java SE! And second - player implementation does not require any performance critical computations, rather short requests, so using C would not bring much benefits, but would definitely bring more clutter. Anyway, since java 1.4 it is usually faster or equal to C in general cases. Userland (that is not system, not real-time, calculation-intensive) applications should be written in higher level languages for simple reason: easy maintainance + popular programming language = bigger potential, more open source projects, more features, etc etc. And for java - I've chosen it because it should not be very painfull to port this app to pch native java or android java. And it would not be so easy in c++ case. And another reason - I have skills in Java, and last hands on C++ was like 7-10 years ago... Smile But if I didn't, I'd still go with higher level languages.
Find all posts by this user
Add Thank You Quote this message in a reply
11-25-2011, 05:23 PM (This post was last modified: 11-25-2011 05:25 PM by Grael.)
Post: #9
RE: For a decent audio player on the PCH
(11-25-2011 04:46 PM)marmotamarmota Wrote:  I did not accurately express myself. I was reffering to downgrading sound sample precision from 24 bits to 16bits (More on this: http://188.138.72.109/showthread.php?tid...pid482684)
This problem is only with A1x0 version, with Alanh output plugin.
No such problem with the 200 series (because no output plugin... hence the "flac streaming hack" which has other drawbacks)

About the Java choice, it was not a personal attack! Tongue
(I myself use 90% java at work)
It's just that, till now, all user apps are written in C/C++ and cross compiled on PCH platform (ok, some are python, some are php, but...).
Your use of BDJ JVM inside PCH would be the first time we see it.
But if it works, it will be cool in Java too Wink
Find all posts by this user
Add Thank You Quote this message in a reply
11-29-2011, 01:18 PM
Post: #10
RE: For a decent audio player on the PCH
Oh I forgot about this again, and you guys are crap at reminding me Smile

If you wanted to play with UPNP MediaRenderer client, and use windows, you could play with my little tester:

http://lundman.net/ftp/llink/rendererclient.exe

Note it is super basic, piece of crap really, more a debug tool. But, you can use "u" to send a player a url, (As in "uhttp://....") then "p" to ask it to play. You will find you can quit the client without stopping the music without a problem. (The source you get the music from needs to keep running, the MediaServer. But you aren't running that on the android, that'd be strange)

But I was wrong about being able to push music, and photos, it looks like the C200/A300 blanks the screen when playing.
(But you guys don't care, you wanted headless playback).


marmotamarmota

It is strange that you can't stream upnp, sounds like you tried some shoddy software (let's hope it wasn't llink!). Upnp and http streaming has been proven to be the fastest of all, on this board repeatedly. Please try it with llink. I recently added *.flac as well.

But I agree, the clients are terrible. That is why we were talking about making one, right? Personally, if you complain about some clients being slow/sluggish, then writing a new "something" in java, is very very odd Smile Just an opinion though, but it is a 800mzh cpu.

But I never listen to music, so I don't know what your (you music people) specific needs are, but I'm willing to participate Smile
Visit this user's website Find all posts by this user
Add Thank You Quote this message in a reply
[+] 1 user says Thank You to lundman for this post
01-03-2012, 02:59 PM
Post: #11
RE: For a decent audio player on the PCH
I had to completely change my post since I found out about MPD and Mpod on the iphone.
It is an absolutely amazing player. I use the app to control it and it is doing exactly what I was looking for:

The phone gets all the library, no need to built it up it everytime. easy to add songs
Start stop volume etc... run smooth.
AND one thing: I does not need to stream via the phone, so no battery drain. I can even just walk out of the WIFI range and the player goes on.

So the only thing I'd like to have is to choose the output. Because for example my wife is watching a movie on the PCH and I want to listen to music while cookingconfused...
Choose where to play: For example upnp send to devices (no battery problems, since the PCH itself sends to upnp devices and not the phone).

just my idea... cheers
Find all posts by this user
Add Thank You Quote this message in a reply
01-05-2012, 10:12 PM
Post: #12
RE: For a decent audio player on the PCH
I was thinking the 'easiest' solution would be to untilise most of the hard work done by Logitech etc. and just port a SqueezeSlave type client to the PCH and use the uPNP from Squeezeserver?

You could then use a phone/tablet App like iPeng to manage and control your media playback, without having to have the TV on at all.

I have been looking at similar solutions for a while (not being a programmer) but to the layman at least this seems a lot less work than starting from scratch.

I sure hope someone gives it a go Smile

Cheers,

Adam
Find all posts by this user
Add Thank You Quote this message in a reply
01-06-2012, 12:25 PM
Post: #13
RE: For a decent audio player on the PCH
So just to sum up I reckon MPD suits pretty much everything a person could ask for:

- MPD allows for remote controlled playback (with Iphone/pad/Android)
- There are interfaces to control MPD through on the PCH (PCH MPD interface 1 and PCH MPD interface2
- MPD can have multiple, simultaneous outputs, so default PCH output, as well as output through a http stream (although it might not be synchronous, it will allow you to take your music with you to any room you want).

Especially with Mpad/Mpod as a client, you can control mpd and listen to the stream within the same client (haven't tried this yet though, it only does MP3 streams).

Now as per the first post, the only thing you'd need is a flash GUI to make it more sexy. I'd say it's pretty sexy already Big Grin
Find all posts by this user
Add Thank You Quote this message in a reply
01-11-2012, 01:07 PM (This post was last modified: 01-12-2012 06:29 AM by petrulutz.)
Post: #14
RE: For a decent audio player on the PCH
Hello guys!

I recently switched from TVIX M6500 to A-300 and i really miss the instant audio playlist (on-the-fly playlist). It would be a nice addition to the player. Don't you think? Otherwise it's a very nice piece of technology and i'm glad i did it.
Find all posts by this user
Add Thank You Quote this message in a reply
01-12-2012, 10:04 AM
Post: #15
RE: For a decent audio player on the PCH
(01-05-2012 10:12 PM)AngelEyes Wrote:  I was thinking the 'easiest' solution would be to untilise most of the hard work done by Logitech etc. and just port a SqueezeSlave type client to the PCH and use the uPNP from Squeezeserver?

I would support this idea and have already asked for a port of Squeezeplay for the NMTs. Unfortunately, vaidyasr replied that this would require an X server or something similar for the GUI, which isn't compatible with the Gaya or Flash interfaces the NMTs use.

Media Player: Popcorn Hour C-200 (with Samsung SpinPoint HM500JI, Lite-On iHOS104-37 and Alpha WMP-ND02 WLAN-Module)
TV: Grundig Vivance 32 LXW 82-6710 REF
Receiver: Topfield 5000 PVRt (with 160 GB HD)
Sound: LG FB162-DOU
NAS: Netgear ReadyNAS NVX RNDX400E
Find all posts by this user
Add Thank You Quote this message in a reply
Post Reply 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  [APP Request] GrooveShark for PCH-200 montag 15 6,931 10-24-2012 12:42 PM
Last Post: Micki
  YouTube Videos App v2.0.5 on A-300 - Severe audio output issues AlderaaN 3 2,004 02-26-2012 12:38 AM
Last Post: odinbolt
  YouTube Videos App v2.0.6 on A-300 - Severe audio output issues continue AlderaaN 10 6,610 01-17-2012 01:26 PM
Last Post: AlderaaN
  No Audio on TWIT Podcast Video's wingfat 1 499 01-09-2012 11:21 PM
Last Post: ctbarker32
  Best Music Player Option ttb 1 947 12-25-2011 12:20 AM
Last Post: jfcus
  Audio CD Backup werner 66 24,740 12-04-2011 03:25 PM
Last Post: RemBrand
  ITV PLayer and 4OD? cyrus2007 5 3,133 11-30-2011 08:27 PM
Last Post: chris57
  [APP Request] Sync/backup for PCH-200 rickkaale 0 1,044 04-07-2011 01:52 PM
Last Post: rickkaale
  MSN Video Player walkerx 0 1,067 01-07-2011 09:47 PM
Last Post: walkerx
  Change default player for apps Milamber 2 1,721 12-17-2010 02:59 AM
Last Post: Milamber

Forum Jump: