Simulating a IP camera (MJPEG)

classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]
Hi,

I'm working on some sort of surveillance project for my thesis. As a first step I want to simulate an IP camera with GStreamer that outputs MJPEG. I'm trying to do this:

gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux ! tcpserversink port=3000

And then load this little HTML snippet into firefox:

<html>
  <head>
    <title>Gstreamer testing</title>
  </head>
<body>
 <h1>Testing a dummy camera with GStreamer</h1>
 <img src="http://localhost:3000" class="" alt="" />
 <hr />
</body>
</html>


That won't do it, since it's only doing output to a TCP port, but it does not do it with proper HTTP headers and I believe that's why firefox won't understand this stream. Is there a plugin that can do that (encapsulate data, like MJPEG) into a proper HTTP stream?


--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Matias Hernandez Arellano
I'm trying to do something like that ..
i have a pipeline like this

 appsrc  ! queue ! videoparse format=14 width=%d height=%d ! videorate "
                                " ! videoscale ! video/x-raw-rgb,width=320,height=240 "
                                " ! queue ! ffmpegcolorspace ! queue ! jpegenc  ! multipartmux ! queue  "
                                " ! tcpserversink port=5000 sync=false

but i can't find anything to use this stream in some browser ... ...
I'm trying to do with rtp and udpsink, this seems to work in the "server" but in the client side i can't see anything...

so.. it's possible to use tcpserversink to stream and see in a browser?

El 06-04-2011, a las 1:39, Noe Nieto [http://percepcionunitaria.org]] escribió:

> Hi,
>
> I'm working on some sort of surveillance project for my thesis. As a first
> step I want to simulate an IP camera with GStreamer that outputs MJPEG. I'm
> trying to do this:
>
> gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux !
> tcpserversink port=3000
>
> And then load this little HTML snippet into firefox:
>
> <html>
>  <head>
>    <title>Gstreamer testing</title>
>  </head>
> <body>
> <h1>Testing a dummy camera with GStreamer</h1>
> <img src="http://localhost:3000" class="" alt="" />
> <hr />
> </body>
> </html>
>
>
> That won't do it, since it's only doing output to a TCP port, but it does
> not do it with proper HTTP headers and I believe that's why firefox won't
> understand this stream. Is there a plugin that can do that (encapsulate
> data, like MJPEG) into a proper HTTP stream?
>
>
> --
> --
> *Noe Nieto
> Estudiante de Psicología Holokinética*
>
> Diplomados, noticias, libros, artículos,
> audios y videos gratuitos :   *percepcionunitaria.org*
>
>
>
> --
> --
> *Noe Nieto
> Estudiante de Psicología Holokinética*
>
> Diplomados, noticias, libros, artículos,
> audios y videos gratuitos :   *percepcionunitaria.org*
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

Matías Hernandez Arellano
Ingeniero de Software/Proyectos en VisionLabs S.A
CDA Archlinux-CL
www.msdark.archlinux.cl




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Donny Viszneki
In reply to this post by Noe Nieto [http://percepcionunitaria.org]]
if there is no HTTP server sink for GStreamer, then there are other
options. Are you running Apache? Do you have PHP? It would be pretty
trivial to write a PHP script that connects to your gst-launch process
on port 3000 and begins streaming data from it to the HTTP client
connected to Apache (firefox)

On Wed, Apr 6, 2011 at 1:39 AM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:

> Hi,
>
> I'm working on some sort of surveillance project for my thesis. As a first
> step I want to simulate an IP camera with GStreamer that outputs MJPEG. I'm
> trying to do this:
>
> gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux !
> tcpserversink port=3000
>
> And then load this little HTML snippet into firefox:
>
> <html>
>   <head>
>     <title>Gstreamer testing</title>
>   </head>
> <body>
>  <h1>Testing a dummy camera with GStreamer</h1>
>  <img src="http://localhost:3000" class="" alt="" />
>  <hr />
> </body>
> </html>
>
>
> That won't do it, since it's only doing output to a TCP port, but it does
> not do it with proper HTTP headers and I believe that's why firefox won't
> understand this stream. Is there a plugin that can do that (encapsulate
> data, like MJPEG) into a proper HTTP stream?
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>



--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]
Firefox handles MJPEG streams natively. As far as I've seen, the MJPEG stream should be "canned" into a HTTP multi-part stream. That's exactly what my pipeline below is lacking.

My app is being written in Python. So there's no PHP. But how do you dissasemble the multi-part in PHP?

--
Noe

2011/4/6 Donny Viszneki <[hidden email]>
if there is no HTTP server sink for GStreamer, then there are other
options. Are you running Apache? Do you have PHP? It would be pretty
trivial to write a PHP script that connects to your gst-launch process
on port 3000 and begins streaming data from it to the HTTP client
connected to Apache (firefox)

On Wed, Apr 6, 2011 at 1:39 AM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> Hi,
>
> I'm working on some sort of surveillance project for my thesis. As a first
> step I want to simulate an IP camera with GStreamer that outputs MJPEG. I'm
> trying to do this:
>
> gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux !
> tcpserversink port=3000
>
> And then load this little HTML snippet into firefox:
>
> <html>
>   <head>
>     <title>Gstreamer testing</title>
>   </head>
> <body>
>  <h1>Testing a dummy camera with GStreamer</h1>
>  <img src="http://localhost:3000" class="" alt="" />
>  <hr />
> </body>
> </html>
>
>
> That won't do it, since it's only doing output to a TCP port, but it does
> not do it with proper HTTP headers and I believe that's why firefox won't
> understand this stream. Is there a plugin that can do that (encapsulate
> data, like MJPEG) into a proper HTTP stream?
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>



--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]
In reply to this post by Matias Hernandez Arellano
I don't see any gstreamer plugin to encode stuff in multipart streams.

