手机版

php使用工具获取视频信息并截图的实现方法

时间:2021-11-01 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)使用工具获取视频信息并截图的方法。分享给大家供大家参考,具体如下:

$ movie=new ffmpeg _ movie(' 4。MP4’);$ width=$ movie-getFrameWidth();$ height=$ movie-getFrameHeight();$ count=$ movie-getFrameCount();打印$计数.'';$ n=round($ count/16);打印$n .for($ I=1;$ I=1;$i ) { $img='screencap ' .一美元.png ';$ x=$ n * $ I;$ f=$ movie-GetFrame($ x);$ GD _ image=$ f-TogDimage();imagepng($gd_image,$ img);图像销毁($ GD _ image);回声\ n ';} $ extension=" ffmpeg$extension_soname=$extension .PHP _ SHLIB _后缀;$ EXtension _全名=PHP _ EXtension _ DIR ./' .$ extension _ soname//加载extensionif(!extension _ loaded($ extension)){ dl($ extension _ soname)或' die('无法加载扩展名$ extension _全名\ n ');}if (php_sapi_name()!=" CLI "){ echo " ";} printf(' FFMPEG-PHP VERSION STRING :% s \ n ',FFMPEG _ PHP _ VERSION _ STRING);printf(' FFMPEG-PHP BUILD _ DATE _ STRING :% s \ n ',FFMPEG _ PHP _ BUILD _ DATE _ STRING);printf(' LIBAVCODEC BUILD NUMBER :% d \ n ',LIBAVCODEC _ BUILD _ NUMBER);printf(' LIBAVCODEC VERSION NUMBER :% d \ n ',LIBAVCODEC _ VERSION _ NUMBER);print _ class _ methods(' ffmpeg _ movie ');print _ class _ methods(' ffmpeg _ frame ');//从测试媒体目录$ movies=getDirFiles(dirname(_ _ FILE _ _)中获取电影数组/tests/test _ media’);回声-\ n \ n ';foreach($ movies as $ movie){ $ mov=new ffmpeg _ movie($ movie);printf('文件名=%s\n ',$ mov-getFileName());printf('持续时间=%s秒\n ',$ mov-GetDuration());printf('帧数=%s\n ',$ mov-getFrameCount());printf('帧率=%0.3f fps\n ',$ mov-GetFrameRate());printf('comment=%s\n ',$ mov-GetComment());printf('title=%s\n ',$ mov-getTitle());printf('作者=%s\n ',$ mov-Getauthor());printf('版权=%s\n ',$ mov-getCopyright());printf('get比特率=%d\n ',$ mov-getBitRate());printf('有音频=%s\n ',$mov-hasAudio()==0?否' : '是');if($ mov-hasAudio()){ printf(' get音频流id=% s \ n ',$ mov-getaudiostramid());printf('get音频编解码器=%s\n ',$ mov-Getaudiodec());printf('获取音频比特率=%d\n ',$ mov-getaudiostatee());printf('get音频采样率=%d \n ',$ mov-getaudiosacomplere());printf('获取音频通道=%s\n ',$ mov-Getaudiochannels());} printf('有视频=%s\n ',$mov-hasVideo()==0?否' : '是');if ($mov-hasVideo()) { printf('帧高=%d像素\n ',$ mov-getFrameHeight());printf('帧宽度=%d像素\n ',$ mov-getFrameWidth());printf('get视频流id=%s\n ',$ mov-GetVideoStreamID());printf('get视频编解码器=%s\n ',$ mov-getvideo编解码器());printf('获取视频比特率=%d\n ',$ mov-getvideobitrater());printf('get pixel format=%s\n ',$ mov-getPixelFormat());printf('get像素长宽比=%s\n ',$ mov-getpixelaspectraratio());$ frame=$ mov-GetFrame(10);printf('get frame=%s\n ',is_object($frame)?true ' : ' false ');printf('获取帧号=%d\n ',$ mov-getFrameNumber());printf(' get frame width=%d\n ',$ frame-getWidth());printf('获取框架高度=%d\n ',$ frame-GetHeight());}回显\ n-\ n \ n ';}if (php_sapi_name()!=" CLI "){ echo " ";}/* FUNCTIONS */function print _ class _ methods($ class){ echo ' \ n class ' $ class ' :中可用的方法\ n ';$ methods=get _ class _ methods($ class);if(is _ array($ methods)){ foreach($ methods as $ method){ echo $ method .\ n ';} } else { echo "未定义方法\ n ";} }函数getDirFiles($ dirPath){ if($ handle=opendir($ dirPath)){ while(false!==($ file=readdir($ handle)){ $完整路径=$ DirPath .'/' .$ fileif(!is_dir($fullpath) $file!='CVS' $file!='.'$file!='.')$ FileArr[]=trim($完整路径);} closedir($ handle);}返回$ filesArr }?运行效果如下图所示:

更多对PHP感兴趣的读者,请查看本网站专题:《PHP图形与图片操作技巧汇总》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》、《php常见数据库操作技巧汇总》、0103010。

希望本文对PHP编程有所帮助。

版权声明:php使用工具获取视频信息并截图的实现方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。