首页 > 解决方案 > 我正在使用 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

标签: ffmpegoverlayhttp-live-streaming

解决方案


您的输出必须与屏幕分辨率的纵横比相匹配。唯一实用的解决方案是提供最佳猜测以匹配您的观众最常见的屏幕尺寸。其他人将有信箱/邮筒以适应屏幕。


推荐阅读