4

我正在尝试模仿使用 MJPEG 的 IP 摄像机。此时要在命令行中接收流,我正在使用:

gst-launch -v souphttpsrc location=http://IP:PORT/video.mjpg is-live=true user-id=USER user-pw=PASSWD ! multipartdemux ! jpegdec ! ffmpegcolorspace ! ximagesink

但我不知道如何恢复这个过程

gst-launch -v videotestsrc ! ??? ! ...

没有像souphttpsink这样的想法那么怎么做呢?

4

2 回答 2

2

为此,您需要编写一个(迷你)http 服务器。您可以查看例如 rygel(gnome 上的 upnp 服务器)。

于 2012-02-26T15:47:34.380 回答
2

编写 CGI 脚本(Perl、C/C++)并通过授予 cgi 可执行权限并设置正确的 Web 服务器配置,将其放置在 Apache 或 Lighttpd 等服务器的 Web 服务器 cgi-bin/cgi_bin 目录中。查看此示例以在 Perl http://www.perlmonks.org/?node_id=18565中查看 jpeg 图像。由于 mjpeg 流只不过是一系列 jpeg,而不是从磁盘查看图像帧,您需要做的就是从内存中获取图像(这可能是您从网络摄像头或磁盘收到的 jpeg 帧。您可以压缩使用 libjpeg 的未压缩帧)并将代码放在 while 循环中以获取一系列图像。这将成为您的 mjpeg 流。MIME 类型显然是图像/jpeg。

于 2013-03-18T19:12:54.323 回答