[Ffmpeg-devel] Any pointers on how to connect to an MJPEG stream?

Michel Bardiaux mbardiaux
Thu Feb 22 18:27:17 CET 2007


Robert Harle wrote:
> 
>>> I have a camera that outputs an MJPEG stream to my network  
>>> (connecting to http://camera_ip/mjpegstream).  I want to be able to 
>>> obtain frames from the video using libavformat.  I can do this from a 
>>> video file using av_open_input_file(), but I'm not sure how to 
>>> convert to a stream.  At present I have:
>>>
>>> av_open_input_file(&formatctx, filename, NULL, 0, NULL);
>>>
>>> I see there is an av_open_input_stream() but I'm unsure as to the 
>>> parameters to pass to it, or even if this is intended to do what I want.
>>>
>>> Can anyone offer a suggestion, or a resource to try?
>>
>> Try ffmpeg -i http://camera_ip/whatever -t 300 x.mpg , what happens?
> 
> It fails, unable recognise the format.  I have to manually specify:

My bad, which is why I wont take away points for not supplying the full 
output messages :-)

> 
>    ffmpeg -f mjpeg -i http://camera_ip/whatever -t 300 x.mpg
> 
> and then it works fine.  Similarly, ffplay -f mjpeg <URL> works fine.  
> Reading between the lines of your request, is it that 
> av_open_input_file() should take a URL and work, but the call fails 
> because it can't recognise a format from the URL?
> 
Exactly right. Now that you've got ffmpeg working, you can go in the 
source and see how it does it. I may be a hard slog, but at least you're 
sure you *will* find a solution.

It is even possible that just giving the url an extension ".mjpg" will 
do the trick!


-- 
Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux at mediaxim.be

Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles
http://www.mediaxim.com/




More information about the ffmpeg-devel mailing list