[Libav-user] reading video with multiple video streams

Andrey Utkin andrey.krieger.utkin at gmail.com
Sun Oct 21 16:03:31 CEST 2012

2012/10/21 Svetlana Olonetsky <svetlana.olonetsky at gmail.com>:
> Hi,
> I am reading video files using ffmpeg in C++.
> I have some videos from users with multiple video streams.
> For example, running ffmpeg directly gives stream info:
> Stream #0:0: Video: mjpeg, yuvj420p, 640x480, 90k tbr, 90k tbn, 90k tbc
>     Metadata:
>       comment         : Movie/video screen capture
>     Stream #0:1(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 48000 Hz, stereo,
> s16, 192 kb/s
>     Stream #0:2(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p,
> 640x480, 5500 kb/s, 29.97 tbr, 1k tbn, 1k tbc
> How can I figure out which video stream is Main ?

You are contradicting yourself. You show example with one audio and
one video stream.
For analyzing elementary streams, look at AVFormatContext.streams
array of AVStream structs; AVStream also has entry 'codec' of
AVCodecContext type, where you can find all properties of certain
elementary stream.

Andrey Utkin

More information about the Libav-user mailing list