attempted to emulate a byte server in a php page is a waste of time.  
but it is required for longer songs or movies.

use apache to add the headers to all the movies and music... without  
php.

http://www.geekwisdom.com/dyn/cache-control2


On Oct 13, 2007, at 10:18 PM, 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to