ffmpeg php 快速播放,怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取
怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取
发布时间:2020-12-18 16:02:20
来源:亿速云
阅读:96
作者:Leah
这篇文章给大家介绍怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
PHP<?php
define('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[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函数对视频播放的时长进行获取就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
ffmpeg php 快速播放,怎么在PHP中利用FFmpeg函数对视频播放的时长进行获取相关推荐
- PHP中利用Ffmpeg获得flv视频缩略图和播放时间
为什么80%的码农都做不了架构师?>>> 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库.官方正式版ffmpeg不支持 ...
- 在 Apache Spark 中利用 HyperLogLog 函数实现高级分析
在 Apache Spark 中利用 HyperLogLog 函数实现高级分析 预聚合是高性能分析中的常用技术,例如,每小时100亿条的网站访问数据可以通过对常用的查询纬度进行聚合,被降低到1000万 ...
- Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)
Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现) 目录 matplotlib库中利用legend函数创建自定义图例 原始图像 在原始图像上创建自定义 ...
- Django模板中如何将函数的变量作为字典key并获取对应的value
Django模板中如何将函数的变量作为字典key并获取对应的value 问题 现有一字典 mydict = {'abc': 123} key = 'abc' 传入到模板后 在模板html中你可能像下面 ...
- php中glob怎么用,如何在php中利用glob函数对文件进行遍历
如何在php中利用glob函数对文件进行遍历 发布时间:2020-12-11 16:02:47 来源:亿速云 阅读:76 作者:Leah 如何在php中利用glob函数对文件进行遍历?相信很多没有经验 ...
- str split函数 php,怎么在php中利用str_split函数分割字符串
怎么在php中利用str_split函数分割字符串 发布时间:2021-01-04 14:52:31 来源:亿速云 阅读:54 作者:Leah 今天就跟大家聊聊有关怎么在php中利用str_split ...
- php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素
怎么在php中利用reset() 函数输出数组中的第一个元素 发布时间:2021-01-16 09:37:11 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关怎么在php中利用r ...
- C语言中利用Swap函数交换变量a,b
C语言中利用Swap函数交换变量a,b 常见错误写法 error1 void Sawp_error1(int a,int b) {int tmp;tmp=a;a=b;b=tmp; } int main ...
- c语言读取文件字节数,怎么在C语言中利用fstat函数获取文件的大小
怎么在C语言中利用fstat函数获取文件的大小 发布时间:2021-01-22 17:03:17 来源:亿速云 阅读:110 作者:Leah 怎么在C语言中利用fstat函数获取文件的大小?针对这个问 ...
最新文章
- SpringBoot多线程环境下,解决多个定时器冲突问题
- 深度学习debug沉思录!
- java中正则表达式 ?=_Java中的正则表达式
- 设置 页面 内容并排平均显示
- android wifi RSSI达到阈值自动断开
- mysql删除记录后id不连续_小水玩转Mysql---Mysql跟踪sql记录
- 2.微型计算机系统的基本结构及计算机各个部件的功能
- 和catch的区别_面试刷题2:Exception和Error的区别?
- 190327每日一句
- java 时间戳 重复_在Java中创建一个唯一的时间戳
- android6.0原生brower_Android原生下载组件DownloadManager
- 人心是暖的,眼泪是苦的,杜鹃花真的很香
- 大学上计算机课要准备笔记本电脑吗,大一新生需要买笔记本电脑吗 有必要吗...
- xp系统禁止开机启动服务器,Window XP 开机启动超慢,哪些系统服务和进程可以禁用?...
- Azure-发布个人静态网站
- werfault进程使用CPU率高
- 2021第7届中国大学生程序设计竞赛CCPC广州站, 签到题4题
- 初识AI,ML和DL关系
- 干货丨Python常用的1000+库大盘点
- Electron-vue开发桌面应用调用TSCLIB.dll(tsc标签打印机连接库)