使用ffmpeg / ffprobe使用php创建波形json

时间:2015-03-04 17:22:57

标签: php node.js ffmpeg ffprobe

我有很多ogg&我的服务器上的opus文件,需要根据需要生成json波形数值数组(例如下面的例子)。

最近我发现了基于waveform-util的节点,它使用ffmpeg / ffprobe来渲染JSON波形,并且它运行良好。如果让节点进程持续运行是我问题的最佳解决方案,我尚未决定。

因为ffmpeg似乎能够处理我可以抛出的任何东西,所以我希望坚持使用ffmpeg解决方案。

我有三个问题:

1)是否有PHP等价物?我找到了一对生成PNG图像但没有生成JSON波形数字数组的图像

2)使用基于节点的解决方案而不是基于php的解决方案(假设有基于php的解决方案)是否有任何明显的优势?

3)有没有办法使用CLI ffmpeg / ffprobe生成json波形?我看到了所有-show_选项(-show_data,-show_streams,-show_frames),但看起来没有任何东西能够产生我想要的东西。

json波形需要采用以下格式:

[0.0002,0.001,0.15,0.14,0.356 ......]

谢谢大家。

1 个答案:

答案 0 :(得分:0)

听起来好像我的服务器处理cgi的方式有冲突。我正在使用virtualmin并使用以下设置:

PHP脚本执行模式:CGI包装器(作为虚拟服务器所有者运行)

经过大量研究后,似乎使用纯node.js更轻量级而不是使用shell可执行文件。我只能通过将一个schbang行调用到节点来获得一些成功,但是拥有一个node.js脚本总是驻留内存可能是要走的路。