将HTTP multipart/x-mixed-replace保存活动流中的JPEG图像保存到ubuntu服务器

Tra*_*ver 6 http keep-alive multipart-mixed-replace ruby-on-rails-4 ubuntu-16.04

我有一个摄像头,通过连续的多部分http流将JPEG图像发送到网络服务器.当我访问流的IP地址时,浏览器将此流读取为一系列模仿视频的图像.我想将此流中的文件下载到远程服务器.

我不知道如何解析流并将文件直接保存到我的ubuntu服务器,或者通过我的ruby on rails应用程序文件系统.

以下是浏览器查看流的方式:

Response Headers:
HTTP/1.1 200 OK
Content-Type: multipart/x-mixed-replace; boundary=frame

Request Headers:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
DNT: 1
Host: my-ip-address
Run Code Online (Sandbox Code Playgroud)

请帮我找到解决这个问题的正确方法.

小智 3

您可以使用 ffmpeg 从连续视频流下载视频流。由于您使用的是 ubuntu,因此只需在终端中运行命令并将流保存到远程服务器即可完成此操作。以下命令是将直播流保存到本地磁盘的示例 ffmpeg 命令。

ffmpeg.exe -y -i http://stream2.cnmns.net/hope-mp3 hopestream-latest.mp3
Run Code Online (Sandbox Code Playgroud)

上面命令中的-i表示要记录的URL。“hopestream-latest.mp3”是输出 mp3 文件。您可以将其替换为远程服务器文件路径。