Hi everyone,
I have a problem when I used av_write_frame() or av_interleaved_write_frame() for TS muxer. The sequence of video and audio is not what I wanted to have. I was trying to output a video frame, and then an audio frame which has similar dts or pts with that video frame. Loop this process, if their dts are different too much, then output a video or audio frame which is slower than the other. However, I can not control the output frame sequence when I used the av_write_frame() or av_interleaved_write_frame(). For example, for my situation, video rate:128kbps, audio:32kbps, then the final output frame sequence I got was: 10-12 video frames and then 10 audio frames(16 188-ts-packets). Then, when I use VLC to play this stream, it always said that like "buffer too early (-40364), down-sampling". After 10 hours, the audio and video is in-synchronized, and audio is about 5 seconds earlier than video. I have tried let VLC to transcode the same stream and output stream with the same parameters. I check VLC'S output stream sequence: video frame-> audio frame->video frame->audio->frame->video frame-> audio frame->video frame->video frame... .... So I am wondering how to control the muxer in ffmpeg to get an output stream with the correct sequence which I want to have. Thanks in advance. Best regards, Li _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
