Reimar D?ffinger wrote: > On Fri, Nov 13, 2009 at 03:20:55PM +0100, Colin Rosenthal wrote: > >> Reimar D?ffinger wrote: >> >>> I realized that you unfortunately can't use quite the same code. >>> You could test this: >>> Index: mencoder.c >>> =================================================================== >>> --- mencoder.c (revision 29907) >>> +++ mencoder.c (working copy) >>> @@ -552,6 +552,14 @@ >>> mencoder_exit(1,NULL); >>> } >>> >>> + if (ts_prog) { >>> + demux_program_t prog = { .progid = ts_prog }; >>> + if (demux_control(demuxer, DEMUXER_CTRL_IDENTIFY_PROGRAM, &prog) != DEMUXER_CTRL_NOTIMPL) { >>> + audio_id = prog.aid; // switching is handled by select_audio below >>> + video_id = prog.vid; >>> + demuxer_switch_video(demuxer, video_id); >>> + } >>> + } >>> select_audio(demuxer, audio_id, audio_lang); >>> >>> if (dvdsub_id == -1 && dvdsub_lang) >>> >> This works great. Unfortunately the resulting file plays weird - >> jittering and jerking back and forwards. >> Command line was: >> mplayer/mencoder -tsprog 2005 -demuxer lavf -oac pcm -ovc copy -of avi >> -o out.avi mux2.share.ts >> > > MPlayer will try to correct A-V desync by duplicating or dropping > frames, that obviously is unlikely to work right with compressed data. > You'd have to use -mc 0 -noskip , though that might cause desync. The video actually jitters backwards and forwards (played in vlc). -- Colin