问题标签 [mjpeg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
32928 浏览

c++ - MJPEG 流和解码

我想从 IP 摄像机(通过 RTSP)接收 JPEG 图像。为此,我cvCreateFileCapture_FFMPEG在 OpenCV 中进行了尝试。但是ffmpeg似乎对流媒体的MJPEG格式有一些问题(因为它会自动尝试检测流媒体信息),我最终得到以下错误

然后,我决定使用 live555 进行流式传输。到目前为止,我可以通过 openRTSP 成功建立流式传输和捕获(非解码)图像。

问题是如何在我的应用程序中执行此操作,例如在 OpenCV 中。如何在 OpenCV 中使用 openRTSP 获取图像并将其保存为 JPEG 格式?

我听说来自 openRTSP 的数据可以发送到缓冲区(或命名管道),然后在 OpenCV 的IplImage. 但我不知道该怎么做。

我将非常感谢有关此问题的任何帮助/建议。我需要以下任一问题的答案:

  1. 如何禁用ffmpeg的自动流信息检测并指定我自己的格式(mjpeg),或者
  2. 如何在 OpenCV 中使用 openRTSP?

问候,

0 投票
1 回答
4299 浏览

node.js - 对于使用 node.js 创建的 mjpeg 流,如何将其编码为另一种格式然后流式传输?

我用 nodejs 创建了一个小应用程序,它将 multipart/x-mixed-replace 数据流式传输到浏览器。

这个数据是用图像数据创建的,但是图像数据可能会随着时间而改变,所以在浏览器中它看起来像一个视频。图像数据是从网络摄像头创建的,因此在浏览器中它看起来像实时流媒体。

但是性能不是很好。

我尝试了其他一些方法: - 首先:使用 socket.io 将图像推送到浏览器,这里我使用图像中的 base64 数据(推送此数据)并在浏览器中重新创建图像(jpeg):效果很好,但只有一两个客户。_ 第二:使用从浏览器到 nodejs 服务器的轮询.. 这不喜欢我。

所以这是代码:(我的nodejs服务器的部分代码)我使用express来制作http服务器:

当事件“imagen_recibida”上升时,它从磁盘读取图像并将数据写入浏览器。

所以两个问题:

有什么方法可以提高性能吗?(将图像写入磁盘然后读取以发送到浏览器看起来不是一个好技巧)

有没有办法将其编码为另一种格式以提高性能?

非常感谢。

PD:图像被写入磁盘,然后读取以发送到浏览器,因为我通过 RPC 调用从另一个函数中的另一个进程接收图像数据。

0 投票
0 回答
3020 浏览

android - MJPEG 改进

我从这里得到了这段代码Android 和 MJPEG来下载和流式传输 Mjpeg。对于一个视频,它看起来和工作正常。

但是,当我尝试同时流式传输多个 MJpeg 视频并在屏幕上显示时,性能会显着降低。

任何人都会推荐一种更好的方法来解决多个流或他们可以看到的任何改进以提高性能。到目前为止,它非常缓慢且不可接受。

0 投票
1 回答
1452 浏览

xcode - 如何在 Mac 中以 MJPEG 格式流式传输视频

如何在 MAC 中流式传输 MJPEG 格式的视频。我正在使用 QuickTime 的 Qt-kit API。

0 投票
1 回答
2294 浏览

webcam - 如何使用 libvlc api 从网络摄像头设置流式视频格式。?

我正在开发一个应用程序,我应该在其中使用网络摄像头进行流式传输,为此我使用了 libvlc api,我能够从网络摄像头流式传输,但是我正在获取 YUYV 格式的流,但我想要流式传输MJPEG 格式,那么任何人都可以帮助我如何在 libvlc 中设置流格式。?

0 投票
1 回答
716 浏览

android - 摩托罗拉 Atrix 预览帧不一致

我正在开发一个将 JPEG 图像流(MJPEG 流)发送到远程 PC 的应用程序。我无法更改相机参数中的预览帧速率。似乎无论我设置什么速率,相机都只能以 15 fps 的速度给我一帧。起初我以为是图像压缩,然后传输数据。但是我创建了一个调试实例,我在其中存储了第一个压缩的 JPEG 图像,并在每次调用 onPreviewFrame 函数时发送该图像。这会产生可靠的 15fps,但我将其设置为 30fps。任何人都知道为什么fps如此不一致?当我将它设置为压缩每个预览帧并通过 wifi 发送时,我得到了 5-40 FPS 的速率,并且它在整个地方跳跃。

这是我的预览代码(全屏设置相机)

}

这是我的调试示例,仅用于一遍又一遍地发送相同的 JPEG

有没有人有任何提高效率的想法?这是否发生在所有设备上?我正在运行 Android 2.2。任何想法表示赞赏。

*编辑添加了整个预览类

0 投票
0 回答
283 浏览

android - 如何在android中使用编解码器?

我是 android 的新手,我想知道是否有办法将使用表面视图捕获的原始字节转换为任何其他格式,例如 MJPEG,以实现更快的数据传输。

任何帮助将非常感激。太感谢了。

0 投票
1 回答
2165 浏览

iphone - 将 Windows 网络摄像头流式传输到 iPhone

我正在尝试将视频(无音频)从 Windows 网络摄像头 DirectShow 流式传输到 iPhone 浏览器。我在想我会想使用 VLC 通过 HTTP 将视频转码为 MJPEG 流并在浏览器中打开它。

我尝试使用此 VLC 命令执行此操作: vlc -vvv dshow:// :sout=#transcode{vcodec=MJPG,vb=2000,scale=1}:duplicate{dst=std{access=http,mux=mpjpeg, dst=192.168.1.178:8080/stream.mpjpg}}

当我尝试在移动 Safari 中打开此流时,我收到消息“Safari 无法打开文件”。

有人对成功将网络摄像头流式传输到 iPhone 有任何建议吗?我正在寻找修改上述代码的建议,或为我执行此转码和流式传输的软件解决方案的建议。

谢谢你。

0 投票
3 回答
4856 浏览

iphone - 如何在 [UIImage initWithData:] 中获取错误/警告

我有一个通过 RTSP/UDP 的 MJPEG 流,我想从中为带有 [UIImage initWithData:] 的 UIImageView 生成 JPEG。大多数时候这很好用,但有时我会收到损坏的图像和日志消息,例如:

我的问题是:我如何才能看到(在运行时)出现这样的消息?不幸的是'initWithData'没有错误输出,还有其他方法吗?

谢谢你。

编辑:在这种情况下, initWithData 确实返回了一个有效的 UIImage 对象,而不是零!

0 投票
2 回答
2849 浏览

c# - WPF 和 MJPEG 解码器帮助

这可能有点远,但这里有:我有一个 WPF 项目,需要流式传输 MJPEG 视频。http://mjpeg.codeplex.com/上的库似乎是少数 PnP 选项之一。它非常适合查看单个流。但是,当您尝试从一个 URI 切换到第二个 URI 时,最终结果是您从两个流中获得的帧交错到我的 WPF 页面上的同一个图像对象中。两个流都是实时的,而不仅仅是前一个流的缓存。

无论我尝试什么,似乎第一个流都不会消失,并且解码器中的 stopstream 方法除了设置一个布尔值之外没有做任何该死的事情。

这是我如何使用该库的伪代码。难道我做错了什么?

我已经写信给解码器作者,但没有任何回应。我希望其他使用过这个库的人能够对此有所了解。