[Libav-user] Is frame with PTS needed for every fps interval?

Raymond Blum raygeeknyc at gmail.com
Thu May 15 12:56:28 CEST 2014


My strategy was to skip frames that are available before the next time_base
interval and provide the PTS that works have been in effect as determined
by elapsed_time / time_base as each available frame is encoded.  As I
mentioned it doesn't seem to work for me.

One thing stands out, you're using a milliseconds multiplier, i.e. 33000.
Maybe I've interpreted it incorrectly, but I understood the DTS and PTS to
be sequence numbers, not actual time based values: so with a time_base of
25, a frame to be shown at 0.5 secs would have a PTS of 12, a frame to be
shown at 2 secs has a PTS of 50, etc.  Where did you see use of the ms
values that you're using?

Raymond
On May 14, 2014 10:55 PM, "Ken Bass" <daytooner at gmail.com> wrote:

> To put it another way: must there be a one-to-one correspondence between
> the frame interval and the PTS? That is, if I initialize the stream for
> 30fps, must frame 0 have PTS 0, frame 1 have PTS 33000, frame 2 have PTS
> 66000?
>
> What I would like to do is this:
>
> I write out the first frame with PTS of 0. I write out the next frame with
> PTS of 50000 (50ms). The next with PTS of 90000 (90ms).
>
> Will libav let me do this? And what happens with playback?
>
> If need be, I can simply duplicate the last frame if a new one is not
> available at the expected interval. But, then, what if a new frame arrives
> in between intervals? Can I set its PTS the the actual PTS, or must it be
> adjusted up to the next interval?
>
> Thanks for the response.
>
> ken
>
>
> On Wed, May 14, 2014 at 4:38 PM, NITIN GOYAL <nitinkumgoyal at gmail.com>wrote:
>
>>
>> On Wed, May 14, 2014 at 10:30 AM, Ken Bass <daytooner at gmail.com> wrote:
>>
>>>
>>> Question: can I simply write out each frame as I receive it, with an
>>> appropriate PTS? This would most likely skip expected frames. Also, the
>>> captured frame most likely wouldn't be written at the specified fps
>>> interval.
>>>
>>>
>> I think I am not clear on your question but as per my understanding, For
>> the raw frames, if you will get them in a proper manner of PT, ti will
>> create less issues in encoding process. May be you can buffer some frames
>> and then send it to encode the frames and thus there wont be any skipped
>> frames.
>>
>> _______________________________________________
>> 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
> http://ffmpeg.org/mailman/listinfo/libav-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20140515/99523566/attachment.html>


More information about the Libav-user mailing list