Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung der Verwendung von PHP zum Lesen der Wiedergabezeitdauer von FLV-Dateien

Ausführliche Erklärung der Verwendung von PHP zum Lesen der Wiedergabezeitdauer von FLV-Dateien

怪我咯
怪我咯Original
2017-07-12 11:55:111581Durchsuche

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 nicht gut im Internet verwendet werden und weist andere Mängel auf.
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 und am weitesten verbreitete 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 andere Video-Plug-Ins installieren zu müssen. Die Verwendung von FLV-Videos bringt großen Komfort bei der Verbreitung von Videos. In diesem Artikel wird hauptsächlich der Code zum Lesen der Wiedergabezeitdauer von FLV-Dateien mit PHP vorgestellt. Freunde, die ihn benötigen, können darauf zurückgreifen.

Der Code lautet wie folgt:

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

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung der Verwendung von PHP zum Lesen der Wiedergabezeitdauer von FLV-Dateien. 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