[Libav-user] Updated libav/ffmpeg tutorial

Stephen Dranger dranger at gmail.com
Sun Feb 22 02:41:54 CET 2015


So I've made most of the changes wm4 and Max have suggested, and retested
everything. So, it works, but it could still use a lot more work. This was
supposed to be a quick fix; when I get more time to devote to it, I'll have
to look at ffplay.c and figure out the major changes it has made since I
copied off it in the first place 8 years ago.

Updated link: http://dranger.com/ffmpeg/

Thanks everyone for the suggestions!

On Thu, Feb 19, 2015 at 2:29 AM, Max Vlasov <max.vlasov at gmail.com> wrote:

> 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
>>
>>
>
> _______________________________________________
> 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/20150221/3abfe068/attachment.html>


More information about the Libav-user mailing list