There is good thread going in chattyfig mailing list regarding how to do streaming of flv using php. I had came to know that new version Buraks flvmdi flv metadata injector can be easly get the times and poistions of each frames of flv in a array. I am able to create an example video player which can request the flv file and seek, stream & play it from any given location using server side scripting php.
Its very important to insert metadata into flv using flvmdi. If your webserver is windows based then flvmdi is going to be very usefull. You can easly execute following command to insert metadata into flv.
Following PHP Code can be execute any command on shell:
ExecShellCommand("flvmdi27b.exe inputflvfile outputflvfile /k", true);
function ExecShellCommand($command, $hide=true) {
if (!($p=popen(“($command)2>&1″,”r”))) return 126;
while (!feof($p)) {
$l=fgets($p,1000);
if (!$hide) print $l;
}
return pclose($p);
}
I had used Flash Video Player 2.2 done by Jeroen Wijering.
Download an example of all sources.
Download Buraks Flvmdi7b.
Download Flv Player 2.2
The only drawback is that Buraks Flvmdi is only available for windows.
I think if anyone write down for linux then it will be going to be huge. I hope someone can do something about it.
You can also check out same efforts by Stefan Richter on his weblog & Brad Murray on his weblog.
I think this will be really good to cut load on fcs for flv streaming and also able to save bandwidth of fcs.
For metadata injection, you can use flvtool2 on any system that can run Ruby.