首页 > 解决方案 > 如何防止ffmpeg转码从低质量到高质量?

问题描述

我使用 nginx 构建直播服务器并使用 exec 命令运行 ffmpeg 进行转码,但我不希望输入流的转码质量为 640x360,输出流转码的质量为 1280x720。

这是我用来转码的命令:

exec /usr/bin/ffmpeg -i rtmp://localhost:1935/$app/$name -c:a aac -b:a 96k -c:v libx264 -vf "scale='if(gte(iw,ih),-2,360)':'if(gte(iw,ih),360,-2)'" -f flv rtmp://localhost:1935/360p/$name;

我想要的结果是,如果输入流的质量为 1280x720 或 640x360,则转码正常,但如果输入流的质量为 160x120,则不要转码

提前致谢。

标签: nginxffmpeg

解决方案


您将需要添加一个步骤来探测传入流以获取属性。然后编写程序或脚本来决定和创建输出设置。


推荐阅读