ffmpeg - 我正在使用 ffmpeg 在实时流上叠加图像。我如何根据屏幕的宽度进行缩放以使其完全适合
问题描述
我使用 -s 标志将复杂过滤器的输出缩放到不同的标准分辨率,但结果是视频不完全适合我的输出屏幕。如何根据屏幕动态缩放不同的输出。这是我的命令。
ffmpeg -i rtmp://127.0.0.1:1935/show/$2 -i $overlayUrl -filter_complex "[1][0]scale2ref=iw:ih[ovr][base];[base][ovr] overlay=0:0, split=4[a][b]" -async 1 -vsync -1 -map 0:a -map "[a]" -c:v libx264 -c:a aac -b:v 256k -b:a 32k -s 640x360 -tune zerolatency -r 60 -preset veryfast -crf 23 -f flv rtmp://$rtmpoutput/$2_low -map 0:a -map "[b]" -c:v libx264 -c:a aac -b:v 768k -b:a 96k -s 640x480 -tune zerolatency -r 60 -preset veryfast -crf 23 -f flv rtmp://$rtmpoutput/$2_mid code here
解决方案
您的输出必须与屏幕分辨率的纵横比相匹配。唯一实用的解决方案是提供最佳猜测以匹配您的观众最常见的屏幕尺寸。其他人将有信箱/邮筒以适应屏幕。
推荐阅读
- mysql - Mysql [5.6] Innodb select query order by id asc limit 100 比 desc 慢很多
- php - Php - 从文件中读取和匹配字符串
- vb.net - 异步、等待 EventHandler 返回值
- python - 如何在 For 循环 Python 中通过字典中的键获取值
- java - Gradle:下载 gradle 需要“很长时间”,activity_main.xml 一直显示“正在加载”
- python - 有没有一种有效的方法可以将 RGB 图像中的主要颜色分箱?
- sql-server - 函数与存储过程作为外部名称属性
- javascript - 如何使用 socket.io 接收多个发出的参数
- java - 如何让程序显示吐司而不是崩溃?
- kubernetes - 如何在部署中运行命令?