It seems like we don't have another option but to implement the HTTP-Multipart encoding/canning or write a gstreamer plugin for that.

---
Noe


2011/4/6 Matias Hernandez Arellano <[hidden email]>
I'm trying to do something like that ..
i have a pipeline like this

 appsrc  ! queue ! videoparse format=14 width=%d height=%d ! videorate "
                               " ! videoscale ! video/x-raw-rgb,width=320,height=240 "
                               " ! queue ! ffmpegcolorspace ! queue ! jpegenc  ! multipartmux ! queue  "
                               " ! tcpserversink port=5000 sync=false

but i can't find anything to use this stream in some browser ... ...
I'm trying to do with rtp and udpsink, this seems to work in the "server" but in the client side i can't see anything...

so.. it's possible to use tcpserversink to stream and see in a browser?

El 06-04-2011, a las 1:39, Noe Nieto [http://percepcionunitaria.org]] escribió:

> Hi,
>
> I'm working on some sort of surveillance project for my thesis. As a first
> step I want to simulate an IP camera with GStreamer that outputs MJPEG. I'm
> trying to do this:
>
> gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux !
> tcpserversink port=3000
>
> And then load this little HTML snippet into firefox:
>
> <html>
>  <head>
>    <title>Gstreamer testing</title>
>  </head>
> <body>
> <h1>Testing a dummy camera with GStreamer</h1>
> <img src="http://localhost:3000" class="" alt="" />
> <hr />
> </body>
> </html>
>
>
> That won't do it, since it's only doing output to a TCP port, but it does
> not do it with proper HTTP headers and I believe that's why firefox won't
> understand this stream. Is there a plugin that can do that (encapsulate
> data, like MJPEG) into a proper HTTP stream?
>
>
> --
> --
> *Noe Nieto
> Estudiante de Psicología Holokinética*
>
> Diplomados, noticias, libros, artículos,
> audios y videos gratuitos :   *percepcionunitaria.org*
>
>
>
> --
> --
> *Noe Nieto
> Estudiante de Psicología Holokinética*
>
> Diplomados, noticias, libros, artículos,
> audios y videos gratuitos :   *percepcionunitaria.org*
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

Matías Hernandez Arellano
Ingeniero de Software/Proyectos en VisionLabs S.A
CDA Archlinux-CL
www.msdark.archlinux.cl




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Donny Viszneki
In reply to this post by Noe Nieto [http://percepcionunitaria.org]]
On Wed, Apr 6, 2011 at 11:52 AM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> Firefox handles MJPEG streams natively. As far as I've seen, the MJPEG
> stream should be "canned" into a HTTP multi-part stream. That's exactly what
> my pipeline below is lacking.

That's exactly right

> My app is being written in Python. So there's no PHP. But how do you
> dissasemble the multi-part in PHP?

Ah, well then, you could try to write a GStreamer element to do this :)

--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]


2011/4/6 Donny Viszneki <[hidden email]>
On Wed, Apr 6, 2011 at 11:52 AM, Noe Nieto
> Firefox handles MJPEG streams natively. As far as I've seen, the MJPEG
> stream should be "canned" into a HTTP multi-part stream. That's exactly what
> my pipeline below is lacking.

That's exactly right

> My app is being written in Python. So there's no PHP. But how do you
> dissasemble the multi-part in PHP?

Ah, well then, you could try to write a GStreamer element to do this :)

Looks like I'll need to write one (sigh).
 

--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Donny Viszneki
found this old convo

http://gstreamer-devel.966125.n4.nabble.com/http-sink-element-td1047973.html

  Rygel can stream media to HTTP clients from a GStreamer source
element (which could be a bin containing lots of elements). This
source element is either provided by the MediaServer plugin or created
by Rygel for transcoding.

  Source code at: http://git.gnome.org/browse/rygel/tree/src/rygel/

On Wed, Apr 6, 2011 at 12:18 PM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:

>
>
> 2011/4/6 Donny Viszneki <[hidden email]>
>>
>> On Wed, Apr 6, 2011 at 11:52 AM, Noe Nieto
>> [http://percepcionunitaria.org]] <[hidden email]> wrote:
>> > Firefox handles MJPEG streams natively. As far as I've seen, the MJPEG
>> > stream should be "canned" into a HTTP multi-part stream. That's exactly
>> > what
>> > my pipeline below is lacking.
>>
>> That's exactly right
>>
>> > My app is being written in Python. So there's no PHP. But how do you
>> > dissasemble the multi-part in PHP?
>>
>> Ah, well then, you could try to write a GStreamer element to do this :)
>
> Looks like I'll need to write one (sigh).
>
>>
>> --
>> http://codebad.com/
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>



--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Mailing List SVR
You can use multifdsink to stream over http: simply add the file
descriptor of the connected client to multifdsink, I developed an
application similar to what you need using multifdsink and it works
fine.

Nicola

Il giorno mer, 06/04/2011 alle 12.28 -0400, Donny Viszneki ha scritto:

> found this old convo
>
> http://gstreamer-devel.966125.n4.nabble.com/http-sink-element-td1047973.html
>
>   Rygel can stream media to HTTP clients from a GStreamer source
> element (which could be a bin containing lots of elements). This
> source element is either provided by the MediaServer plugin or created
> by Rygel for transcoding.
>
>   Source code at: http://git.gnome.org/browse/rygel/tree/src/rygel/
>
> On Wed, Apr 6, 2011 at 12:18 PM, Noe Nieto
> [http://percepcionunitaria.org]] <[hidden email]> wrote:
> >
> >
> > 2011/4/6 Donny Viszneki <[hidden email]>
> >>
> >> On Wed, Apr 6, 2011 at 11:52 AM, Noe Nieto
> >> [http://percepcionunitaria.org]] <[hidden email]> wrote:
> >> > Firefox handles MJPEG streams natively. As far as I've seen, the MJPEG
> >> > stream should be "canned" into a HTTP multi-part stream. That's exactly
> >> > what
> >> > my pipeline below is lacking.
> >>
> >> That's exactly right
> >>
> >> > My app is being written in Python. So there's no PHP. But how do you
> >> > dissasemble the multi-part in PHP?
> >>
> >> Ah, well then, you could try to write a GStreamer element to do this :)
> >
> > Looks like I'll need to write one (sigh).
> >
> >>
> >> --
> >> http://codebad.com/
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> [hidden email]
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> >
> > --
> > --
> > Noe Nieto
> > Estudiante de Psicología Holokinética
> >
> > Diplomados, noticias, libros, artículos,
> >
> > audios y videos gratuitos :   percepcionunitaria.org
> >
>
>
>

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]


2011/4/6 Mailing List SVR <[hidden email]>
You can use multifdsink to stream over http: simply add the file
descriptor of the connected client to multifdsink, I developed an
application similar to what you need using multifdsink and it works
fine.


Can multi-fdsink ecapsulate the MJPEG stream into a multi-part HTTP stream?

--
Noe
 
Nicola

Il giorno mer, 06/04/2011 alle 12.28 -0400, Donny Viszneki ha scritto:
> found this old convo
>
> http://gstreamer-devel.966125.n4.nabble.com/http-sink-element-td1047973.html
>
>   Rygel can stream media to HTTP clients from a GStreamer source
> element (which could be a bin containing lots of elements). This
> source element is either provided by the MediaServer plugin or created
> by Rygel for transcoding.
>
>   Source code at: http://git.gnome.org/browse/rygel/tree/src/rygel/
>
> On Wed, Apr 6, 2011 at 12:18 PM, Noe Nieto
> [http://percepcionunitaria.org]] <[hidden email]> wrote:
> >
> >
> > 2011/4/6 Donny Viszneki <[hidden email]>
> >>
> >> On Wed, Apr 6, 2011 at 11:52 AM, Noe Nieto
> >> [http://percepcionunitaria.org]] <[hidden email]> wrote:
> >> > Firefox handles MJPEG streams natively. As far as I've seen, the MJPEG
> >> > stream should be "canned" into a HTTP multi-part stream. That's exactly
> >> > what
> >> > my pipeline below is lacking.
> >>
> >> That's exactly right
> >>
> >> > My app is being written in Python. So there's no PHP. But how do you
> >> > dissasemble the multi-part in PHP?
> >>
> >> Ah, well then, you could try to write a GStreamer element to do this :)
> >
> > Looks like I'll need to write one (sigh).
> >
> >>
> >> --
> >> http://codebad.com/
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> [hidden email]
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> >
> > --
> > --
> > Noe Nieto
> > Estudiante de Psicología Holokinética
> >
> > Diplomados, noticias, libros, artículos,
> >
> > audios y videos gratuitos :   percepcionunitaria.org
> >
>
>
>




--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Mailing List SVR


Il giorno mer, 06/04/2011 alle 11.46 -0500, Noe Nieto
[http://percepcionunitaria.org]] ha scritto:

>
>
> 2011/4/6 Mailing List SVR <[hidden email]>
>         You can use multifdsink to stream over http: simply add the
>         file
>         descriptor of the connected client to multifdsink, I developed
>         an
>         application similar to what you need using multifdsink and it
>         works
>         fine.
>        
>
> Can multi-fdsink ecapsulate the MJPEG stream into a multi-part HTTP
> stream?

you can use multipartmux for muxing jpeg as multipart stream and then
multifdsink to write this stream on the file descriptor of the http
client (after the initial simple http handshake). There isn't a pipeline
to demostrate this you have to write a gstreamer application. I have a
working app that do this (and much more) in c++ you can also take a look
at flumotion for insipiration it use multifdsink to stream ogg/theora
over http,

Nicola

>
> --
> Noe
>  
>         Nicola
>        
>         Il giorno mer, 06/04/2011 alle 12.28 -0400, Donny Viszneki ha
>         scritto:
>        
>         > found this old convo
>         >
>         >
>         http://gstreamer-devel.966125.n4.nabble.com/http-sink-element-td1047973.html
>         >
>         >   Rygel can stream media to HTTP clients from a GStreamer
>         source
>         > element (which could be a bin containing lots of elements).
>         This
>         > source element is either provided by the MediaServer plugin
>         or created
>         > by Rygel for transcoding.
>         >
>         >   Source code at:
>         http://git.gnome.org/browse/rygel/tree/src/rygel/
>         >
>         > On Wed, Apr 6, 2011 at 12:18 PM, Noe Nieto
>         > [http://percepcionunitaria.org]] <[hidden email]> wrote:
>         > >
>         > >
>         > > 2011/4/6 Donny Viszneki <[hidden email]>
>         > >>
>         > >> On Wed, Apr 6, 2011 at 11:52 AM, Noe Nieto
>         > >> [http://percepcionunitaria.org]] <[hidden email]>
>         wrote:
>         > >> > Firefox handles MJPEG streams natively. As far as I've
>         seen, the MJPEG
>         > >> > stream should be "canned" into a HTTP multi-part
>         stream. That's exactly
>         > >> > what
>         > >> > my pipeline below is lacking.
>         > >>
>         > >> That's exactly right
>         > >>
>         > >> > My app is being written in Python. So there's no PHP.
>         But how do you
>         > >> > dissasemble the multi-part in PHP?
>         > >>
>         > >> Ah, well then, you could try to write a GStreamer element
>         to do this :)
>         > >
>         > > Looks like I'll need to write one (sigh).
>         > >
>         > >>
>         > >> --
>         > >> http://codebad.com/
>         > >> _______________________________________________
>         > >> gstreamer-devel mailing list
>         > >> [hidden email]
>         > >>
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>         > >
>         > >
>         > >
>         > > --
>         > > --
>         > > Noe Nieto
>         > > Estudiante de Psicología Holokinética
>         > >
>         > > Diplomados, noticias, libros, artículos,
>         > >
>         > > audios y videos gratuitos :   percepcionunitaria.org
>         > >
>         >
>         >
>         >
>        
>        
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

michael smith-6-3
In reply to this post by Noe Nieto [http://percepcionunitaria.org]]
On Wed, Apr 6, 2011 at 8:59 AM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> I don't see any gstreamer plugin to encode stuff in multipart streams.
>
> It seems like we don't have another option but to implement the
> HTTP-Multipart encoding/canning or write a gstreamer plugin for that.

Hrm? That's what multipartmux does. You used it in your example here.

What GStreamer doesn't include is an HTTP server.

Mike

>
> ---
> Noe
>
>
> 2011/4/6 Matias Hernandez Arellano <[hidden email]>
>>
>> I'm trying to do something like that ..
>> i have a pipeline like this
>>
>>  appsrc  ! queue ! videoparse format=14 width=%d height=%d ! videorate "
>>                                " ! videoscale !
>> video/x-raw-rgb,width=320,height=240 "
>>                                " ! queue ! ffmpegcolorspace ! queue !
>> jpegenc  ! multipartmux ! queue  "
>>                                " ! tcpserversink port=5000 sync=false
>>
>> but i can't find anything to use this stream in some browser ... ...
>> I'm trying to do with rtp and udpsink, this seems to work in the "server"
>> but in the client side i can't see anything...
>>
>> so.. it's possible to use tcpserversink to stream and see in a browser?
>>
>> El 06-04-2011, a las 1:39, Noe Nieto [http://percepcionunitaria.org]]
>> escribió:
>>
>> > Hi,
>> >
>> > I'm working on some sort of surveillance project for my thesis. As a
>> > first
>> > step I want to simulate an IP camera with GStreamer that outputs MJPEG.
>> > I'm
>> > trying to do this:
>> >
>> > gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux
>> > !
>> > tcpserversink port=3000
>> >
>> > And then load this little HTML snippet into firefox:
>> >
>> > <html>
>> >  <head>
>> >    <title>Gstreamer testing</title>
>> >  </head>
>> > <body>
>> > <h1>Testing a dummy camera with GStreamer</h1>
>> > <img src="http://localhost:3000" class="" alt="" />
>> > <hr />
>> > </body>
>> > </html>
>> >
>> >
>> > That won't do it, since it's only doing output to a TCP port, but it
>> > does
>> > not do it with proper HTTP headers and I believe that's why firefox
>> > won't
>> > understand this stream. Is there a plugin that can do that (encapsulate
>> > data, like MJPEG) into a proper HTTP stream?
>> >
>> >
>> > --
>> > --
>> > *Noe Nieto
>> > Estudiante de Psicología Holokinética*
>> >
>> > Diplomados, noticias, libros, artículos,
>> > audios y videos gratuitos :   *percepcionunitaria.org*
>> >
>> >
>> >
>> > --
>> > --
>> > *Noe Nieto
>> > Estudiante de Psicología Holokinética*
>> >
>> > Diplomados, noticias, libros, artículos,
>> > audios y videos gratuitos :   *percepcionunitaria.org*
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > [hidden email]
>> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> Matías Hernandez Arellano
>> Ingeniero de Software/Proyectos en VisionLabs S.A
>> CDA Archlinux-CL
>> www.msdark.archlinux.cl
>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]
2011/4/6 Michael Smith <[hidden email]>
On Wed, Apr 6, 2011 at 8:59 AM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> I don't see any gstreamer plugin to encode stuff in multipart streams.
>
> It seems like we don't have another option but to implement the
> HTTP-Multipart encoding/canning or write a gstreamer plugin for that.

Hrm? That's what multipartmux does. You used it in your example here.

What GStreamer doesn't include is an HTTP server.

That narrows down the problem :)

Maybe the solution would be tu "subclass" the tcpserversink and "decorate" the frames with tcp headers.

Does that sound feasible in GStreamer?
--
Noe


Mike

>
> ---
> Noe
>
>
> 2011/4/6 Matias Hernandez Arellano <[hidden email]>
>>
>> I'm trying to do something like that ..
>> i have a pipeline like this
>>
>>  appsrc  ! queue ! videoparse format=14 width=%d height=%d ! videorate "
>>                                " ! videoscale !
>> video/x-raw-rgb,width=320,height=240 "
>>                                " ! queue ! ffmpegcolorspace ! queue !
>> jpegenc  ! multipartmux ! queue  "
>>                                " ! tcpserversink port=5000 sync=false
>>
>> but i can't find anything to use this stream in some browser ... ...
>> I'm trying to do with rtp and udpsink, this seems to work in the "server"
>> but in the client side i can't see anything...
>>
>> so.. it's possible to use tcpserversink to stream and see in a browser?
>>
>> El 06-04-2011, a las 1:39, Noe Nieto [http://percepcionunitaria.org]]
>> escribió:
>>
>> > Hi,
>> >
>> > I'm working on some sort of surveillance project for my thesis. As a
>> > first
>> > step I want to simulate an IP camera with GStreamer that outputs MJPEG.
>> > I'm
>> > trying to do this:
>> >
>> > gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux
>> > !
>> > tcpserversink port=3000
>> >
>> > And then load this little HTML snippet into firefox:
>> >
>> > <html>
>> >  <head>
>> >    <title>Gstreamer testing</title>
>> >  </head>
>> > <body>
>> > <h1>Testing a dummy camera with GStreamer</h1>
>> > <img src="http://localhost:3000" class="" alt="" />
>> > <hr />
>> > </body>
>> > </html>
>> >
>> >
>> > That won't do it, since it's only doing output to a TCP port, but it
>> > does
>> > not do it with proper HTTP headers and I believe that's why firefox
>> > won't
>> > understand this stream. Is there a plugin that can do that (encapsulate
>> > data, like MJPEG) into a proper HTTP stream?
>> >
>> >
>> > --
>> > --
>> > *Noe Nieto
>> > Estudiante de Psicología Holokinética*
>> >
>> > Diplomados, noticias, libros, artículos,
>> > audios y videos gratuitos :   *percepcionunitaria.org*
>> >
>> >
>> >
>> > --
>> > --
>> > *Noe Nieto
>> > Estudiante de Psicología Holokinética*
>> >
>> > Diplomados, noticias, libros, artículos,
>> > audios y videos gratuitos :   *percepcionunitaria.org*
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > [hidden email]
>> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> Matías Hernandez Arellano
>> Ingeniero de Software/Proyectos en VisionLabs S.A
>> CDA Archlinux-CL
>> www.msdark.archlinux.cl
>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]


2011/4/6 Noe Nieto [http://percepcionunitaria.org]] <[hidden email]>
2011/4/6 Michael Smith <[hidden email]>
On Wed, Apr 6, 2011 at 8:59 AM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> I don't see any gstreamer plugin to encode stuff in multipart streams.
>
> It seems like we don't have another option but to implement the
> HTTP-Multipart encoding/canning or write a gstreamer plugin for that.

Ahh, now I see. That's why Rygel is for :)


 

Hrm? That's what multipartmux does. You used it in your example here.

What GStreamer doesn't include is an HTTP server.

That narrows down the problem :)

Maybe the solution would be tu "subclass" the tcpserversink and "decorate" the frames with tcp headers.

Does that sound feasible in GStreamer?
--
Noe


Mike

>
> ---
> Noe
>
>
> 2011/4/6 Matias Hernandez Arellano <[hidden email]>
>>
>> I'm trying to do something like that ..
>> i have a pipeline like this
>>
>>  appsrc  ! queue ! videoparse format=14 width=%d height=%d ! videorate "
>>                                " ! videoscale !
>> video/x-raw-rgb,width=320,height=240 "
>>                                " ! queue ! ffmpegcolorspace ! queue !
>> jpegenc  ! multipartmux ! queue  "
>>                                " ! tcpserversink port=5000 sync=false
>>
>> but i can't find anything to use this stream in some browser ... ...
>> I'm trying to do with rtp and udpsink, this seems to work in the "server"
>> but in the client side i can't see anything...
>>
>> so.. it's possible to use tcpserversink to stream and see in a browser?
>>
>> El 06-04-2011, a las 1:39, Noe Nieto [http://percepcionunitaria.org]]
>> escribió:
>>
>> > Hi,
>> >
>> > I'm working on some sort of surveillance project for my thesis. As a
>> > first
>> > step I want to simulate an IP camera with GStreamer that outputs MJPEG.
>> > I'm
>> > trying to do this:
>> >
>> > gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! jpegenc ! multipartmux
>> > !
>> > tcpserversink port=3000
>> >
>> > And then load this little HTML snippet into firefox:
>> >
>> > <html>
>> >  <head>
>> >    <title>Gstreamer testing</title>
>> >  </head>
>> > <body>
>> > <h1>Testing a dummy camera with GStreamer</h1>
>> > <img src="http://localhost:3000" class="" alt="" />
>> > <hr />
>> > </body>
>> > </html>
>> >
>> >
>> > That won't do it, since it's only doing output to a TCP port, but it
>> > does
>> > not do it with proper HTTP headers and I believe that's why firefox
>> > won't
>> > understand this stream. Is there a plugin that can do that (encapsulate
>> > data, like MJPEG) into a proper HTTP stream?
>> >
>> >
>> > --
>> > --
>> > *Noe Nieto
>> > Estudiante de Psicología Holokinética*
>> >
>> > Diplomados, noticias, libros, artículos,
>> > audios y videos gratuitos :   *percepcionunitaria.org*
>> >
>> >
>> >
>> > --
>> > --
>> > *Noe Nieto
>> > Estudiante de Psicología Holokinética*
>> >
>> > Diplomados, noticias, libros, artículos,
>> > audios y videos gratuitos :   *percepcionunitaria.org*
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > [hidden email]
>> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> Matías Hernandez Arellano
>> Ingeniero de Software/Proyectos en VisionLabs S.A
>> CDA Archlinux-CL
>> www.msdark.archlinux.cl
>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
> --
> --
> Noe Nieto
> Estudiante de Psicología Holokinética
>
> Diplomados, noticias, libros, artículos,
>
> audios y videos gratuitos :   percepcionunitaria.org
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Donny Viszneki
In reply to this post by Noe Nieto [http://percepcionunitaria.org]]
On Wed, Apr 6, 2011 at 2:56 PM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> 2011/4/6 Michael Smith <[hidden email]>
>> What GStreamer doesn't include is an HTTP server.
>
> Maybe the solution would be tu "subclass" the tcpserversink and "decorate"
> the frames with tcp headers.
>
> Does that sound feasible in GStreamer?

If you can write GStreamer elements in Python, then it would be easy
to use Python's built-in basic http server.

--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Donny Viszneki
In reply to this post by Noe Nieto [http://percepcionunitaria.org]]
On Wed, Apr 6, 2011 at 3:03 PM, Noe Nieto
[http://percepcionunitaria.org]] <[hidden email]> wrote:
> Ahh, now I see. That's why Rygel is for :)

Ah yes, lol, forgot about that already!

--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]
In reply to this post by Donny Viszneki


2011/4/6 Donny Viszneki <[hidden email]>
On Wed, Apr 6, 2011 at 2:56 PM, Noe Nieto
> 2011/4/6 Michael Smith <[hidden email]>
>> What GStreamer doesn't include is an HTTP server.
>
> Maybe the solution would be tu "subclass" the tcpserversink and "decorate"
> the frames with tcp headers.
>
> Does that sound feasible in GStreamer?

If you can write GStreamer elements in Python, then it would be easy
to use Python's built-in basic http server.


+1000

I like that !

 
--
http://codebad.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Matias Hernandez Arellano

El 06-04-2011, a las 15:10, Noe Nieto [http://percepcionunitaria.org]] escribió:

> 2011/4/6 Donny Viszneki <[hidden email]>
>
>> On Wed, Apr 6, 2011 at 2:56 PM, Noe Nieto
>> [http://percepcionunitaria.org]] <[hidden email]> wrote:
>>> 2011/4/6 Michael Smith <[hidden email]>
>>>> What GStreamer doesn't include is an HTTP server.
>>>
>>> Maybe the solution would be tu "subclass" the tcpserversink and
>> "decorate"
>>> the frames with tcp headers.
>>>
>>> Does that sound feasible in GStreamer?
>>
>> If you can write GStreamer elements in Python, then it would be easy
>> to use Python's built-in basic http server.
>>
>>
> +1000
>
> I like that !
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


Finally ... can you solve this???

Matías Hernandez Arellano
Ingeniero de Software/Proyectos en VisionLabs S.A
CDA Archlinux-CL
www.msdark.archlinux.cl




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Simulating a IP camera (MJPEG)

Noe Nieto [http://percepcionunitaria.org]]


2011/4/11 Matias Hernandez Arellano <[hidden email]>

El 06-04-2011, a las 15:10, Noe Nieto [http://percepcionunitaria.org]] escribió:

> 2011/4/6 Donny Viszneki <[hidden email]>
>
>> On Wed, Apr 6, 2011 at 2:56 PM, Noe Nieto
>> [http://percepcionunitaria.org]] <[hidden email]> wrote:
>>> 2011/4/6 Michael Smith <[hidden email]>
>>>> What GStreamer doesn't include is an HTTP server.
>>>
>>> Maybe the solution would be tu "subclass" the tcpserversink and
>> "decorate"
>>> the frames with tcp headers.
>>>
>>> Does that sound feasible in GStreamer?
>>
>> If you can write GStreamer elements in Python, then it would be easy
>> to use Python's built-in basic http server.
>>
>>
> +1000
>
> I like that !
Finally ... can you solve this???

Didn't had the chance to hack on it. Hope to get something during this week.

 

Matías Hernandez Arellano
Ingeniero de Software/Proyectos en VisionLabs S.A
CDA Archlinux-CL
www.msdark.archlinux.cl




_______________________________________________



--
--
Noe Nieto
Estudiante de Psicología Holokinética

Diplomados, noticias, libros, artículos,

audios y videos gratuitos :   percepcionunitaria.org

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel