介绍
这篇文章给大家介绍怎么在php中利用ffmpeg对视频信息进行获取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
是一套可以用来记录,转换数字音频,视频,并能将其转化为流的开源计算机程序,包含了,保证高可移值性和编解码质量。
<强>代码如下:强>
& lt; php ?//,定义ffmpeg路径及命令常量 定义(& # 39;FFMPEG_CMD& # 39;,, & # 39;/usr/地方/bin/ffmpeg 我;“% s", 2祝辞,1 & # 39;);/* * ,*使用ffmpeg获取视频信息 ,* @param String  file 美元;视频文件 ,* @return 数组 ,*/function getVideoInfo(文件){ ,ob_start (); ,passthru (sprintf (FFMPEG_CMD,文件)美元); ,video_info 美元;=,ob_get_contents (); ,ob_end_clean ();//大敌;使用输出缓冲,获取ffmpeg所有输出内容 数组,ret 美元;=,(); ,//时间:00:33:42.64,,开始:,0.000000,比特率:152,kb/s ,if (preg_match(“/持续时间:,(?),开始:,(?),比特率:,(\ d *), kb \/s/,,, video_info美元,$ matches)) { 美元才能ret[& # 39;时间# 39;],=,$ matches[1];,//,视频长度 时间=美元才能duration 爆炸(& # 39;:& # 39;,$ matches [1]); 美元才能ret[& # 39;秒# 39;],=,美元持续时间[0]* 3600,+,美元持续时间[1]60 *,+,美元持续时间[2];,//,转为秒数 美元才能ret[& # 39;开始# 39;],=,$ matches[2];,//,开始时间 美元才能ret[& # 39;比特率# 39;],=,$ matches [3];,//, bitrate 码率,单位kb ,} ,//Stream # 0:1:,视频:,rv20 (时间/rv20 0 x30325652), yuv420p,, 352 x288, 117, kb/s,, 15, fps,, 15,创业,,1 k tbn, 1 k 时间待定 ,如果(preg_match(“/视频:,(?),(?),(. * ?)[\ s]/,,, video_info美元,$ matches)) { 美元才能ret [& # 39; vcodec& # 39;],=, $ matches[1];,,//,编码格式 美元才能ret [& # 39; vformat& # 39;],=, $ matches[2];,//,视频格式 美元才能ret[& # 39;分辨率# 39;],=,$ matches[3];,//,分辨率 列表才能(宽度、美元,美元的高度),=,爆炸(& # 39;x # 39;,, $ matches [3]); 美元才能ret[& # 39;宽度# 39;],=,美元宽度; 美元才能ret[& # 39;高度# 39;],=,美元的高度; ,} ,//Stream # 0时:,音频:,cook (时间/cook 0 x6b6f6f63), 22050,赫兹,,音响,,fltp,, 32 kb/s ,如果(preg_match(“/音频:,(. *),(\ d *),赫兹/,,,video_info美元,$ matches)) { 美元才能ret [& # 39; acodec& # 39;],=, $ matches[1];,,//,音频编码 美元才能ret [& # 39; asamplerate& # 39;],=, $ matches[2];,//,音频采样频率 ,} 美元,如果(收取(ret[& # 39;秒# 39;]),,,,收取(ret美元[& # 39;开始# 39;])){ 美元才能ret [& # 39; play_time& # 39;],=,美元受潮湿腐烂(& # 39;秒# 39;),+,随著美元[& # 39;开始# 39;];,//,实际播放时间 ,} ,$ ret[& # 39;大小# 39;],=,文件大小($文件);,//,视频文件大小 ,video_info 美元;=,iconv (& # 39; gbk # 39; & # 39; use utf8 # 39;,, video_info美元); ,return 数组(ret美元,美元video_info); }//,输出视频信息 $ video_info =, getVideoInfo (& # 39; myvideo.avi& # 39;); print_r ($ video_info [0]); ?在
<强>输出:强>
数组 ( ,(时间)=祝辞00:33:42.64 ,[秒]=在2022.64 ,[开始]=在0.000000 ,(比特率)=在152年 ,(vcodec)=祝辞,rv20 (时间/rv20 0 x30325652) ,(vformat)=祝辞yuv420p ,(分辨率)=祝辞352 x288 ,(宽度)=在352年 ,(高度)=在288年 ,(acodec)=祝辞,cook (时间/cook 0 x6b6f6f63) ,(asamplerate)=在22050年 ,(play_time)=在2022.64 ,(大小)=祝辞,38630744 )
关于怎么在php中利用ffmpeg对视频信息进行获取就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。