发布于 2015-02-09 09:57:36 | 921 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

FFmpeg 多媒体处理工具

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。


本文为大家讲解的是PHP中使用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);
     }

//获得视频文件的总长度时间和创建时间
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
     );
}


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务