Opened 9 years ago
Closed 9 years ago
#5600 closed enhancement (fixed)
Please merge patches output bytestream labels from libav
Reported by: | Sesse | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
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).
Change History (4)
comment:1 by , 9 years ago
comment:4 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Changes will generally be merged in due time, no need to open tickets about that.