views:

8

answers:

0

I'm looking for a cross-platform C/C++ library for creating and reading video files with multiple internal streams. My current implementation uses the WIN32 VfW interface for creating an AVI video file with an additional TEXT stream.
This TEXT stream can store any binary data. However, VfW is an old API, not supported by newer codec, and it is Windows only.

I'm looking for a cross-platform library for creating and reading video file "container" that is:

  1. Cross-platform (Linux, Windows (MSVC))
  2. Supports multiple video/audio/text/custom streams
  3. Support newer codecs for improved compression speed/quality.
  4. Creates files that can be read (at least some of the streams) by any video player.

I've been looking at Matroska, but I'm not sure if it supports these custom streams, and whether it is widely supported as a video format by popular players. Also, ffmpeg does not seem compatible with MSVC.