php利用ffmpeg转码mp4 时间过长

发布于 2022-09-03 07:24:10 字数 346 浏览 32 评论 0

找了一个ffmpeg支持h264编码的,php调用exec利用ffmpeg转码时间过长,CPU使用率超过80%,问如何解决。
转码命令 另外不知道这里面参数的含义是什么?

$command='..\ffmpeg\bin\ffmpeg.exe -i ' .  $file . '.' . $ext . ' -vcodec libx264 -vprofile main -preset slow -b:v 400k -maxrate 400k -bufsize 800k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -ab 128k ' .$file . '.mp4';

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

傲娇萝莉攻 2022-09-10 07:24:10

用七牛来转,或者用队列异步来做

具体命令 man ffmpeg

念三年u 2022-09-10 07:24:10

php调脚本呗,转码cpu占用本来就高,这个无解。
参数最重要的是 -vcodec libx264 使用x264进行视频编码。
-acodec libvo_aacenc 使用aacenc进行音频编码。

孤君无依 2022-09-10 07:24:10

在 docker 內安裝 ffmpeg, 然後限制 docker 可運行的 CPU 數量.
例子:
docker run -d --cpuset-cpus=1-3 -p 22:22 -p 8082:8082 -v /root/docker/volume/:/dj -it django supervisord

註:
--cpuset-cpus=1-3 
主機有4個CPU. 我只分配 CPU1, CPU2, CPU3 給 docker 使用. CPU0 讓留下來備用.

你的情況,只要分配 2 個CPU就夠用了.

另外, 也可考慮使用 -threads 限CPU數量.
ffmpeg -threads 2 -crf 20 -y -i source.avi -strict experimental sample.mp4

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文