brainjuicer
5th March 2008, 08:49
I apologize in advance if I'm not posting to the right section of the forum.
I'm currently developping a server app streaming MPEG2 video to customized clients and I'm not sure to do the appropriate things for playback functionalities.
Basically to avoid too much headaches in synch-ing the server/client for playback I had the 'brilliant' idea (not!?) to move all the playback logic into the server where I modify the stream as I read it from the files to reflect the command requested by a client.
ie:
- Play -> Send everything I read
- Forward x3 -> Send only I and P frames (+ few changes in some headers + a 'sequence end' packet at the end of each GOP)
- Forward x15 -> Send only I frames (+ few changes in some headers + a 'sequence end' packet at the end of each GOP)
- etc..
This is working fine, but now I'd like to do things like x0.5, x0.25 speeds and I'm not sure how to do that.
What I was originally thinking, was to change PTS/DTS & SCR (+ Program Mux Rate?) info to artificially slow down the display on the client side, but it doesn't work. I'm not sure this is even possible !?
Anyways have you got any suggestions on how to achieve the desired effect ?
ps: I'm pretty new to video manipulation so there are concepts I not fully grasping yet,
and I just hope this isn't a silly question.
I'm currently developping a server app streaming MPEG2 video to customized clients and I'm not sure to do the appropriate things for playback functionalities.
Basically to avoid too much headaches in synch-ing the server/client for playback I had the 'brilliant' idea (not!?) to move all the playback logic into the server where I modify the stream as I read it from the files to reflect the command requested by a client.
ie:
- Play -> Send everything I read
- Forward x3 -> Send only I and P frames (+ few changes in some headers + a 'sequence end' packet at the end of each GOP)
- Forward x15 -> Send only I frames (+ few changes in some headers + a 'sequence end' packet at the end of each GOP)
- etc..
This is working fine, but now I'd like to do things like x0.5, x0.25 speeds and I'm not sure how to do that.
What I was originally thinking, was to change PTS/DTS & SCR (+ Program Mux Rate?) info to artificially slow down the display on the client side, but it doesn't work. I'm not sure this is even possible !?
Anyways have you got any suggestions on how to achieve the desired effect ?
ps: I'm pretty new to video manipulation so there are concepts I not fully grasping yet,
and I just hope this isn't a silly question.