怎么在php中利用ffmpeg对视频信息进行获取

  介绍

这篇文章给大家介绍怎么在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对视频信息进行获取就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么在php中利用ffmpeg对视频信息进行获取