Maison >développement back-end >tutoriel php >exemple de code php pour obtenir l'heure du fichier FLV

exemple de code php pour obtenir l'heure du fichier FLV

怪我咯
怪我咯original
2017-07-12 11:54:441100parcourir

FLV est l'abréviation de FLASH VIDEO Le format multimédia 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. Inconvénients tels que

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 est actuellement celui qui connaît la croissance la plus rapide et la plus importante. format de transmission vidéo largement répandu. 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 supplémentaires. L'utilisation de vidéos FLV apporte une grande commodité à la diffusion vidéo. .

Cet article présente principalement l'implémentation de PHP pour obtenir l'heure des fichiers FLV. Cet article donne directement le code d'implémentation et les méthodes d'utilisation. Les amis dans le besoin peuvent se référer à

Comment PHP obtient-il l'heure. heure des fichiers FLV ? La réponse est qu'après avoir ouvert le fichier, affichez le fichier FLV sous forme de données HEX et convertissez-le en nombre.

Le code est le suivant :

<?php
functionBigEndian2Int($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;
}
 
functiongetTime($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;
}
 
functionget_flv_file_time($time)
{
$time=getTime($time);
    $num=$time;
    $sec=intval($num/1000);
    $h   =intval($sec/3600);
    $m   =intval(($sec%3600)/60);
    $s   =intval(($sec%60));
    $tm  =$h.&#39;:&#39;.$m.&#39;:&#39;.$s;
    return$tm;
}
 
?>

Utilisez simplement get_flv_file_time("votre FLV.flv") directement.

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!

Déclaration:
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