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

标签 php node.js ffmpeg ffprobe

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

最近我发现了基于 Node waveform-util它使用 ffmpeg/ffprobe 渲染 JSON 波形,并且工作完美。我不确定让 Node 进程不断运行是否是解决我的问题的最佳解决方案。

由于 ffmpeg 似乎能够处理我可以扔给它的任何东西,我希望坚持使用 ffmpeg 解决方案。

我有三个问题:

1) 是否有 php 等效项?我发现有两个可以生成 PNG 图像,但没有一个可以生成 JSON 波形数字数组

2) 使用基于 Node 的解决方案而不是基于 php 的解决方案有什么显着的优势吗(假设有基于 php 的解决方案)?

3) 有没有办法使用 CLI ffmpeg/ffprobe 生成 json-waveform ?我看到了所有 -show_ 选项(-show_data、-show_streams、-show_frames),但看起来没有任何东西产生了我正在寻找的东西。

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

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

谢谢大家。

最佳答案

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

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

经过大量研究,似乎使用纯 Node.js 比使用 shell 可执行文件更轻量级。我仅仅通过放置一条 schbang 线来调用 Node 就取得了一些成功,但是让 Node.js 脚本始终驻留在内存中可能是可行的方法。

关于php - 使用 ffmpeg/ffprobe 使用 php 创建波形 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860841/

相关文章:

node.js - 通过 Socket.IO 的 WebSocket 设计模式

javascript - 如何发布同时具有 commonjs 和 es6 版本的 NPM 模块?

ffmpeg - 如何将 mkv 电影转换为 mp4 以流式传输到 Xbox 360

.mp4 文件中的 FFMPEG -stream_loop 显示失真的输出(虚拟网络摄像头/假摄像头) Linux Mint

php - 一个 Laravel 4 安装的多个应用程序/项目

javascript - 如何在 Drupal 8 主题中添加 javascript 库?

php - Highcharts 显示在某些页面中,而不显示在根页面中

php - 找不到 CakePHP 3.0 bin/cake 命令

node.js - ArangoDB - AQL 查询的性能问题

FFmpeg - 最大高度(裁剪)