gpt4 book ai didi

php - 在php中获取ffmpeg中的音频持续时间

转载 作者:行者123 更新时间:2023-12-04 22:51:40 25 4
gpt4 key购买 nike

我正在使用 PHP-FFMpeg处理音频和视频文件的库。

我知道要获得特定视频的持续时间可以这样:

$ffprobe    = \FFMpeg\FFProbe::create();
$duration = $ffprobe->format('path/to/file')->get('duration');

但我知道如何为给定的音频文件做到这一点。

有人知道解决方案吗?

最佳答案

它对音频的工作方式应该与对视频的工作方式完全相同。

例如这段代码:

$ffprobe    = \FFMpeg\FFProbe::create();
$durationMp3 = $ffprobe->format('test.mp3')->get('duration');
$durationFlac = $ffprobe->format('test.flac')->get('duration');

echo "$durationMp3\n";
echo "$durationFlac\n";

输出 mp3 和 FLAC 格式的持续时间(以秒为单位):
255.477551
255.477551

您的音频文件是否可能未正确编码,因此 ffmpeg 本身无法识别?

您可以尝试运行 cli 命令:
ffmpeg -i test.mp3 2>&1 | grep Duration | awk '{print $2}' | tr -d ,

对于它产生的相同 test.mp3
00:04:15.48

这与生成的 php 代码相同的 255.48 秒

如果直接运行 ffmpeg 没有产生任何有用的东西,那么问题出在音频文件本身。然后,您可以修复文件或使用其他(正确编码的)文件进行测试。

关于php - 在php中获取ffmpeg中的音频持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42371387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com