PHP如何获取FLV文件时间呢,答案是fopen文件后查看FLV文件是HEX数据,并转换为number。

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

function get_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 . ':' . $m . ':' . $s;
    return $tm;
}

?>

直接使用**get_flv_file_time(“你的FLV.flv”)**即可。