将两个摄像头传输到两个输出

将两个摄像头传输到两个输出
  1. 如何使用一个命令发送两个独立的摄像机流?(两个摄像机的图像发送到同一个地址,但使用不同的端口)

ffmpeg -stimeout 5000000 -rtsp_transport tcp -i "rtsp://admin:密码@192.168.0.14:554/Streaming/Channels/101/” -c:v 复制 -c:a aac -f mpegts udp://176.xxx.xxx.126:91?pkt_size=1316

ffmpeg -stimeout 5000000 -rtsp_transport tcp -i "rtsp://admin:密码@192.168.0.15:554/Streaming/Channels/101/” -c:v 复制 -c:a aac -f mpegts udp://176.xxx.xxx.126:92?pkt_size=1316

如果我以这种方式连接,我将从两个输出通道上的第一个摄像机接收到相同的图像。

ffmpeg -stimeout 5000000 -rtsp_transport tcp -i "rtsp://admin:密码@192.168.0.14:554/Streaming/Channels/101/” -c:v 复制 -c:a aac -f mpegts udp://176.xxx.xxx.126:91?pkt_size=1316 -i "rtsp://管理员:密码@192.168.0.15:554/Streaming/Channels/101/” -c:v 复制 -c:a aac -f mpegts udp://176.xxx.xxx.126:92?pkt_size=1316

  1. 如何在同一摄像机流中转发摄像机图像时将徽标叠加在摄像机图像上?
  2. 如何在同一摄像机流媒体中上传音乐文件并循环播放?

答案1

既然您实际上问了 3 个问题,我们就逐一讨论一下。

  1. 如果您想要两个包含不同流的独立输出,则需要明确映射它们。您的命令的开始方式与示例相同,但在设置输入后,您将映射应该进入第一个输出的所有内容(流或文件无关紧要)并设置目标(文件或流),然后映射第二个输出的流并设置目标。
  2. 要叠加徽标,请将徽标图像设置为源,然后使用叠加滤镜将其添加到视频中。如果只有一个视频流,这真的很容易,但是由于您有两个视频流,我想您希望徽标同时出现在两个视频流中,因此您需要一个复杂的滤镜。请参阅FFmpeg 覆盖过滤器文档更多细节。
    • 使用复杂的过滤器会改变您映射流的方式。基本上,您不是将输入流映射到文件,而是映射到过滤器。然后,您将过滤器的输出映射到文件。在下面的命令中,我将使用带标签的 pad 来实现这一点,请参阅ffmpeg 过滤器文档了解详情。
    • 此外,使用任何类型的视频过滤器都会与流复制(您问题中的选项-c:v copy)相冲突。您需要为这种类型的流式传输设置编码器。在下面的例子中,我将使用 libx264,因为它与大多数设备广泛兼容,并且对硬件的要求不会太高。在效率和带宽方面,当然 libx265 会更好,但在许多设备上实时编码会太多。更好的是硬件编码器,但要回答这个问题,您需要知道代码将在哪个设备上运行。用通用命令无法判断这一点。
  3. 您可以将音频文件设置为第三源,并无限循环播放-stream_loop -1 -i your_audio_file_here

您的命令总体看起来将像这样,将徽标放在左上角:

ffmpeg -stimeout 5000000 -rtsp_transport tcp /
    -i "rtsp://admin:[email protected]:554/Streaming/Channels/101/" /
    -stimeout 5000000 -rtsp_transport tcp /
    -i "rtsp://admin:[email protected]:554/Streaming/Channels/101/" /
    -i your_logo_image_here -stream_loop -1 -i your_audio_file_here /
    -filter_complex "[0:v:0][2]overlay[video1]; [1:v:0][2]overlay[video2]" /
    -map "[video1]" -map 3 -c:v libx264 -preset faster -c:a aac -f mpegts udp://176.xxx.xxx.126:91?pkt_size=1316 /
    -map "[video2]" -map 3 -c:v libx264 -preset faster -c:a aac -f mpegts udp://176.xxx.xxx.126:92?pkt_size=1316

相关内容