[Libav-user] Seeking MPEG-DASH video using Custom I/O

Pt Romac digidop at gmail.com
Tue Dec 13 00:00:06 EET 2016


There is an example within the FFmpeg examples, IIRC.  I used this example,
however:

https://www.codeproject.com/Tips/489450/Creating-Custom-FFmpeg-IO-Context

And cross referenced it with multiple other implementations I found on
Google, and they all seemed to do the same things.  I had a problem,
however, in that whenever I supply a seek function it takes a long, long
time for the file to load (seems to take a long time to read the file's
headers).  The problem doesn't exist when I omit the seek function, however
seeking takes a long time as FFmpeg will keep reading the file until it
gets to the seek point, which makes sense.

So, I'm stuck getting the seek function to work.  I posted a question about
this exact problem a couple of weeks ago, but didn't get a response, so I
hope you don't have the same issue.  My next step is to debug through
ffplay to see what it's doing that's different, since it doesn't have this
problem when playing the same file.  I haven't had time to do that yet.

On Mon, Dec 12, 2016 at 7:19 PM, Sida Li <lisida46 at gmail.com> wrote:

> Hi everyone,
>
> I've been trying to stream MPEG-DASH videos using libdash and decode using
> ffmpeg.
> I got the sample player from libdash
> <https://github.com/bitmovin/libdash/tree/master/libdash/qtsampleplayer>
> working. It can do playback but not seeking.
>
> The sample uses a custom AVIOContext allocated by avio_alloc_context
> <https://www.ffmpeg.org/doxygen/trunk/avio_8h.html#a853f5149136a27ffba3207d8520172a5>,
> which takes in function pointers to custom read_packet and seek functions.
> The read_packet function
> <https://github.com/bitmovin/libdash/blob/2aff091c1947e3dc6ade84bb1b03b8414ee4e442/libdash/qtsampleplayer/Decoder/LibavDecoder.cpp#L19>
> has been implemented but not the seek function.
> I couldn't find any documentation regarding the seek function used by
> AVIOContext other than the function signature.
> So I was wondering if there is documentation or sample code such as
> avio_reading.c
> <https://www.ffmpeg.org/doxygen/trunk/avio_reading_8c-example.html#a20> indicating
> how the custom seek function should be implemented?
>
> Thank you so much for your time.
>
> Best,
> Sida Li
>
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20161212/b302483e/attachment.html>


More information about the Libav-user mailing list