Hi,

I'm trying to get a simple demux / stream copy / remux program to work. The full source (reasonably small) is at:

    http://davmac.org/avtest.cc

I compile it using:
g++ -Wall -o avtest src/avtest.cc -lavformat -lavcodec -lavutil -lpthread -lz -lbz2

I hope the strategy is pretty clear. It opens the input file (as specified on the command line) and writes to "test-out.avi". It just copies the streams, no decoding or encoding is performed.

It does produce a playable output, but something is wrong. For this small example input file:

    http://davmac.org/lucinda-part.avi

I can run ffprobe on the output:

    ffprobe -show_streams -count_frames -count_packets test-out.avi

... and get this output for the audio stream:

    duration_ts=N/A
    duration=N/A
    bit_rate=119232
    nb_frames=50
    nb_read_frames=248
    nb_read_packets=248

There are two issues: duration isn't specified, and nb_frames doesn't match the actual number of frames in the file.

If I copy the same input file to another avi container using ffmpeg, I do not see this issue. It only happens with my own program.

Can anyone see what's wrong with the program?

Thanks

Davin.


_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to