Instead of proxying the file with PHP, I'd advise for you to make use of a PHP-generated playlist file, similar to what you'd do to stream MP3s (see M3U or PLS file formats), or even better, a Quicktime Media link.
If the reason for the proxy is something like a play count having the dynamic playlist will allow you to do the same. If the proxy is there for security, remember the plugin used to embed the file might not have the same features as what you'd expect from a browser (such as cookie or auth support). For securing media, I'd advise you to run a daemon like the Darwin Streaming Server (Open Source components of the Quicktime Streaming Server). I think one of the reason you're having problems w/ your script is that the script might be feeding the file faster than the bit rate the player/plugin is expecting. Ultimately, the browser isn't what's accessing the file. It's the plugin running inside the browser. :) Also, you mentioned you tried under Firefox on your PC. Have you tried it with the Windows version of Quicktime and Safari, both available from Apple. That's sure to be the closest match to the iPod Touch environment. Hoping this might help, -- Stephane Daury http://tekartist,.org/ On Oct 14, 2007, at 1:18, mickey9801 wrote: > > Hi all. I am trying to develop a web application like http://vtap.com > or Google video which let user to download and playback mp4 file > through Safari browser bundled with iPod touch. I can download and > playback a mp4 file correctly when I access the movie directly by URL > (I put the mp4 file in a public area). But when I try to use a simple > file proxy program to read the same file at same location and transmit > it to iPod touch, it doesn't playback correctly. Everything goes fine > in PC (Firefox). I think it would be a problem in header but I don't > know what should I put into. > > My test program is as below (http://dev.crossmedia.com.hk/ipod/ > stream.php): > > PHP: > <?php > $filename = "./ef_mv_320_h264b.mp4"; > $filesize = filesize($filename); > $mime_type = 'video/mp4'; > > header("Expires: Mon, 26 Nov 1962 00:00:00 GMT"); > header("Last-Modified: " . gmdate("D,d M Y H:i:s") . " GMT"); > header("Cache-Control: no-store, private, must-revalidate, max- > age=0"); > header("Pragma: no-cache"); > header('Content-Length: '.$filesize); > header('Content-Type: '.$mime_type); > header('Content-Disposition: attachment; > filename="'.basename($filename).'"'); > > $fp = fopen($filename,"r"); > while (!feof($fp)) { > echo fread($fp, 8192); > } > fclose($fp); > ?> > > I have checked access log of my server and found that each time I > access the stream.php, ipod touch safari will access the file twice. > The user agent of first access is "Apple iPhone" and the second access > is "iPod Safari"... > > xxx.xxx.xxx.xxx - - [14/Oct/2007:04:10:53 +0800] "GET /ipod/stream.php > HTTP/1.1" 200 16384 "-" "Apple iPhone v1.1.1 CoreMedia v1.0.0.3A110a" > xxx.xxx.xxx.xxx- - [14/Oct/2007:04:10:52 +0800] "GET /ipod/stream.php > HTTP/1.1" 200 270336 "-" "Mozilla/5.0 (iPod; U; CPU like Mac OS X; ja- > jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a > Safari/419.3" > > The amount of data logged in access log is not the same of the file. > Seems it stopped to transfer data suddenly. > > I have also tried to change the reading method from fread() to > readfile(), so that the file will not transfer in segment. Now the > amount of data logged in the access log is same as the mp4 file size, > but iPod touch still cannot playback the file. The access log is like > this : > > xxx.xxx.xxx.xxx- - [14/Oct/2007:04:24:17 +0800] "GET /ipod/stream.php > HTTP/1.1" 200 5027707 "-" "Apple iPhone v1.1.1 CoreMedia > v1.0.0.3A110a" > xxx.xxx.xxx.xxx- - [14/Oct/2007:04:24:17 +0800] "GET /ipod/stream.php > HTTP/1.1" 200 5027707 "-" "Mozilla/5.0 (iPod; U; CPU like Mac OS X; > ja- > jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A110a > Safari/419.3" > > Hope anyone can help me. Thank you. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "iPhoneWebDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/iphonewebdev?hl=en -~----------~----~----~----~------~----~------~--~---
