Hoi,
Ik probeer m.b.v php informatie te krijgen over de duur, videobitrate, audiobitrate en framerate van een FLV (flash) filmpje dat zich bevindt op een andere server dan waar de website op staat. De flv movies staan namelijk op een speciale video server terwijl de website zelf weer op een andere server staat. Tot nu toe is het me gelukt om de duur uit het bestand te halen (met hulp van google):
Hier wordt gebruik gemaakt van de metadata van het flv bestand dat er alsvolgt uitziet:
FLV õ onMetaData duration@*\(õÂwidth@†€height@y@ videodatarate@@ canSeekToEnd videocodecid@ audiodatarate@` audiocodecid@ framerate@9 creationdateThu Nov 15 10:29:33 2007 ¢/ÿû@K€ p. %
Het is me nu gelukt om de duration eruit te halen met wat hulp van voorbeelden op het internet. Maar ik begrijp niet helemaal wat er in deze functie gebeurt. Wat wordt er met $taglen uitgerekend? Hoe manipuleer ik deze code zodat ik ook de videodatarate eruit kan halen en audiodatarate etc?
Als iemand mij een beetje op weg kan helpen zou ik dat erg waarderen :):P
Ik probeer m.b.v php informatie te krijgen over de duur, videobitrate, audiobitrate en framerate van een FLV (flash) filmpje dat zich bevindt op een andere server dan waar de website op staat. De flv movies staan namelijk op een speciale video server terwijl de website zelf weer op een andere server staat. Tot nu toe is het me gelukt om de duur uit het bestand te halen (met hulp van google):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| function GetFLVDuration($file){ // get contents of a file into a string $contents = file_get_contents($file,FILE_BINARY,NULL,0); // if (strlen($contents) > 3){ if (substr($contents,0,3) == "FLV"){ $taglen = hexdec(bin2hex(substr($contents,strlen($contents)-3))); if (strlen($contents) > $taglen){ $duration = hexdec(bin2hex(substr($contents,strlen($contents)-$taglen,3))) ; return $duration; } } } return "OOPS"; } |
Hier wordt gebruik gemaakt van de metadata van het flv bestand dat er alsvolgt uitziet:
FLV õ onMetaData duration@*\(õÂwidth@†€height@y@ videodatarate@@ canSeekToEnd videocodecid@ audiodatarate@` audiocodecid@ framerate@9 creationdateThu Nov 15 10:29:33 2007 ¢/ÿû@K€ p. %
Het is me nu gelukt om de duration eruit te halen met wat hulp van voorbeelden op het internet. Maar ik begrijp niet helemaal wat er in deze functie gebeurt. Wat wordt er met $taglen uitgerekend? Hoe manipuleer ik deze code zodat ik ook de videodatarate eruit kan halen en audiodatarate etc?
Als iemand mij een beetje op weg kan helpen zou ik dat erg waarderen :):P