php如何控制视频播放时长

php如何控制视频播放时长,小编今天告诉你,快来学习一下吧!

操作方法

  • 01

    代码如下: PHP <?php define('FFMPEG_PATH', '/usr/local/ffmpeg2/bin/ffmpeg -i "%s" 2>&1'); function getVideoInfo($file) {    $command = sprintf(FFMPEG_PATH, $file);    ob_start();  passthru($command);  $info = ob_get_contents();  ob_end_clean();    $data = array();  if (preg_match("/Duration: (.*?), start: (.*?), bitrate: (\d*) kb\/s/", $info, $match)) {    $data['duration'] = $match[1]; //播放时间    $arr_duration = explode(':', $match[1]);    $data['seconds'] = $arr_duration[0] * 3600 + $arr_duration[1] * 60 + $arr_duration[2]; //转换播放时间为秒数    $data['start'] = $match[2]; //开始时间    $data['bitrate'] = $match[3]; //码率(kb)  }  if (preg_match("/Video: (.*?), (.*?), (.*?)[,\s]/", $info, $match)) {    $data['vcodec'] = $match[1]; //视频编码格式    $data['vformat'] = $match[2]; //视频格式    $data['resolution'] = $match[3]; //视频分辨率    $arr_resolution = explode('x', $match[3]);    $data['width'] = $arr_resolution[0];    $data['height'] = $arr_resolution[1];  }  if (preg_match("/Audio: (\w*), (\d*) Hz/", $info, $match)) {    $data['acodec'] = $match[1]; //音频编码    $data['asamplerate'] = $match[2]; //音频采样频率  }  if (isset($data['seconds']) && isset($data['start'])) {    $data['play_time'] = $data['seconds'] + $data['start']; //实际播放时间  }  $data['size'] = filesize($file); //文件大小  return $data; } //用法 $video_info = getVideoInfo('video.mp4'); print_r($video_info); ?>

  • 02

    FFmpeg获得视频文件的缩略图: function getVideoCover($file,$time,$name) { if(empty($time))$time = '1';//默认截取第一秒第一帧 $strlen = strlen($file); // $videoCover = substr($file,0,$strlen-4); // $videoCoverName = $videoCover.'.jpg';//缩略图命名 //exec("ffmpeg -i ".$file." -y -f mjpeg -ss ".$time." -t 0.001 -s 320x240 ".$name."",$out,$status); $str = "ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t ".$time." -s 320x240 ".$name; //echo $str."</br>"; $result = system($str);

  • 03

    Fmpeg读取视频播放时长和码率 、 <?php define('FFMPEG_PATH', '/usr/local/ffmpeg2/bin/ffmpeg -i "%s" 2>&1'); function getVideoInfo($file) { $command = sprintf(FFMPEG_PATH, $file); ob_start(); passthru($command); $info = ob_get_contents(); ob_end_clean(); $data = array(); if (preg_match("/Duration: (.*?), start: (.*?), bitrate: (\d*) kb\/s/", $info, $match)) { $data['duration'] = $match[1]; //播放时间 $arr_duration = explode(':', $match[1]); $data['seconds'] = $arr_duration[0] * 3600 + $arr_duration[1] * 60 + $arr_duration[2]; //转换播放时间为秒数 $data['start'] = $match[2]; //开始时间 $data['bitrate'] = $match[3]; //码率(kb) } if (preg_match("/Video: (.*?), (.*?), (.*?)[,\s]/", $info, $match)) { $data['vcodec'] = $match[1]; //视频编码格式 $data['vformat'] = $match[2]; //视频格式 $data['resolution'] = $match[3]; //视频分辨率 $arr_resolution = explode('x', $match[3]); $data['width'] = $arr_resolution[0]; $data['height'] = $arr_resolution[1]; } if (preg_match("/Audio: (\w*), (\d*) Hz/", $info, $match)) { $data['acodec'] = $match[1]; //音频编码 $data['asamplerate'] = $match[2]; //音频采样频率 } if (isset($data['seconds']) && isset($data['start'])) { $data['play_time'] = $data['seconds'] + $data['start']; //实际播放时间 } $data['size'] = filesize($file); //文件大小 return $data; } //用法 $video_info = getVideoInfo('video.mp4'); print_r($video_info); ?>

  • 04

    Fmpeg获得视频文件的总长度时间和创建时间 function getTime($file){ $vtime = exec("ffmpeg -i ".$file." 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");//总长度 $ctime = date("Y-m-d H:i:s",filectime($file));//创建时间 //$duration = explode(":",$time); // $duration_in_seconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);//转化为秒 return array('vtime'=>$vtime, 'ctime'=>$ctime ); }

  • 05

    以上就是本文的全部内容,希望对大家的学习有所帮助,

(0)

相关推荐

  • 腾讯视频播放视频时快进快退的时长怎么设置

    今天给大家介绍一下腾讯视频播放视频时快进快退的时长怎么设置的具体操作步骤.1. 打开电脑,进入桌面,找到腾讯视频软件图标,双击打开.2.  进入主页面后,点击右上角的"三横"图标. ...

  • 如何开启抖音中的时间锁以控制刷抖音的时长

    现在几乎是全民抖音的时代,成年人都无法抵挡,更不用说孩子了,但是我们可以设置时间锁,来控制孩子使用抖音的时间,今天就跟大家介绍一下如何开启抖音中的时间锁以控制刷抖音的时长的具体操作步骤.1. 首先打开 ...

  • 数字标牌内容创建,播放时长控制很关键

    操作方法 01 在公告信息发布领域,数字标牌已经成为了一种非常成熟的概念,然而,如果没有极具吸引力的内容,那么也就失去了投资价值. 在数字标牌内容创建之初,就应用充分考虑是否能够充分吸引预期目标受众的 ...

  • 暴风影音中前播广告的投放和时长问题

    亲爱的暴迷们: 目前暴风在线视频播放之前,一般情况下是有2个广告: 1.时长: 前播广告的时长的模式是15+15、15+30、30+30三种,不会出现超过1分钟的情况。 2.前播广告投放的顺序: 前播 ...

  • ppt如何使用触发器控制视频播放

    用PowerPoint制作多媒体演示文稿时,很多人喜欢加入视频以增强作品的表现力.如果我们还需要对视频播放加以控制,比如播放.暂停等,该如何实现呢?其实可以使用触发器来实现. 用PowerPoint制 ...

  • 如何转换GIF动图为视频并将播放时长延长

    有的小伙伴看到了一个非常喜欢的GIF动画,因此想要把GIF动画转换为视频,并将播放时间延长,但是却不知道如何操作,其实我们可以在AE CC2020软件中转换并延长,那么小编就来为大家介绍一下吧.具体如 ...

  • 如何给mac电脑中的自动扫描设置重复前保持的时长

    今天跟大家介绍一下如何给mac电脑中的自动扫描设置重复前保持的时长的具体操作步骤.1. 首先打开电脑,进入桌面找到系统偏好设置图标,打开.2. 进入系统偏好设置页面后,找到辅助功能选项,点击.3. 进 ...

  • 王者荣耀中抵抗之靴可以减少达摩的破甲时长吗?

    我们都知道抵抗之靴的被动是减少控制效果的时长,那么它能减少达摩二技能的破甲时长吗?在夫子的进阶试炼中就有这样一道题,我们来看下 操作方法 01 首先我们打开手机中的王者荣耀游戏. 02 第一次或长时间 ...

  • 手机版360免费Wifi怎么共享Wifi里获取时长?

    当手机流量用光之后该怎么办?还有Wifi,可以家里没有Wifi怎么办?流量没了,Wifi也没了,难道要出去大街上站在联Wifi玩手机?那也太不现实了,要是有免费的Wifi就好了。唉,嘿嘿,小编这里有个 ...