[FFmpeg-trac] #5600(avformat:new): Please merge patches output bytestream labels from libav

FFmpeg trac at avcodec.org
Tue May 31 23:37:05 CEST 2016


#5600: Please merge patches output bytestream labels from libav
----------------------------------+---------------------------------------
             Reporter:  Sesse     |                     Type:  enhancement
               Status:  new       |                 Priority:  normal
            Component:  avformat  |                  Version:  git-master
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+---------------------------------------
 Hi,

 libav recently acquired a feature that's very useful for streaming; it
 allows a client to register avio callbacks that get the type of data
 (header, keyframe, nothing special) each block begins, which means it can
 begin clients' streams from other places than the beginning of the stream
 without producing an invalid stream.

 It is possible to infer the same information with the current API, but it
 is rather indirect, is based on assuming internal details of muxers, and
 requires frequent flushing (which messes up e.g. movenc's duration
 calculation, causing pts < dts in rare cases).

 I've tested an earlier version of the patch set (on top of ffmpeg, not
 libav) for literally weeks in Nageru (my streaming application) with no
 problems, and I believe it would also be useful for e.g. VLC's streaming.

 The patch series from libav (all directly after each other) is:

 db7968bff4851c2be79b15b2cb2ae747424d2fca  avio: Allow custom IO users to
 get labels for the output bytestream
 371df9ba71393a1c5429d5f40c76348b30e556c7  flvenc: Provide output
 bytestream markers
 dbbaad32e36b9046cd19d6e3329e2ca7ab49b401  movenc: Provide output
 bytestream markers for fragmented content
 71852a1ba89abc8749e309d9d662c49d47e19531  matroskaenc: Provide output
 bytestream markers
 fd4957d9c67996e7d218fd36b4168c9cb85f9ea7  movenc-test: Test
 write_data_type
 e1eb0fc960163402bbb4e630185790488f7d28ed  movenc: Use packets in
 interleaving queues for the duration at the end of fragments
 a79aafd0b4d37eda6f15dc68e6509d4e815290c9  movenc: Add a test for VFR with
 b-frames, with a duration change at a fragment end
 72d621069fc301b431fac36b5281699a362562f2  movenc: Add a missed const

 There are some conflicts, but they seem simple to reconcile (possibly with
 the exception of test syntax differences, which I don't know anything
 about).

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5600>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list