Thanks Spencer Can you or any other experts in ffmpeg give me a professional advice toward my first question too? Extracting I-Frames from a video and save them as only 1 frame mpeg-4 videos. If you read my first email, you can see my complete request fie Frame extraction from MPEG-4 AVC video stream. Regards Amir
On Thu, Apr 7, 2011 at 1:54 PM, Spencer Graffe <[email protected]> wrote: > The FFmpeg / SDL tutorial on FFmpeg's website on page 8 talks about how to > use sws_scale. sws_scale can convert practically anything to anywhere at any > resolution. MPEG-4 is most likely planar YUV, but in the context of > implementing it, it does not really matter. > > To get a what's called a SwsContext, you call this: > swscontext = NULL; > swscontext = sws_getContext(sourceWidth, sourceHeight, > codecContext->pix_fmt, destWidth, destHeight, PIX_FMT_RGB24, SWS_BICUBIC, > NULL, NULL, 0); > > Then you call sws_scale with your context. As you can see above, its not > required that you know exactly what the pixel format is of your video > because the codec context has the correct information for you. PIX_FMT_RGB24 > is just one of many enum values that you can choose from (A common > alternative is using PIX_FMT_RGBA if you want to add an alpha channel). To > access your newly converted data, just use the allocated buffer you used for > the conversion frame, because whatever changes are made to the frame are > also made to the buffer. Make sure you read the tutorial first, though. > > > > On Wed, Apr 6, 2011 at 7:26 PM, Amir Rouhi-Rmit <[email protected]>wrote: > >> Hi Grzegorz >> Thanks for introducing the useful links, it takes a little time to see >> weather it useful for my purpose (extracting frames) or not. >> regarding using sws_scale, i just wanted to know does it convert the >> MPEG-4 format to raw formats: YUV or RGB? it seems this tools work for >> converting YUV to RGB >> Regards >> Amir >> >> >> On Thu, Apr 7, 2011 at 11:00 AM, Grzegorz Szpetkowski < >> [email protected]> wrote: >> >>> I am not FFmpeg API expert, but you can find working example >>> (avcodec_sample.0.5.0.c) at >>> >>> http://web.me.com/dhoerl/Home/Tech_Blog/Entries/2009/1/22_Revised_avcodec_sample.c.html >>> >>> There are also two guides that I know: >>> http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html (very >>> outdated) >>> http://dranger.com/ffmpeg/tutorial01.html (little outdated) >>> >>> To convert AVFrame from YUV to RGB you need to use sws_scale. >>> >>> Regards >>> Grzegorz Sz. >>> >>> 2011/4/7 Amir Rouhi-Rmit <[email protected]>: >>> > Hi >>> > >>> > I would be pleased if somebody guide me how can I extract frames in >>> I-Frame >>> > format from a MPEG-4 AVC (H.264) video stream. The I-Frame can be: >>> > >>> > A- Any selected frame which can be extracted in form of a 1 frame video >>> > file. In this case the only frame of video should be in I-Frame. >>> > >>> > B- Extracting real I-Frames that exist in a video stream in form of 1 >>> frame >>> > video files. >>> > >>> > >>> > >>> > I found a method myself for type A, which is based on converting video >>> to >>> > RAW format by YUVTOOLS software(If somebody help me that how can I >>> convert >>> > the video to YUV or RGB by ffmpeg or any free software I would be >>> pleased) , >>> > and then I select any frame by its number and extract it as a 1 frame >>> video >>> > which is in I-Frame format by JM software. As you have noticed , this >>> method >>> > is very costy and take a long time. I hope by help of you I find a >>> method in >>> > ffmpeg filters to do that. >>> > >>> > Regards >>> > >>> > Amir >>> > >>> > _______________________________________________ >>> > Libav-user mailing list >>> > [email protected] >>> > http://ffmpeg.org/mailman/listinfo/libav-user >>> > >>> > >>> _______________________________________________ >>> Libav-user mailing list >>> [email protected] >>> http://ffmpeg.org/mailman/listinfo/libav-user >>> >> >> >> _______________________________________________ >> Libav-user mailing list >> [email protected] >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> > > > -- > Spencer Graffe > - A Guy > > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user > > -- Amir H. Rouhi PhD Student/ CSIT RMIT University Room: 14-09-04 [email protected] [email protected]
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
