ffmpeg 多个 rtsp 摄像头进入单一流到 youtube

use*_*121 3 ffmpeg stream youtube-api rtsp

我有两个 rtsp ip 摄像机(dlink),我想在一个视频输出中合并(合并)2 个流并将其放入 yutube(实时流媒体)。

我的第一步没问题,我的命令是:

ffmpeg 
-i "rtsp://xxxxxx:xxxxxx@192.168.1.164/live2.sdp" 
-i "rtsp://xxxxxx:xxxxxx@192.168.1.164/live2.sdp" 
-filter_complex "
nullsrc=size=1600x448 [base]; 
[0:v] setpts=PTS-STARTPTS, scale=800x448 [upperleft]; 
[1:v] setpts=PTS-STARTPTS, scale=800x448 [upperright]; 
[base][upperleft] overlay=shortest=1 [base]; 
[base][upperright] overlay=shortest=1:x=800 [base]" 
-map [base] test.mp4
Run Code Online (Sandbox Code Playgroud)

我的 test.mp4 视频输出没问题。

之后,我尝试使用以下命令将此视频发送到 youtube live:

ffmpeg 
-i "rtsp://xxxxxx:xxxxxx@192.168.1.164/live2.sdp" 
-i "rtsp://xxxxxx:xxxxxx@192.168.1.164/live2.sdp" 
-filter_complex "
nullsrc=size=1600x448 [base]; 
[0:v] setpts=PTS-STARTPTS, scale=800x448 [upperleft]; 
[1:v] setpts=PTS-STARTPTS, scale=800x448 [upperright]; 
[base][upperleft] overlay=shortest=1 [base]; 
[base][upperright] overlay=shortest=1:x=800 [base]" 
-map [base] -f flv "rtmp://a.rtmp.youtube.com/live2/xxx-xxxx-xxxx-xxxx"
Run Code Online (Sandbox Code Playgroud)

但是 youtube 流不接收数据。(它似乎开始但看不到图像)。我认为是音频问题。但我不知道如何插入假音频(我不想要音频)。

有解决办法吗?

谢谢,马蒂亚

Gya*_*yan 5

试试这个,用虚拟音频

ffmpeg 
-i "rtsp://xxxxxx:xxxxxx@192.168.1.164/live2.sdp" 
-i "rtsp://xxxxxx:xxxxxx@192.168.1.164/live2.sdp"
-f lavfi -i anullsrc  
-filter_complex "
[0:v] setpts=PTS-STARTPTS,scale=800x448,setsar=1[upperleft]; 
[1:v] setpts=PTS-STARTPTS, scale=800x448,setsar=1[upperright]; 
[upperleft][upperright]hstack[base]" 
-map [base] -map 2 -f flv "rtmp://a.rtmp.youtube.com/live2/xxx-xxxx-xxxx-xxxx"
Run Code Online (Sandbox Code Playgroud)