php flv视频时间获取函数_php技巧

复制代码 代码如下:

<?php
  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, 'rb');
  $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;
  }
  function fn($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;
  }
  echo getTime("27729.flv");//显示数字时间如236722
  echo fn(236722); //显示时间格式0:03:56
  ?>

时间: 2024-11-08 17:30:22

php flv视频时间获取函数_php技巧的相关文章

利用Ffmpeg获得flv视频缩略图和视频时间的代码_php技巧

问题描述:获得flv视频的缩略图和视频时间长度 谷歌了半天发现可以使用Ffmpeg获得视频的一些信息,先介绍一下FFMEPG 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库.官方正式版ffmpeg不支持rmvb和rm格式. 不过有很多解决方法 FFmpeg的官方网址是 http://ffmpeg.mplayerhq.hu/ . 中文Wiki是 http://www.ffmpeg.com.cn/ ,资料很多. ㈠安装FFMEPG 操作系统:

PHP 文件扩展名 获取函数_php技巧

复制代码 代码如下: <?php $file = "/home/lvyaozu/backup_20080115.txt"; for($i=1; $i < 6; $i++) { $func = 'get_file_ext_' . $i; var_dump($func($file)); } function get_file_ext_1($file) { return strtolower(trim(substr(strrchr($file, '.'), 1))); } fun

php获取远程文件内容的函数_php技巧

一个简单的php获取远程文件内容的函数代码,兼容性强.直接调用就可以轻松获取远程文件的内容,使用这个函数也可获取图片.代码如下: /** * 读远程内容 * @return string */ function get_url_content($url){ if(function_exists("curl_init")){ $ch = curl_init(); $timeout = 30; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt

php显示时间常用方法小结_php技巧

本文实例讲述了php显示时间常用方法.分享给大家供大家参考.具体分析如下: 一.PHP函数Date()获取当前时间 代码: 复制代码 代码如下: <?php echo $showtime=date("Y-m-d H:i:s");?> 显示的格式: 年-月-日 小时:分钟:秒 相关参数: a:"am"或者"pm" A:"AM"或者"PM" d:几日,二位数字,若不足二位则前面补零,如: "

非常全面的php日期时间运算汇总_php技巧

实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳. 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响. 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值. 语法:mktime(hour,minute,second,month,day,year,is_dst)参数               描述  hour       可选.规定小时.  minute   可选.规定分钟.  second   可选.

js友好的时间返回函数_javascript技巧

本文实例为大家分享了js显示友好时间的函数代码,供大家参考,具体内容如下 //友好的时间返回函数(如:10分钟前)time_stamp为UNIX秒数 function friendly_time(time_stamp) { var now_d = new Date(); var now_time = now_d.getTime() / 1000; //获取当前时间的秒数 var f_d = new Date(); f_d.setTime(time_stamp * 1000); var f_tim

详解WordPress中用于更新和获取用户选项数据的PHP函数_php技巧

update_user_option()函数 update_user_option()函数作用利用全局博客权限更新用户选项. 用户选项类似于用户元数据,唯一的不同之处在于用户选项支持全局博客选项.如果'global'参数为False(默认情况下),update_user_option会预先将WordPress表前缀改成选项名称. [函数使用] <?php update_user_option( $user_id, $option_name, $newvalue, $global ) ?> [函

分享3个php获取日历的函数_php技巧

提供一个日期,获取这个日期的星期对应日历列表,键为星期标示 $month_date = '2015-09-25'; $start_time = strtotime($month_date); $start_week = date('w', $start_time); $total_month_day = date('t', $start_time); $weeks_in_month = ceil(($start_week+$total_month_day)/7); $month_day_arr

php实现求相对时间函数_php技巧

本文实例讲述了php实现求相对时间函数.分享给大家供大家参考.具体实现方法如下: <?php function relativeTime($time = false, $limit = 86400, $format = 'g:i A M jS') { if (empty($time) || (!is_string($time) & amp; & amp; !is_numeric($time))) $time = time(); elseif (is_string($time)) $t