Maison > Article > développement back-end > Explication détaillée de l'utilisation de php pour lire la durée de lecture des fichiers flv
FLV est l'abréviation de FLASH VIDEO Le format de streaming FLV est un nouveau format vidéo, le nom complet est Flash Video. Étant donné que les fichiers qu'il forme sont extrêmement petits et que la vitesse de chargement est extrêmement rapide, il permet de regarder des fichiers vidéo sur Internet. Son apparence résout efficacement le problème selon lequel une fois les fichiers vidéo importés dans Flash, le fichier SWF exporté est volumineux. et ne peut pas être bien utilisé sur Internet et présente d'autres lacunes.
FLV est un format vidéo développé avec le lancement de Flash MX. Il est actuellement utilisé par de nombreux sites Web de partage de vidéos de nouvelle génération et constitue actuellement le format de transmission vidéo qui connaît la croissance la plus rapide. Il a été développé sur la base de l'algorithme de compression de Sorenson Company. Le format FLV peut non seulement être facilement importé dans Flash, il est extrêmement rapide, il peut également protéger les droits d'auteur et la vidéo peut être lue sans utiliser le lecteur Microsoft ou REAL Player local.
FLV est un nouveau format de streaming vidéo qui utilise la plateforme Flash Player largement utilisée sur les pages Web pour intégrer des vidéos dans des animations Flash. En d'autres termes, tant que les visiteurs du site Web peuvent regarder des animations Flash, ils peuvent également regarder des vidéos au format FLV sans avoir besoin d'installer d'autres plug-ins vidéo. L'utilisation de vidéos FLV apporte une grande commodité à la diffusion vidéo. .
Cet article présente principalement le code permettant de lire la durée de lecture des fichiers flv en utilisant PHP. Les amis qui en ont besoin peuvent s'y référer. Le code est le suivant :
<?php // +----------------------------------------------------------------------+ // | PHP version 4&5 | // +----------------------------------------------------------------------+ // | Copyright (c) 2007 JackieWangjackieit@hotmail.com | // +----------------------------------------------------------------------+ // | This source file's function is to get the time length of flv | // | main function getTime param:$name The flv file you want to get | // +----------------------------------------------------------------------+ function BigEndian2Int($byte_word, $signed = false) { $int_value = 0; $byte_wordlen = strlen($byte_word); for ($i = 0; $i < $byte_wordlen; $i++) { $int_value += ord($byte_word{$i}) * pow(256, ($byte_wordlen - 1 - $i)); } if ($signed) { $sign_mask_bit = 0x80 << (8 * ($byte_wordlen - 1)); if ($int_value & $sign_mask_bit) { $int_value = 0 - ($int_value & ($sign_mask_bit - 1)); } } return $int_value; } function getTime($name){ if(!file_exists($name)){ return; } $flv_data_length=filesize($name); $fp = @fopen($name, 'rb'); $flv_header = fread($fp, 5); fseek($fp, 5, SEEK_SET); $frame_size_data_length =BigEndian2Int(fread($fp, 4)); $flv_header_frame_length = 9; if ($frame_size_data_length > $flv_header_frame_length) { fseek($fp, $frame_size_data_length - $flv_header_frame_length, SEEK_CUR); } $duration = 0; while ((ftell($fp) + 1) < $flv_data_length) { $this_tag_header = fread($fp, 16); $data_length = BigEndian2Int(substr($this_tag_header, 5, 3)); $timestamp = BigEndian2Int(substr($this_tag_header, 8, 3)); $next_offset = ftell($fp) - 1 + $data_length; if ($timestamp > $duration) { $duration = $timestamp; } fseek($fp, $next_offset, SEEK_SET); } fclose($fp); return $duration; } ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!