ffmpeg 将 rtsp 重新流式传输到 mjpeg
Posted
技术标签:
【中文标题】ffmpeg 将 rtsp 重新流式传输到 mjpeg【英文标题】:ffmpeg restream rtsp to mjpeg 【发布时间】:2015-06-24 08:25:06 【问题描述】:我有一些 IP 摄像头通过 rtsp 流式传输 720 X264 视频。在 android 上观看时,流确实不可靠。如果建立超过 2 个连接,它们也会失败。
我有一个 ubuntu 服务器,我可以用它来连接和重新流式传输为 mjpeg 或其他东西。那里有大量不同的命令,但它们似乎都涉及对视频进行转码。
我怎样才能简单地将实时 rtsp 提要重新流式传输为 mjpeg,而不对视频本身做任何事情?没有音频,所以不用担心。
【问题讨论】:
【参考方案1】:似乎最近我做了类似的事情。我在 /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 camera url。现在您可以通过浏览器/播放器访问以下地址来访问 mjpeg 流:
http://localhost:8090/monitoring1.mjpg
对我来说很好,希望它能解决你的问题。
【讨论】:
看起来这样可行。然而,我最终获得了一些使用 Xeoma 的免费许可证,它为我处理了这个问题并添加了一堆功能。就像运动检测触发我的 Kodi 媒体中心上的实时视频弹出窗口一样。通过动作存档记录,并使用日期/时间戳进行转码,以便我可以将平板电脑用作监视器。 我已按照您的方法进行操作,但在运行 ffmpeg 命令时不断收到“没有此类文件或目录”。知道这可能是什么吗? @mJay:唯一想到的是检查它正在寻找的“文件”。您可以尝试将 ffmpeg 的日志级别提高到“详细”。您可以使用 ffmpeg 命令的“-report”开关来完成。也许您可以更仔细地查看您在“-i”参数中使用的 URL。您没有忘记协议标识符,因此它可以将其解释为文件定位器而不是 URL?以上是关于ffmpeg 将 rtsp 重新流式传输到 mjpeg的主要内容,如果未能解决你的问题,请参考以下文章
使用 ffmpeg 从 C++ 内存中的多个图像流式传输 RTSP
是否可以在 iPhone 上流式传输 mms、ASX、RTSP 流?