I've ran into a problem with MP4 secure pseudo streaming.
First of all, a couple of FACTS for you to get the idea:
- I'm using Flowplayer
- I have mod_h264_streaming installed and working.
- I have successfully added secure streaming plugin (PHP validation) and it's working with pseudo for FLV videos (thanks to mod_h264_streamin, of course).
- I'm testing with an MP4 with the moov-atom at the beginning (and the video starts immediately. No pseudo, though).
Now... when flowplayer loads an MP4, the player makes a request like this:
http://mydomain.com/videos/fa3...[security_hash]...46/video.mp4?start=0
Note the ?start=0
When I seek to another part of the video (not yet loaded), the player makes this request:
http://mydomain.com/videos/fa3...[security_hash]...46/video.mp4?start=33.342
Note the ?start=33.342
This results in the video starting again from the beginning, which is the problem.
ADDITIONAL FACT: for MP4 files start is sent (to the PHP script) as the seconds of the timeline where you click on, and for FLVs start is sent as the seek position in Bytes and I think this difference is the main reason of the issue.
My question is:
How do I handle, in my PHP pseudo streaming script, MP4 videos streaming?
Auto-question: Should I use byte ranges headers?
I'm not posting code, as it's not a coding problem, but a conceptual one: let's focus on the idea by now. Also, all files I'm testing with are well encoded and they are not the problem.
Thanks