[Libav-user] Video and audio timing / syncing

Stefano Sabatini stefasab at gmail.com
Thu Mar 28 11:16:17 CET 2013

On Thu, Mar 28, 2013 at 6:03 AM, Brad O'Hearne
<brado at bighillsoftware.com> wrote:
> On Mar 27, 2013, at 9:25 PM, Clément Bœsch <ubitux at gmail.com> wrote:
>> You realize FFmpeg 0.6 is 3 years old right?
> I know it very well -- but with FFmpeg documentation / examples, new doesn't necessarily mean more helpful. I've spent more hours than I'd like to count scouring the Internet for anything that could shed light on various aspects of getting my use case built. That 3 year old example is one of the only video / audio encoding examples I've found that even addresses pts / dts. Take a look at the current decoding_encoding.c in the samples you refer to. It doesn't address this at all. In fact, the example itself is very limited in usefulness, as it isn't really addressing what would likely be a real-world use-case.

libavformat/output-example.c was renamed to doc/examples/muxing.c,
which is possibly cleaner and updated to the new API.

decoding_encoding.c is meant as an usage example of the low-level
encoding/decoding API.

> I'll take a look. As a point of constructive encouragement, the documentation and examples could really use some improvement so that they are analog with common use cases out there. Granted video / audio is a complicated domain, but the API is way, way too hard and time consuming to use and figure out over what it could be. I was actually pretty floored when I didn't find a whole host of examples for the very use case I've been struggling with -- I would have expected "I'd like to stream my webcam to Flash" to have historically been a pretty common need, especially on OS X, given there's virtually nothing in the way of outbound network or media protocols in the Cocoa API. That's actually one other reason I've posted my code on GitHub, in hopes of saving someone some time down the road in getting something built.

We're lacking a complete (updated) tutorial, more examples and
possibly a more high-level API for dealing with it. You're welcome to
suggest what's missing as a feature request on trac, or send your own
contribution (an example dealing with external APIs may be useful in
doc/examples, even if it could be more complicated to test/integrate).

At some point we could create some crowd-funding project to add the
missing pieces, as everyone here seems busy with other stuff and no
one ever before sponsored such a task (but keep in mind that
documentation is improved day by day).

Also we have a wiki which could be used for user-contributed coding
examples and documentation.

> But I digress...back to the task at hand...getting video and audio sync'd up. Thanks for the pointer Clement, I'll take a look at those....

More information about the Libav-user mailing list