1
9
ffmpeg可以做任何你想做的事情,但你是正确的,它是在一个几乎不可能解析格式。如果你在一个基于Unix的系统上使用操作系统和ffmpeg的特性来进行解析,而不是让php尝试理解输出,那么这实际上会更快。几个月前,我为类似的目的开发了以下shell命令。
管子(
我的命令基本上接受
换句话说,包含“持续时间”的行的第四个“部分”是实际持续时间…以小时、分钟和秒为单位(小数点后1位)。
在这之后,我创建了三个变量
注意,我正在设置输出的小时数
我用分钟做类似的事情,然后用秒做同样的事情,只在结尾处切掉小数。如果您在shell中工作,则必须删除此小数,因为
这将在调用后向PHP返回一个字符串,如“00:30:00.1”
要继续直接从shell获取秒数: 在得到了小时、分钟和秒之后,神奇的线条出现了:
这个
整个庞大命令的输出将是一个数字。视频持续的秒数。它应该适用于所有视频格式。 注意,这只是持续时间。至于视频编码器和音频编码器,您可能希望使用类似的方法,减去末尾的数学。一般的解决方案是:
它的输出可以继续在shell中解析(就像我在上面所做的那样),也可以传递给php。 |
2
2
我去看看 Mediainfo . 如果传入--output=xml,它将提供如下内容:
|
3
1
可能想试试这个家伙。当你可以利用一个图书馆时总是很好的: http://www.phpclasses.org/browse/file/1582.html |
4
0
|
Manjot Singh · FFMPEG-流媒体在几秒钟后停止 6 年前 |
Yang Chen · 如何使ffmpeg自动填充帧? 6 年前 |
user3313834 · 在文件名中使用空格读取时 6 年前 |
vcamargo · 如何使ffmpeg在Docker容器中可用? 6 年前 |
Marvin von Rappard · 剪切多个视频的结尾 6 年前 |
Edward · 当ffmpeg中的音频较长时,将黑色帧附加到视频 6 年前 |