【发布时间】:2021-07-03 02:04:36
【问题描述】:
所以这是我的“工作” ffmpeg 命令:
ffmpeg -rtsp_transport tcp -i "input1" -rtsp_transport tcp -i "input2" -rtsp_transport tcp -i "input3" -rtsp_transport tcp -i "input4" -filter_complex "[0:v] setpts=PTS-STARTPTS, scale=480x270 [a0];[1:v] setpts=PTS-STARTPTS, scale=480x270 [a1];[2:v] setpts=PTS-STARTPTS, scale=480x270 [a2];[3:v] setpts=PTS-STARTPTS, scale=480x270 [a3];[a0][a1][a2][a3]xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0[out]" -map "[out]" -map 3:a -video_size 1920x1080 -tune zerolatency -profile:v baseline -level 3.0 -b:v 5000k -vcodec libx264 -preset medium -q:v 3 -crf 15 -r 15 -c:a aac -ac 2 -f flv rtmp://a.rtmp.youtube.com/live2/...
我遇到的问题是 Youtube 将此流识别为仅“360p”,我认为每个流的质量比这些相机的实际质量要差。
是否有什么我做错了,或者因为将其缩放到 2x2 网格而应该像那样“工作”?
【问题讨论】:
-
四个缩放到 480x270 并以 2x2 堆叠的视频将产生 960x540 的输出。不要缩小它们。
-
什么意思?我是如何缩小它们的?
-
@Martin 使用
scale=480x270,假设输入大于 480x270。您应该始终包含命令中的完整日志,这样我们就不必做出假设。此外,-video_size 1920x1080不是您的编码器/复用器的有效输出选项,将被忽略。 -
对不起,我对这些东西不太熟悉,你能告诉我如何显示完整的日志吗?有了这些缩放,我只是想把所有四个摄像头都放在一个屏幕上,它看起来相当不错,没有边框或其他东西。那么我应该设置什么比例?我认为 480x270 和四个视频会产生一个 1920x1080 的大屏幕?
-
“日志”只是 ffmpeg 在终端/控制台中吐出的文本。
标签: ffmpeg youtube stream grid