这篇文章主要介绍了利用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 ($signed) { $sign_mask_bit = 0x80 <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) BigEndian2Int(substr($this_tag_header, 5, 3)); $t<div style="color:transparent">来源gaodai.ma#com搞##代!^码网</div>imestamp = $this->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; } //转化为0:03:56的时间格式 function getFlvTime($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; }
总结
以上就是利用php获得flv视频长度的实例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!