[Libav-user] Question about usage of libav in an application

Team Lixo teamlixo at gmail.com
Thu Feb 9 00:40:42 EET 2017


I'm writing an application that will be ingesting multiple live streams at
once and managing them, and to do this I've been adapting libav with a
custom AVIOContext. The custom context is simply reading from an FLV file
for testing purposes before I will feed it an RTMP stream. All of this is
tested + proven.

Everything works fine when only one stream is being ingested, and I'm quite
sure I'm going by documentation on this, however when I have multiple
streams running at once libav runs into problems reading in packets.

There is a lot of code to review for this issue I'm having, so I won't
bother attaching it all -- but I do have one question concerning the
behavior of libav:


   1. Is it possible to read/decode more than one media stream in one
   single thread? i.e. round-robin each AVFormatContext, calling av_read_frame
   once, decoding, and moving onto the next packet/frame in this fashion?
   2. Or, is it possible to achieve the same thing, with each stream being
   on its own thread (constructing the AVFormatContext, reading input,
   decoding)?

In essence, I am looking to decode multiple streams in one process. Hope
this is possible, if it is there is likely something wrong with my code

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20170208/718db656/attachment.html>


More information about the Libav-user mailing list