php flv视频时间获取函数

代码如下:

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

时间: 2010-06-28

用php将任何格式视频转为flv的代码

复制代码 代码如下: <? define("ROOT_DIR",dirname(__FILE__)); class EcodeFlv { var $fromFile; //上传来的文件 var $toFilePath; //保存文件路径 var $toPicPath; //保存图片路径 var $mpeg; //ffmpeg.exe文件的路径 var $mencode; //mencode.exe文件的路径 var $cmdToFile; //转换文件命令 var $cmdToP

php中获得视频时间总长度的另一种方法

当时获得视频长度是采用网上的通用的获得flv视频文件长度的方法,但是这个方法只对flv视频支持,其他格式的视频获取到的值就很差了, 下面在介绍一种:利用ffmpeg返回值Duration的方法,原来也想过用,但是没有解决,现在可以了,由于ffmpeg支持很多种格式的视频,所以这个具体一定的通用性. ffmpeg获得视频时间长度的Duration的linux命令: ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed

利用php获得flv视频长度的实例代码

废话不多说了,直接给大家贴代码了,具体代码如下所示: 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

用PHP读取flv文件的播放时间长度

复制代码 代码如下: <?php // +----------------------------------------------------------------------+ // | PHP version 4&5 | // +----------------------------------------------------------------------+ // | Copyright (c) 2007 JackieWangjackieit@hotmail.com |

PHP获取youku视频真实flv文件地址的方法

本文实例讲述了PHP获取youku视频真实flv文件地址的方法.分享给大家供大家参考.具体分析如下: 有一站长要我帮助它做一个可以自动测试出youku视频网站的flv真实地址,下面我整理了一下午解决了此问题非常的不错,大家可参考一下. 这个是借力打力,只是抓去朋友网的内容,不过相当好用,代码如下: 复制代码 代码如下: <?php $videourl='http://v.youku.com/v_show/id_XMjA5MjQ0OTQ0.html'; function get_content($

PHP实现获取FLV文件的时间

PHP如何获取FLV文件时间呢,答案是fopen文件后查看FLV文件是HEX数据,并转换为number. 复制代码 代码如下: <?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_wo

PHP从FLV文件获取视频预览图的方法

本文实例讲述了PHP从FLV文件获取视频预览图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php // references http://www.longtailvideo.com/support/forum/Modules/12661/External-PHP-with-FFmpeg-using-readfile- // generate a preview image from an FLV file on-the-fly, or to save // ca

PHP 获取远程文件内容的函数代码

如下函数: 复制代码 代码如下: <? /** 获取远程文件内容 @param $url 文件http地址 */ function fopen_url($url) { if (function_exists('file_get_contents')) { $file_content = @file_get_contents($url); } elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){ $i

获取当前系统本地时间,精确到毫秒的实例

实例如下: #include <sys/timeb.h> #include <chrono> char* cur_time_c(char strDateTime[32]) { struct timeb tp_cur; ftime(&tp_cur); struct tm btm; #ifdef WIN32 localtime_s(&btm, &tp_cur.time); #else localtime_r(&tp_cur.time, &btm)

Java获取当地的日出日落时间代码分享

根据经纬度和当前日期获取当地的日出日落时间,强大的Google搜索让我迅速找到了一个外国人写的一个java类,代码中的注释写得很清楚.这里直接贴出代码来: 复制代码 代码如下: /********************************************************************************       SunriseSunset.java*******************************************************

javascript 获取HTMl文件指定元素的代码

获取HTML文件的指定元素 function getElement1(){ alert(document.all("myH2").tagName); } function getElement2(){ alert(myH2.tagName); } function showTags(){ alert(document.all.tags("P").length); } function showItems(){ var strTags = "";

js实时获取并显示当前时间的方法

本文实例讲述了js实时获取并显示当前时间的方法.分享给大家供大家参考.具体实现方法如下: js部分如下: <script type="text/javascript"> window.onload = function() { var show = document.getElementById("show"); setInterval(function() { var time = new Date(); // 程序计时的月从0开始取值后+1 var

js 获取本地文件及目录的方法(推荐)

Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等高级语言中经常做的工作一样.怎么样,你是否需要了解这方面的知识?那就请跟我来,本文将详细描述如何使用Javascript语言进行文件操作. 一.功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象.在详

PHP编程获取音频文件时长的方法【基于getid3类】

本文实例讲述了PHP编程获取音频文件时长的方法.分享给大家供大家参考,具体如下: 问题: 昨天在新增论坛功能的时候,移动端显示音频文件需要知道是多长的音频: 具体解决方案如下: 首先就是数据库中增加保存音频文件时长的字段: 然后我在网上找到了getID3这个类可以获取到音频文件的时长,将其引入到项目中去: 其次在移动端上传音频文件的接口中,调用该类,具体写法如下: $getID3 = new getID3(); //实例化类 $ThisFileInfo = $getID3->analyze($p

php获取远程文件的内容和大小

本文实例总结了php获取远程文件的内容和大小的方法.分享给大家供大家参考.具体如下: 1.获取远程文件内容的方法 2.获取远程文件大小的方法 以上就是php获取远程文件的内容和大小函数代码,希望对大家的学习有所帮助.