Simese and Popcorn Hour - 2008/06/16 23:56I am the author of the mvpmcx2 native client application for the PCH and I was wondering if this is the correct forum for asking Simese server questions? I am successfully using Simese for streaming media with the GBPVR GUI, which bodes well for other people wanting to write alternate GUI front ends but Simese doesn't seem to handle streams that grow (ie live tv and internet radio). Is this a known limitation with other clients?
For the record and to add balance I don't agree with Stu2j's negative comments about the PCH. I do think gaya can improved which is why I am working on mvpmc in the first place.
Martin
| | The administrator has disabled public write access.
Stu2j
User
Posts: 1351
Re: Simese and Popcorn Hour - 2008/06/17 09:57I don't agree with Stu2j's negative comments about the PCH Anyone who is interested certainly doesn't have to take anyone's word for it. They can go to the PCH forums and read all about the problems and limitations of the player.Showcenters 1000g/200/250HD Popcorn Hour A-100 Netgear HDX101 Powerline Adapters Windows XP Simese 2.07 running latest SVN NAS Server IBM NetVista 900Mhz/256RAM
| | The administrator has disabled public write access.
Pernod
Admin
Posts: 1483
Re: Simese and Popcorn Hour - 2008/06/17 10:37Simese doesn't seem to handle streams that grow (ie live tv and internet radio). I've never tried live tv but internet radio plays well with Simese/SwissCenter. I'm sure marco (Simese author) will comment further when available.
NigelPlayer : Netgear EVA700 & Popcorn A-100 (081224) Server : Vista SP1 Home Premium (Simese 2.06, SwissCenter current SVN) Spec : Intel C2Q Q6600, 2GB RAM, 2Tb storage.
| | The administrator has disabled public write access.
admin
Admin
Posts: 1567
Re: Simese and Popcorn Hour - 2008/06/17 11:17Simese doesn't seem to handle streams that grow (ie live tv and internet radio).
Are you aware that on the older syabas players you have to send special markup to the player to inform it that you are sending it a file that is constantly changing? You also have to update the player with the stream size by posting to an URL on the player itself.
That may have changed with the PCH, but from the minimal documentation that syabas have supplied it does still seem to be the case.
Rob Player : Pinnacle Showcenter 200 (wired ethernet) Server : HP MediaSmart EX470 NAS (Windows Home Server / Sempron CPU / 2Gb RAM / 2.0 Tb Storage).
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/17 12:40Thanks, I will wait and see if I need to add some identifier to the URL. There's a significant problem with several file types to because simese is sending twice as much data as necessary.
Martin
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/18 03:29Hi,
emveepee wrote: I am successfully using Simese for streaming media with the GBPVR GUI, which bodes well for other people wanting to write alternate GUI front ends but Simese doesn't seem to handle streams that grow (ie live tv and internet radio). Is this a known limitation with other clients? I don't use my media player for playing streams so I don't know anything about it's limitations. Can you describe the problem? Or even provide a test case so I can take a look at it?
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/18 12:46marco wrote: Hi, Can you describe the problem? Or even provide a test case so I can take a look at it?
Marco.
Hi. Sure just let me know what you need.
The two problems that I see (I haven't tried sniffing yet)
1. For live content you probably return content-length on dynamic files. I would be suspicious on any content under 2M A test for write access might help on small files two.
2. For byte range requests on AVI MP4 etc, I think you are returning 1 less byte than the PCH is expecting GBPVR originally had a similar problem. The http protocol says to return end-start + 1 bytes of data
Martin
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/19 03:36emveepee wrote: 1. For live content you probably return content-length on dynamic files. I would be suspicious on any content under 2M A test for write access might help on small files two. Streaming is done by the PHP script, but it might be possible a content-length is written. I'll take a look at this.
2. For byte range requests on AVI MP4 etc, I think you are returning 1 less byte than the PCH is expecting GBPVR originally had a similar problem. The http protocol says to return end-start + 1 bytes of data Which Simese version did you test, the 1.x or the 2.x? A quick look at the code indicates the 1.x code could be wrong indeed. The 2.x version uses a completely different webserver and I'm quite sure this one does send the correct length. I'll take a look at the 1.x code later.
Marco.
| | The administrator has disabled public write access.
emveepee
Visitor
Re: Simese and Popcorn Hour - 2008/06/19 08:10I used 1.45 as that is what is marked current version on the matdev web site. I don't see a a standalone version 2.
As for php script I am not sure I understand what you mean. I am using GBPVR as a gui server with my own client on the PCH, which asks the PCH player (mono) to open files by http.
Martin
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/19 20:50Ok. I found a thread with 2.04 debug and it does fix the short byte range problem with avi, mp4 etc. For sure 1.45 shouldn't be used with the Popcorn hour
However 2.04 is worse with dynamic streams because it looks like it wants exclusive read access.
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/20 05:52emveepee wrote: However 2.04 is worse with dynamic streams because it looks like it wants exclusive read access. I wonder what file Simese wants to stream, because the code does a shared read. I've tested it and I can open the same file simultaneously multiple times. So I guess something else must have a write lock on the file.
But I don't get the 'dynamic stream' part. If you open a dynamic stream, it isn't a file, right? Or did I miss something
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/20 07:52By dynamic stream I simply mean a file being streamed or written to disk. The two situations I tested are an internet radio stream and a digital mpeg-ts stream being stored to a temporary file that simese is requested to open and send back to the pch.
In both cases the file is being written by another application. I uploaded z zip of the log, I don't know why it has such a weird filename.
In 1.45 this isn't a problem, the problem is the content-length.
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/20 10:26Ok, now I get it. I didn't realize the streaming file was local. So you say some application is writing the file and during the writing Simese must read the same file. At the start, the filesize is not correct (and thus the content-length cannot be sent) and you must keep reading data until the OS returns an error.
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/20 11:13That's correct. In reality it turns out the content-length issue is only a problem now when the file is less than 2 MB because that is the internal buffer size on the PCH and if it doesn't fill the buffer initially it just reads from the buffer and never tries to read anymore.
The good thing with the current access error is you do know when the file is being written by another app, ie when content-length should not be sent, and then you can try a read-only method of opening the file.
Martin
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/20 14:37Hi,
I've made a few adjustments in this version. It will test if the file is locked, if so, the content-length will not be sent. In this situation the server will send data as long as data is available. So if the streaming server falls behind, it will stop the stream.
It hasn't been tested, just a few simulated 'I lock this file and see what happens'-scenarios, so let me know if any problems arise.
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/20 17:35This is very close. It works great with "live" mpeg ts now and starts playing net radio but for some reason it returns a content-length of zero on the net radio after a period of time. I have attached logs of each.
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/21 06:22Ah, the log file helps a lot. The changes I made only work for complete files and since the last request contains a range the 'ignore content-length' is not applied. I'll make the changes more generic to support this situation as well.
However, I guess something else is wrong in the last Simese radio item. I guess Simese returns a 'Requested Range not Satisfiable' error (I'll add the response number to the log). The client does a request of 'Range: bytes=524288-' and I think the file size on request is less than 524288. So I guess Simese should wait until the file reaches the requested size (but for how log....).
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/21 10:02Assuming you are getting EAGAIN or WSAEWOULDBLOCK errors I think you can wait several seconds. I know when buffering some 32 Mb AAC streams the PCH can actually be silent for thirty seconds until it has enough playing and the source http read is bursty.
Martin
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/21 10:41The link above contains an updated Simese version which will wait until the stream grows to the requested start range. Also it will retry to read data from the stream a few times after the end of the stream has been reached to make sure no data added any more.
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/21 11:04Ok, TV is now better I noticed a problem with lower bit rate SD afterday yesterday's post. The delay on the read for internet might not be long enough though lots of response 206 and then the PCH stops streaming.
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/21 11:32I forgot something, the content-range is not correct for streaming files. If the request contains 'Range: bytes=557056-', currently 'Content-Range: bytes 557056-0/573440' is returned and I think something like 'Content-Range: bytes */*' should be returned. As far as I can see the Content-Range: bytes 557056-*/*' is not an option.
I'll change this tomorrow and post an update.
Marco.
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/22 09:13I uploaded an updated version.
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/22 10:42No luck this time either. Logs attached. Would you like to see an ethereal dump of how GBPVR's server is responding to the same requests?
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/22 11:46The way GBPVR responds is
HTTP/1.1 200 OK Server: GB-PVR Connection: Close Content-Type: application/octet-stream
One thing I noticed is it doesn't do the second seek that audio/x-mpg does. Perhaps this an attempt to read the id3 tag? In any case is you are determining the content-type solely by extension there will be problem with AAC Internet radio, because the temp file name stays the same.
Martin
| | The administrator has disabled public write access.
marco
Moderator
Posts: 277
Re: Simese and Popcorn Hour - 2008/06/23 12:20I've no idea what can be wrong...so indeed, maybe a dump will show something new. Let's try that.
Marco.
| | The administrator has disabled public write access.
emveepee
User
Posts: 26
Re: Simese and Popcorn Hour - 2008/06/23 19:24Thanks, I had to upload it here: