[Libav-user] How can we extract frames from a video stream in MPEG-4 AVC format
amir.rouhi at rmit.edu.au
Thu Apr 7 08:56:07 CEST 2011
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.
On Thu, Apr 7, 2011 at 1:54 PM, Spencer Graffe <sgraffe at gmail.com> 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 <amir.rouhi at rmit.edu.au>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
>> On Thu, Apr 7, 2011 at 11:00 AM, Grzegorz Szpetkowski <
>> gszpetkowski at gmail.com> wrote:
>>> I am not FFmpeg API expert, but you can find working example
>>> (avcodec_sample.0.5.0.c) at
>>> There are also two guides that I know:
>>> http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html (very
>>> http://dranger.com/ffmpeg/tutorial01.html (little outdated)
>>> To convert AVFrame from YUV to RGB you need to use sws_scale.
>>> Grzegorz Sz.
>>> 2011/4/7 Amir Rouhi-Rmit <amir.rouhi at rmit.edu.au>:
>>> > Hi
>>> > I would be pleased if somebody guide me how can I extract frames in
>>> > 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
>>> > video files.
>>> > I found a method myself for type A, which is based on converting video
>>> > RAW format by YUVTOOLS software(If somebody help me that how can I
>>> > 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
>>> > which is in I-Frame format by JM software. As you have noticed , this
>>> > 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
>>> > Libav-user at ffmpeg.org
>>> > http://ffmpeg.org/mailman/listinfo/libav-user
>>> Libav-user mailing list
>>> Libav-user at ffmpeg.org
>> Libav-user mailing list
>> Libav-user at ffmpeg.org
> Spencer Graffe
> - A Guy
> Libav-user mailing list
> Libav-user at ffmpeg.org
Amir H. Rouhi
PhD Student/ CSIT RMIT University
rouhi_amirhossein at student.rmit.edu.au
amir.rouhi at rmit.edu.au
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libav-user