[Libav-user] Buffered encoded images not saved

Richard Hussong rhussong at westpond.com
Wed Mar 31 21:01:54 EEST 2021

On Tue, Mar 30, 2021 at 4:24 PM laddoe <xyfix at hotmail.com> wrote:

> I know you guys are busy but can someone please  have a look at my
> question in the post that I did .... " Buffered encoded images not saved"
> thank you in advance
> ------------------------------
> *Van:* Libav-user <libav-user-bounces at ffmpeg.org> namens laddoe <
> xyfix at hotmail.com>
> *Verzonden:* donderdag 25 maart 2021 12:08
> *Aan:* libav-user at ffmpeg.org <libav-user at ffmpeg.org>
> *Onderwerp:* [Libav-user] Buffered encoded images not saved
> Hi all,
> I have an issue with the first 12 images not being saved to file. I have
> attached my code ( the relevant ones ) in this email, I have also attached
> a log file to show that the first 12 images aren't written to the file that
> is generated. The frame rate is 24 fps and the recording is 5 sec, so there
> should be 120 frames written to the file. This can be seen in the 4th
> column. The lines in the log files are as follows :
> [cpp filename] : image num [ unique num from camera]  [temp image num for
> recording seq] [time in ms]
> The image class is actually a simple wrapper around  OpenCV's mat class
> with some addition members. The output file is around 10 MB and when I open
> it in VLC it doesn't run for 5 seconds but more like 1 - 2 seconds. Can
> anyone explain the files not written and the duration not being 5 secs. As
> you can see I have tried with  "av_interleaved_write_frame"  but that
> didn't help

I think the problem is that you are not using the encoding interface
properly. After you send a frame with avcodec_send_frame, you should loop
on the result of avcodec_receive_packet until it returns AVERROR_AGAIN.
Also, when you are out of frames to encode, you need to call
avcodec_send_frame once more with a NULL frame pointer to put the encoder
in draining mode, then receive as usual. See the ffmpeg docs at
https://ffmpeg.org/doxygen/4.0/group__lavc__encdec.html for further details.

- Richard

> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/libav-user
> To unsubscribe, visit link above, or email
> libav-user-request at ffmpeg.org with subject "unsubscribe".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20210331/39240f7d/attachment.html>

More information about the Libav-user mailing list