Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Beispielcode zum Abrufen der Uhrzeit der FLV-Datei

PHP-Beispielcode zum Abrufen der Uhrzeit der FLV-Datei

怪我咯
怪我咯Original
2017-07-12 11:54:441049Durchsuche

FLV ist die Abkürzung für FLASH VIDEO. Das FLV-Streaming-Format ist ein neues Videoformat, der vollständige Name ist Flash Video. Da die erstellten Dateien extrem klein sind und die Ladegeschwindigkeit extrem hoch ist, ist es möglich, Videodateien im Internet anzusehen. Sein Aussehen löst effektiv das Problem, dass die exportierte SWF-Datei nach dem Import der Videodateien in Flash umfangreich ist und kann im Internet nicht gut verwendet werden.

FLV ist ein Videoformat, das mit der Einführung von Flash MX entwickelt wurde. Es wird derzeit von vielen Video-Sharing-Websites der neuen Generation verwendet und ist derzeit das am schnellsten wachsende weit verbreitetes Videoübertragungsformat. Es wurde basierend auf dem Komprimierungsalgorithmus der Sorenson Company entwickelt. Das FLV-Format lässt sich nicht nur einfach in Flash importieren, es ist auch extrem schnell, es kann auch das Urheberrecht schützen und das Video kann ohne Verwendung des lokalen Microsoft- oder REAL-Players abgespielt werden.
FLV ist ein neues Streaming-Videoformat, das die auf Webseiten weit verbreitete Flash Player-Plattform nutzt, um Videos in Flash-Animationen zu integrieren. Mit anderen Worten: Solange Website-Besucher Flash-Animationen ansehen können, können sie auch Videos im FLV-Format ansehen, ohne dass zusätzliche andere Video-Plug-Ins installiert werden müssen. Die Verwendung von FLV-Videos bringt großen Komfort bei der Videoverbreitung . .

Dieser Artikel stellt hauptsächlich die Implementierung von PHP vor, um die Zeit von FLV-Dateien zu erhalten. Dieser Artikel gibt direkt den Implementierungscode und die Verwendungsmethoden an.

Wie erhält PHP die? Zeit von FLV-Dateien? Die Antwort ist, dass Sie nach dem Öffnen der Datei die FLV-Datei als HEX-Daten anzeigen und in eine Zahl konvertieren.

Der Code lautet wie folgt:

<?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;
}
 
?>

Verwenden Sie einfach get_flv_file_time("your FLV.flv") direkt.

Das obige ist der detaillierte Inhalt vonPHP-Beispielcode zum Abrufen der Uhrzeit der FLV-Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn