Libav starting tasks

From MultimediaWiki
Jump to navigation Jump to search

Want to get started doing something useful in libav, but not sure where to start? Here's some basic tasks you can do that don't require much detailed knowledge of libav's internals. Need help? Ask on IRC and someone can answer questions and help walk you through your task of choice.

Task categories

QA

(TODO: make this a bit more detailed so it doesn't require as much searching/knowledge to do.)

Finding bugs in libav is always welcome, and requires little to no knowledge of libav itself. Here's one possible process:

  • Make a build of libav with debug symbols.
  • Download a sample file from the samples archive.
  • Download zzuf and use it to fuzz libav on the file.
  • When you find a crash, do a gdb backtrace and report the bug to the libav bug tracker following the bug tracker guidelines.

If a sample file doesn't seem to be giving any crashes, try a different one. Some decoders are more buggy than others.

Documentation

Low level API

Tutorials

Basic stuff

Would be nice have more increasingly complex example of our low level api usage.

- demux a container format and get the basic format packet information

Example https://github.com/simock85/libav/wiki/file-opening-and-packet-inspection

- extract a single track out a multi track file

TBD

- generate some synthetic audio and encode it

- generate some synthetic video and encode it

- generate an audio and video and encode it to a file

- add some subtitles in the mix

Coding