2008/10/31 Javier Rojo <[EMAIL PROTECTED]> > > Hi Luca, > > Thank you very much for the info!! I will try to find more info. The hard > point of developping with ffmpeg is finding documentation/tutorials, but I'm > sure is a really powerful API for encoding/decoding multimedia. VLC is based > on it and I love it. With vlc, if I select open network and I insert > http://MY_CAMERA_IP/cgi-bin/nph-video?type=multipart/x-mixed-replace<http://my_camera_ip/cgi-bin/nph-video?type=multipart/x-mixed-replace>, > I am able to watch it, transcode it, save it with the container and video > codec I select. So It is possible to do it...
VLC if an open source project IIRC so you can give a look at the code Regards Franco > > > Thanks again. > > > > > > > ---------------------------------------- > > Date: Fri, 31 Oct 2008 08:23:37 +0100 > > From: [EMAIL PROTECTED] > > To: [email protected] > > Subject: Re: [libav-user] ENCODING IP CAMERA STREAM > > > > Hi Javier, > > > > Javier Rojo wrote: > >> Hi all, > >> > >> I am working with an IP Camera (Lumenera Le 165m, > http://www.lumenera.com/security/le165.php). With the command > http://MY_CAMERA_IP/cgi-bin/nph-video?type=multipart/x-mixed-replace<http://my_camera_ip/cgi-bin/nph-video?type=multipart/x-mixed-replace>the > camera starts sending jpeg files. Well, my goal is to develop in C/C++ > and application to record that streaming, in mpg, for example. > >> > >> Up to now, I have used curl to retrieve JPGs from network, ImageMagick > to load JPG from memory and to obtain RAW data in PIX_FMT_GRAY8 format, then > img_convert to change from PIX_FMT_GRAY8 to PIX_FMT_YUVJ420P, and finally I > have encoded the stream with avcodec_encode_video (CODEC_ID_MPEG1VIDEO) > > > > I think you can use libavformat instead of curl to fetch the jpeg files, > > and libavcodec to decode them. Also, note that img_convert() has been > > deprecated, and you should use sws_* instead (see ffmpeg.c or > > libswscale/swscale-example.c for an usage example). > > > > I _suspect_ you can also use the "ffmpeg" program directly to fetch the > > images and convert them to an mpeg file, but I have no idea about the > > correct command line. > > > > > >> But the speed of the video is altered cause I am using m_c->time_base= > (AVRational){1,25}; but the FPS of the IP camera are not constant and > sometimes are 15 (encoded video is faster than reality) or 50 (encoded video > is slower than reality), depending on the image size, network overload and > so on... > > > > If the frame rate is not constant and you want to encode at variable > > frame rate, time_base = 1/25 is a bad choice. > > (however, you should use a codec and file format that support variable > > frame rate - I do not know if mpeg is OK) > > You can probably set it to 1/1000, and pass timestamps in ms. > > The real problem is that you must be able to associate a PTS to your > > input frames, and if the camera is not providing a timestamps for the > > frames you are in a bad shape. > > > > The alternative is to duplicate/drop frames to achieve constant frame > > rate for the encoded video (see the "vsynch" in ffmpeg.c). > > > > > >> My questions are: > >> - how should I do it to encode that stream in a more easy/fast way? > > > > See above > > > > > >> - Is there any example to have a look about encoding http stream? > > > > I do not know about any... You can try to have a look at ffmpeg.c. > > > > > >> - Is there any documentation about ffmpeg (avformat, avutil, > avcodec...) > > > > There is the doxygen documentation in avformat.h, avcodec.h, and > avutil.h. > > This is not very practical (it requires some previous knowledge in the > reader, > > and is far from a tutorial), but it's the most reliable source of > information. > > You can also search this mailing list archives, and you'll find useful > suggestions > > and references to some tutorials. > > > > > > Luca > > _______________________________________________ > > libav-user mailing list > > [email protected] > > https://lists.mplayerhq.hu/mailman/listinfo/libav-user > > _________________________________________________________________ > ¿Eres un cotilla? Disfruta de todas las novedades en MSN Corazón > http://entretenimiento.es.msn.com/corazon/ > _______________________________________________ > libav-user mailing list > [email protected] > https://lists.mplayerhq.hu/mailman/listinfo/libav-user > -- Franco Amato _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
