• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 使用FFmpeg获取视频播放总时长与码率等信息示例代码

php 搞代码 3年前 (2022-01-22) 15次浏览 已收录 0个评论

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。这篇文章给大家分享了利用PHP中的FFmpeg读取视频播放时长与码率等信息,有需要的朋友们可以参考借鉴。下面来一起看看吧。

请注意:这篇文章中会用到passthru,可能部分虚拟主机会将此命令禁用。

代码如下:

PHP

<?phpdefine('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<a style="color:transparent">来@源gao*daima.com搞@代#码网</a><strong>搞gaodaima代码</strong>[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);?>

以上就是php 使用FFmpeg获取视频播放总时长与码率等信息示例代码的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 使用FFmpeg获取视频播放总时长与码率等信息示例代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址