2011-10-05 60 views
3

我試圖模仿使用MJPEG的IP攝像機。 此時接收命令行流我使用:使用GStreamer創建MJPEG流

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所以如何做它?

回答

1

爲此,您需要編寫一個(迷你)http服務器。你可以看看例如rygel(gnome上的upnp服務器)。

+0

我需要測試數據流視頻源,所以我可以從IP攝像頭的圖像處理工作。 – Fuxi

+0

你可以添加更多關於你的環境的細節嗎?對於某些測試,您應該能夠從包含示例視頻的目錄運行簡單的httpd(僅搜索python mini httpd服務器)。 – ensonic

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類型顯然是images/jpeg。