XBox 360 debugging for transcoded videos seeking

General discussion about PS3 Media Server (no support or requests)

XBox 360 debugging for transcoded videos seeking

Postby jaysonsantos » Wed Dec 30, 2009 10:47 pm

Hi guys, I'm debugging XBox 360 protocol to see why it is not allowing seek with PS3 Media Server. Here I will post the headers which I got and I think is valid.

First, this is a non transcoded video request for seek.

GET /get/0$1$7/test.wmv HTTP/1.1
User-Agent: Xenon
Connection: Keep-alive
Host:192.168.1.2
RANGE: bytes=48234496-
jaysonsantos
 
Posts: 2
Joined: Wed Dec 30, 2009 10:42 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby jaysonsantos » Wed Dec 30, 2009 11:10 pm

The strange is when I choose a video from transcoded videos.
XBox360 refuses to seek and don't send anything to the server. Maybe is something like uncompleted avis which you can not seek until you rebuild the index ?
jaysonsantos
 
Posts: 2
Joined: Wed Dec 30, 2009 10:42 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby shagrath » Fri Jan 01, 2010 8:28 pm

Xbox use a "seek by range" feature, like most renderers actually, which make it impossible to seek a transcoded video (because you can't know what size is that video). the ps3 is the only one to offer this feature, because it actually sends a time range, not a bytes one
shagrath
Project Lead
 
Posts: 2667
Joined: Wed Jan 14, 2009 1:39 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby ditlew » Sat Jan 02, 2010 8:37 pm

I wonder if we can't use the same approach as I've just implemented on the WDTV Live.. CBR plus a little container overhead did the trick on that client using mpeg2, I find it likely that we can do the same using wmv on the xbox360.

// Ditlew
PMS Developer
Before reporting a problem read this: viewtopic.php?f=6&t=496
ditlew
Project Member
 
Posts: 21
Joined: Sun Nov 29, 2009 9:08 am

Re: XBox 360 debugging for transcoded videos seeking

Postby shagrath » Sun Jan 03, 2010 10:54 pm

actually I was about to talk about this with you, I think it should be possible, but I don't know if the WMV encoder supports CBR very well
shagrath
Project Lead
 
Posts: 2667
Joined: Wed Jan 14, 2009 1:39 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby ditlew » Sun Jan 03, 2010 11:43 pm

I have just run a few tests and remember I not a mencoder expert but it seems that the vmw2 codec doesn't create a 'perfect' CBR. It gets close to the wanted CBR over time but only close and with a limited bitrate, it wouldn't come close to my default 16000 for mpeg2. A setting of 8000 did make it average at around 7950 over time. Not sure if this is good enough for a good user experience. I'll try to look more into mencoder and wmv2 settings.

Best Regards,
Ditlew
PMS Developer
Before reporting a problem read this: viewtopic.php?f=6&t=496
ditlew
Project Member
 
Posts: 21
Joined: Sun Nov 29, 2009 9:08 am

Re: XBox 360 debugging for transcoded videos seeking

Postby ExSport » Sun Feb 13, 2011 2:58 pm

Hello
Can someone explain if quality will be decreased when GOP/SCR re-calculation from Ditlew will be used?
I am using it on Panasonic TV because without it you can't FF/RW.
Code: Select all
CBRVideoBitrate=15000
ByteToTimeseekRewindSeconds=0

Ditlew said here that default is 16000 but in code I see 15000. Should be 15 or 16?
DOES IT MEAN THAT VIDEO BITRATE WILL BE LIMITED TO THIS?
I mean when HD movie will be transcoded and in general it has 90Mbit when transcoded, will it be limited to 15 = low quality???
Also for what "ByteToTimeseekRewindSeconds=" is? Should be zero or better to set it to some value?
In code I see SCR header recalculation is enabled but GOP part is commented:
Code: Select all
// Ditlew - Update any GOP headers - Not needed by WDTV Live
         //if (timeseek > 0 && writeCount > 8)
            //shiftGOPByTimeSeek(mb, (int)timeseek);

Code: Select all
               if (buffer != null && shiftScr)
                  shiftSCRByTimeSeek(mb+i, (int)timeseek); // Ditlew - update any SCR headers
               //shiftGOPByTimeSeek(mb+i, (int)timeseek); // Ditlew - update any GOP headers - Not needed for WDTV Live

There is info that it is not needed for WDTV but what about other renderers not supporting timeseek? Should this part be uncommented? Will it help in anything?
I also ask due to errors logged in debug.log when rewinding.
Code: Select all
Exception in thread "Thread-115" java.lang.NullPointerException
at net.pms.io.BufferedOutputFile.shiftSCRByTimeSeek(BufferedOutputFile.java:391)
at net.pms.io.BufferedOutputFile.write(BufferedOutputFile.java:281)
at java.io.OutputStream.write(OutputStream.java:58)
at net.pms.io.WindowsNamedPipe.run(WindowsNamedPipe.java:176)


Also I found it works only when TranscodedVideoFileSize=0 (in this case actual time position is not shown by renderer)
When other values used, it always (after a while) cancel video transcoding and returns back to file listing (debug.log attached).

Someone know the answers? Many thanks for it 8-)
Attachments
SeekByRangeFixByDitlew.zip
Seek By Range (Ditlew workaround) debug.log
(59.13 KiB) Downloaded 46 times
ExSport
 
Posts: 2168
Joined: Mon Jan 19, 2009 5:40 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby shagrath » Mon Feb 14, 2011 9:36 pm

thing is I didn't totally reviewed Ditlew's modifications about the GOP and SCR calculations because PS3 don't need these... so it would be best to ask him directly :)
but I think quality will not be changed, it's just timers after all
shagrath
Project Lead
 
Posts: 2667
Joined: Wed Jan 14, 2009 1:39 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby ExSport » Mon Feb 14, 2011 9:43 pm

Thanks for info....last visit of Ditlew here was more than 1 year before :(
My question was if it can be somehow optimized because sometimes it will quit from whole movie when rewinding or makes posted exceptions.
And also I don't understand why it somehow works with TranscodedVideoFileSize=0 but I want to see time of current position in movie so tried TranscodedVideoFileSize=100GB but it doesn't work...after while it will quit from movie :(
Because that I asked if it can be somehow optimized.
ExSport
 
Posts: 2168
Joined: Mon Jan 19, 2009 5:40 pm

Re: XBox 360 debugging for transcoded videos seeking

Postby shagrath » Mon Feb 14, 2011 9:47 pm

it's maybe related to the DLNA.ORG_OP flag. Check DLNAResource.java
shagrath
Project Lead
 
Posts: 2667
Joined: Wed Jan 14, 2009 1:39 pm

Next

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 4 guests