[FFmpeg-user] how to demux + decode with option -re with file input ffmpeg API's

Amir Raza mdamirraza at gmail.com
Sat Dec 8 05:33:44 EET 2018


thanks moritz ... For pointing me in right direction .. Yeah i will post in
libav-user.

static int get_input_packet(InputFile *f, AVPacket *pkt){
    if (f->rate_emu) {
        int i;
        for (i = 0; i < f->nb_streams; i++) {
            InputStream *ist = input_streams[f->ist_index + i];
            int64_t pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE);
            int64_t now = av_gettime_relative() - ist->start;
            if (pts > now)
                return AVERROR(EAGAIN);
        }
    }
#if HAVE_PTHREADS
    if (nb_input_files > 1)
        return get_input_packet_mt(f, pkt);#endif
    return av_read_frame(f->ctx, pkt);}


On Fri, 7 Dec 2018, 22:05 Moritz Barsnick <barsnick at gmx.net wrote:

> On Fri, Dec 07, 2018 at 06:31:14 -0600, straw wrote:
> > Like in below example , *how to use -re option in ffmpg API code .
>
> For questions regarding the use of the ffmpeg API, please consult the
> libav-user mailing list:
> https://ffmpeg.org/mailman/listinfo/libav-user
>
> > I tried AVDictionary but no luck.
> > avformat_open_input(&ctx, (const char*)file.ts, NULL, NULL)..
>
> The "-re" option is a feature of the ffmpeg command line client. I
> don't believe it is directly available in the API. OTOH, the filters
> "realtime" and "arealtime" emulate this behavior (but not if you're
> doing stream copy, obviously).
>
> You may need to implement the same behavior in your program. Check this
> code segment here:
>
>
> https://github.com/FFmpeg/FFmpeg/blob/05a61a02d628a04fa8a672ef062adf4de2ed7df6/fftools/ffmpeg.c#L3685
>
> and here:
>
>
> https://github.com/FFmpeg/FFmpeg/blob/05a61a02d628a04fa8a672ef062adf4de2ed7df6/fftools/ffmpeg.c#L4132
>
> The variable triggered by "re" is "rate_emu".
>
> Cheers,
> Moritz
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list