nginx - 如何防止ffmpeg转码从低质量到高质量?

标签 nginx 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,则不要转码

提前致谢。

最佳答案

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

关于nginx - 如何防止ffmpeg转码从低质量到高质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54626619/

相关文章:

google-chrome - 资源被解释为文档,但使用 MIME 类型应用程序/八位字节流 pdf 传输

asp.net-mvc - Nginx到iis转发报错400

audio - 如何在使用 ffmpeg 保持正确时序的同时合并两个音频文件

python - 使用 streamlink 将流作为单个帧处理

video - 为什么 ffmpeg 中的位移复杂滤波器对 Cb 和 Cr 平面的位移与 lum 不同?

django - 创建一个 web url 来监听 redis pubsub 发布的消息

ssl - Nginx 服务器关闭某些客户端的 ssl 连接

image - FFmpeg 图像到视频和流媒体

node.js - ffmpeg : Bitstream not supported by this decoder

docker - 通过 nginx 和 letsencrypt ssl 使用 docker 运行 Shiny 的应用程序