PHP FFMPEG如何在转换前根据比特率和持续时间计算视频的文件大小?

时间:2019-04-17 18:23:28

标签: php video ffmpeg

我正在使用php-ffmpeg(从phpmp到phpmp的PHP API)在转换视频文件之前对其进行探测。我得到了我所需要的所有信息,但是一旦转换后,我想用它来计算视频的估计文件大小,以便我可以更有效地转换视频,以获取质量和空间等信息。

转换后的文件大小仅是估计值。到目前为止,我已经尝试将持续时间乘以预期的视频比特率再加上预期的音频比特率。但是,这使我的大小比具有更高视频和音频比特率的原始视频文件大得多。我假设每种不同的视频编解码器都必须考虑压缩因子,但是现在我只是想通过.mp4 / m4v达到某个目的。

这是我尝试过的;

// duration | vid bitrate | aud bitrate
$estimated_converted_size = $duration * ((4992 * 1024) + (128 * 1024));

24秒视频的结果是,视频比特率为29302kbps,文件大小为87.86 MB,一旦转换为4992kbs,估计为121.11 MB-显然不正确!

我对视频的技术不太了解,但是有没有一种方法可以相当准确地估算转换后的文件大小?

1 个答案:

答案 0 :(得分:1)

29302kbps是每秒千位

87.86 MB是兆字节。

一个字节中有8位。 121.11Mb等于15.13MB (121.11/8)