Page 1 of 1

Using my own bytearray as input ( imem:// libVLC )

Posted: 19 Jan 2011 17:54
by eduard
Hello,

I want to stream my own manipulated stream of images to another computer. For this i want to use vlc, so my step 1, i started with opening a avi from my system, which i, with succes and very easy, used to steam on the network and could pickup with another instance of vlc.

In my step2, i try to use my own data(the manipulated image stream) and display them in vlc. After some googling and irc i found out that the "new memory input (imem) access and access_demux" would help me with this trick in combination with libVLC.

Can i get some pointers to documentation / sample code (preferable in C# but C++ is also fine), to show me how to display my image-byte-data (and from what i read, using the imem module to send data to vlc and call the (callback)functions).

References which didnt help me anyfurther:
- (C# / imem) viewtopic.php?f=32&t=85451
- IRC channel on 2011-01-19 : i learned here not to use the commandline, but libVLC
- fake:// viewtopic.php?f=14&t=47779
- imem module: http://www.videolan.org/developers/vlc/ ... em_8c.html

Platform:
- Windows 7
- Vlc Mediaplayer 1.1.5

Please let me know

Re: Using my own bytearray as input ( imem:// libVLC )

Posted: 30 Jan 2011 12:30
by fishstyc
Seems like a bit of a mystery :)

I would also like to know what the possibilities are, and how to use it.

Re: Using my own bytearray as input ( imem:// libVLC )

Posted: 30 Jan 2011 15:07
by Rémi Denis-Courmont
Nobody wrote an API to imem, that's the problem.

Re: Using my own bytearray as input ( imem:// libVLC )

Posted: 30 Jan 2011 16:11
by fishstyc
So at this time, it's not possible to use it, I understand.

That still leaves me with the question: what exactly would it do, once there is an API? I mean, does it basically do the same as opening a file (a wrapper + elementary streams), but the data is in memory?

Or is it something that can read 'raw' image data, and pass it on, so it can be encoded and/or streamed. What I mean is, a similar mechanism as decoding video frames to memory (using lock and unlock callbacks), but the other way around? Or maybe what I am describing is something totally different, and in that case, can LibVLC be used to create a video-stream from raw in-memory frames (for instance by calling add_frame() on every new frame that should be appended to the stream)?

I hope I made myself clear...

Re: Using my own bytearray as input ( imem:// libVLC )

Posted: 30 Jan 2011 18:10
by Rémi Denis-Courmont
It depends on how the API is written really. In principle, it could provide a callback for VLC to get data.