[Libav-user] How to foce h264 encoder to duplicate the same frame into the stream?

Aleksei Komarov abkomarov at gmail.com
Wed May 25 10:26:09 EEST 2022


Thanks, but the AVFrame is not encoded data. Maybe your idea was to copy
the packet data?  Than I`ll have to increment dts/pts counters manually in
this case... I don't know how...

ср, 11 мая 2022 г. в 15:03, Gustav González <xtingray at gmail.com>:

> On Wed, May 11, 2022 at 6:24 AM Aleksei Komarov <abkomarov at gmail.com>
> wrote:
>
>> Hi,
>> I'm encoding VFR frame sequence to Constant Frame Rate output stream (in
>> real-time)
>> E.g. to maintain 60 fps I have to DUPLICATE frames from 30 fps stream (or
>> any VFR video streams).
>> To do this I`m copying the same frame binary data and feed it to
>> avcodec_receive_packet() once again. (It works but is not optimal)
>> What is the proper way to tell the encoder that the new frame is the same
>> as the last one besides timestamp data (PTS/DTS). In other words how
>> to duplicate last frame in the stream without reencoding the frame again?
>> I've seen  this type of video ( generated by OBS ) where MANY frames were
>> really duplicated, where pkt_size=48 or lower!
>>
>
> I'm just shooting in the dark, but what if you don't focus on the AVFrame
> data but on saving a copy of the AVPacket of the previous frame after it is
> encoded? In that way, you could avoid calling the whole encoding process
> again. Just guessing.
>
> --
>   Gustav Gonzalez
>   xtingray at gmail.com
>
> _______________________________________________
> 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/20220525/7f491da9/attachment.htm>


More information about the Libav-user mailing list