FFmpeg重流RTSP到MJPEG

10
我有几个IP摄像头,通过rtsp流式传输720 X264视频。在Android设备上观看时,这些流非常不可靠。如果建立超过2个连接,它们也会失败。
我有一个Ubuntu服务器可以用来连接和重新流传mjpeg或其他格式。有很多不同的命令,但它们似乎都涉及对视频进行转码处理。
如何简单地将实时rtsp提取流作为mjpeg重新流传而不对视频本身进行任何处理?因为没有音频,所以不用担心。
1个回答

15

最近好像我做了类似的事情。我已经在“/etc/ffserver.conf”文件中添加了以下部分:

<Feed monitoring1.ffm>
File /tmp/monitoring1.ffm
FileMaxSize 50M
ACL allow 127.0.0.1
</Feed>

<Stream monitoring1.mjpg>
Feed monitoring1.ffm
Format mpjpeg
VideoCodec mjpeg
VideoFrameRate 22
VideoBufferSize 80
VideoSize 720x264
NoAudio
</Stream>

然后使用命令启动服务器:

ffserver

并使用以下命令运行实时流:

ffmpeg -i "rtsp://<ip_camera>:554/user=admin&password=&channel=1&stream=0.sdp" http://localhost:8090/monitoring1.ffm

为您的目的调整IP摄像机URL。现在,您可以通过以下地址使用浏览器/播放器访问MJPEG流:

http://localhost:8090/monitoring1.mjpg

对我来说运行良好,希望它能解决你的问题。


1
看起来这样会行。但是最后我得到了一些免费的许可证来使用 Xeoma,它为我处理了这个问题并添加了很多功能。例如触发带有我的 Kodi 媒体中心上实时视频的弹出式窗口的运动检测、基于运动的档案录制,以及带有日期/时间戳的转码,以便我可以将平板电脑用作监视器。 - JpaytonWPD
1
我按照你的方法进行了操作,但在运行ffmpeg命令时一直出现"没有这个文件或目录"的错误。你有什么想法是怎么回事吗? - mJay
1
@mJay:我能想到的唯一一件事就是检查它正在寻找什么“文件”。您可以尝试将ffmpeg的日志级别增加到“详细”级别。您可以通过在ffmpeg命令中使用“-report”开关来实现。也许您可以更仔细地查看“-i”参数中使用的URL。您是否忘记了协议标识符,以便它将其解释为文件定位器而不是URL? - Rafał

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接