begin process at 2012 05 28 01:17:30
  Trouver un code source :
 
dans
 

5 commentaire(s) de SA7BOOCH sur des sources sur phpcs

Déposé sur Lecture des caractéristiques d'un fichier flv

c'est bon j'ai trouvé une solution à mon problème sur

http://bytes.com/topic/php/answers/9237-hex-floating-point (2éme commentaire).

mon code ressemble à ça en ce moment

private function read_metadata() {

$meta_tags = array(
'duration',
'width',
'height',
'videodatarate',
'canSeekToEnd',
'videocodecid',
'audiodatarate',
'audiocodecid',
'framerate'
);

$buffer = fread($this->fileId, 256);

foreach($meta_tags as $meta_tag) {
$v = $this->getStr($buffer, $meta_tag);
$this->metadata[$meta_tag] = $this->bin2double($v);
}
}

public function get_metadata() {
return $this->metadata;
}

private function hex2bin($hex) {
$l = strlen($hex);
$bin = '';
for ($i=0;$i<$l;$i=$i+2) {
$bin .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $bin;
}

private function hexreverse($hex) {
$l = strlen($hex);
$bytes = array();
for ($i=0;$i<$l;$i=$i+2) {
$bytes[] = $hex[$i].$hex[$i+1];
}
$reversed_bytes = array_reverse($bytes);
return implode($reversed_bytes);
}

private function bin2double($v) {
$hex = bin2hex($v);
$hex_word = substr($hex, 0, 16);
$reversed_hex = $this->hexreverse($hex_word);
$hex_double = $this->hex2bin($reversed_hex);
$unpacked_double = unpack('d', $hex_double);
return round($unpacked_double[1]);
}

private function getStr($buf, $tag) {
$p = strpos($buf, $tag);
if ($p !== false){
$deb= $p + strlen($tag) + 1;
return substr($buf, $deb);
}
return '';
}

public static function seconds_to_hhmmss($duration) {
return sprintf('%02d:%02d:%02d', floor($duration / 3600), floor(($duration%3600) / 60), $duration % 60);
}
Posté le : 26/11/2009 11:28:40

Déposé sur Lecture des caractéristiques d'un fichier flv

je m'excuse de vous avoir quité hier sans prévenir,

hier j'était sous Ubuntu 9.0.4 32-bit et ce matin j'utilise fc10.x86_32 et j'ai toujour le même problème :( je coris que je vais installer ffmpeg et utiliser ses commandes pour récupérer automatiquement les durées de mes vidéos

Merci pour votre réactivité
Posté le : 26/11/2009 07:23:20

Déposé sur Lecture des caractéristiques d'un fichier flv

merci fgth99,

mais ta méthode readMetadata donne les bonne valeurs de height et width mais pas la durée :(

var_dump($flv->duration);
var_dump($flv->height);
var_dump($flv->width);

donne

float(1.35595221018E+87)
float(736)
float(640)
Posté le : 25/11/2009 15:50:06

Déposé sur Lecture des caractéristiques d'un fichier flv

Bonjour fgth99,

est ce que vous pouvez m'envoyer le code de ta méthode getStr utilisé dans la méthode readMetadata.

Merci
Posté le : 25/11/2009 14:14:36

Déposé sur Class image floodé entièrement paramètrable

Merci :o)
Posté le : 18/05/2005 12:16:18

1


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales