Explication détaillée de l'utilisation de php pour lire la durée de lecture des fichiers flv

怪我咯
Libérer: 2023-03-13 17:22:01
original
1583 Les gens l'ont consulté

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&#39;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, &#39;rb&#39;); 
$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; 
} 
?>
Copier après la connexion


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!