[Libav-user] Updated libav/ffmpeg tutorial

Max Vlasov max.vlasov at gmail.com
Thu Feb 19 09:29:15 CET 2015


Stephen,
I see your point. There's no problem in describing a working way, but
probably the main misleading issue with the section is that it still hints
that there's no current "official" way to get the current time time stamp
while even in the ffmplay.c (mentioned  by you) the code already uses the
function I mentioned (av_frame_get_best_effort_timestamp).

...
static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt,
int *serial)
...
        if (decoder_reorder_pts == -1) {
            frame->pts = av_frame_get_best_effort_timestamp(frame);
        } else if (decoder_reorder_pts) {
            frame->pts = frame->pkt_pts;
        } else {
            frame->pts = frame->pkt_dts;
        }

Probably you need time to rework (vs update) the tutorial. Just my two
cents for your possible future activity :)

On Wed, Feb 18, 2015 at 7:16 PM, Stephen Dranger <dranger at gmail.com> wrote:

> It's only reliable in the sense that I tried running it, and the audio
> matched what was being shown on the screen. I'm sure there are better
> techniques; I haven't yet done the work of going through ffplay.c and
> seeing what has changed in terms of technique. (The original tutorial was
> basically copying the code in ffplay.c back then, too.) Thanks to wm4 for
> simple changes I can make immediately!
>
> On Tue, Feb 17, 2015 at 6:23 AM, Max Vlasov <max.vlasov at gmail.com> wrote:
>
>> Stephen,
>>
>> Thanks for the update,
>> I wonder whether syncing section is still reliable? I saw some doubts at
>> the list about this method (by intersepting  get_buffer/release_buffer).
>> Besides av_frame_get_best_effort_timestamp never mentioned in the section.
>> If the latter is unreliable, at least this might appear somewhere.
>>
>> Max
>>
>> On Mon, Feb 16, 2015 at 11:24 AM, Stephen Dranger <dranger at gmail.com>
>> wrote:
>>
>>> I finally dusted off the old HTML, incorporated chelyaev's code changes,
>>> and updated my tutorial at:
>>>
>>> http://dranger.com/ffmpeg/
>>>
>>> to represent all of the API changes that have happened over the years.
>>> Big thanks to chelyaev who kept it up to date. I suspect that there is a
>>> lot of work to be done to really update the tutorial to keep up with modern
>>> techniques, but at the very least this tutorial's code is no longer
>>> rotting.
>>>
>>> All code was compiled and tested on LAVC 54.59.100, LAVF 54.29.104, SWS
>>> 2.1.101, SDL 1.2.15 on GCC 4.7.2 in Debian.
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
> _______________________________________________
> 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/20150219/29ea8867/attachment.html>


More information about the Libav-user mailing list