mov demuxer A/V sync probs
Moin, I just uploaded a file to mphq that shows heavy A/V desync problems with MPlayers mov demuxer. Ie jumpy sound, small loops and desyncs that go up to two secs. The file works fine with -demuxer lavf [Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4: --- MPlayers mov demuxer produces A/V desyncs, short loops and choppy sound. Using lavf works fine tough MPlayer dev-SVN-r25158-4.2.3 (C) 2000-2007 MPlayer Team CPU: AMD Athlon(tm) 64 Processor 3700+ (Family: 15, Model: 55, Stepping: 2) CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1 Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2 get_path('codecs.conf') -> '/home/attila/.mplayer/codecs.conf' Reading /home/attila/.mplayer/codecs.conf: Can't open '/home/attila/.mplayer/codecs.conf': No such file or directory Reading /usr/local/stow/MPlayer-SVN-2007-11-25T15:35+0200-r25158:11090/etc/mplayer/codecs.conf: Can't open '/usr/local/stow/MPlayer-SVN-2007-11-25T15:35+0200-r25158:11090/etc/mplayer/codecs.conf': No such file or directory Using built-in default codecs.conf. Configuration: --prefix=/usr/local/stow/MPlayer-SVN-2007-11-25T15:35+0200-r25158:11090 CommandLine: '-vo' 'xmga' '-display' ':0.0' '/tmp/[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4' '-v' init_freetype get_path('font/font.desc') -> '/home/attila/.mplayer/font/font.desc' Bitmap font /home/attila/.mplayer/font/font.desc loaded successfully! (140 chars) Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay get_path('fonts') -> '/home/attila/.mplayer/fonts' Using nanosleep() timing get_path('input.conf') -> '/home/attila/.mplayer/input.conf' Can't open input config file /home/attila/.mplayer/input.conf: No such file or directory Can't open input config file /usr/local/stow/MPlayer-SVN-2007-11-25T15:35+0200-r25158:11090/etc/mplayer/input.conf: No such file or directory Falling back on default (hardcoded) input config get_path('[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4.conf') -> '/home/attila/.mplayer/[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4.conf' Playing /tmp/[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4. get_path('sub/') -> '/home/attila/.mplayer/sub/' [file] File size is 239126297 bytes STREAM: [file] /tmp/[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4 STREAM: Description: File STREAM: Author: Albeu STREAM: Comment: based on the code from ??? (probably Arpi) LAVF_check: QuickTime/MPEG4/Motion JPEG 2000 format Checking for YUV4MPEG2 ASF_check: not ASF guid! Checking for NuppelVideo Checking for REAL Checking for SMJPEG Searching demuxer type for filename /tmp/[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4 ext: .mp4 Trying demuxer 7 based on filename extension Checking for MOV ISO: File Type Major Brand: ISO Base Media ISO: File Type Minor Version: 1 ISO: File Type Compatible Brand #0: isom ISO: File Type Compatible Brand #1: avc1 MOV: Movie header found! MOV: Movie DATA found! Quicktime/MOV file format detected. MOV: Movie header (100 bytes): tscale=600 dur=893894 MOV: unknown chunk: iods 13 -------------- MOV: Track #0: MOV: Track header! tkhd len=84 ver=0 flags=0x0 id=1 dur=893842 lay=0 vol=0 MOV: Media stream! MOV: Media header! MOV: Handler header: /vide () PAC ISO Video Handler MOV: unknown handler class: 0x0 () MOV: Media info! MOV: Video header! MOV: unknown chunk: dinf 28 MOV: Sample info! MOV: Description list! (cnt:1) MOV: desc #0: avc1 (138 bytes) MOV: Sample duration table! (1 blocks) MOV: unknown chunk: ctts 175960 MOV: Syncing samples (keyframes) table! (405 entries) (ver:0,flags:0) MOV: Sample->Chunk mapping table! (3 blocks) (ver:0,flags:0) MOV: Sample size table! (entries=35718 ss=0) (ver:0,flags:0) MOV: Chunk offset table! (3247 chunks) MOV track #0: 3247 chunks, 35718 samples pts=35753718 scale=24000 time=1489.738 ==> Found video stream: 0 [mov] Video stream found, -vid 0 MOV: AVC decoder configuration record atom (48)! MOV: avcC version: 1 MOV: avcC profile: 100 MOV: avcC profile compatibility: 0 MOV: avcC level: 51 MOV: avcC nal length size: 4 MOV: avcC number of sequence param sets: 1 MOV: avcC sps 0 have length 25 MOV: avcC number of picture param sets: 1 MOV: avcC pps 0 have length 4 MOV: Found unknown movie atom btrt (20)! Image size: 960 x 540 (24 bpp) Display size: 960 x 540 Fourcc: avc1 Codec: '' -------------- MOV: Track #1: MOV: Track header! tkhd len=84 ver=0 flags=0x0 id=2 dur=893894 lay=0 vol=256 MOV: Media stream! MOV: Media header! MOV: Handler header: /soun () PAC ISO Audio Handler MOV: unknown handler class: 0x0 () MOV: Media info! MOV: Sound header! MOV: unknown chunk: dinf 28 MOV: Sample info! MOV: Description list! (cnt:1) MOV: desc #0: mp4a (55 bytes) MOV: Sample duration table! (1 blocks) MOV: Sample->Chunk mapping table! (757 blocks) (ver:0,flags:0) MOV: Sample size table! (entries=62076 ss=576) (ver:0,flags:0) MOV: Chunk offset table! (3248 chunks) MOV track #1: 3248 chunks, 0 samples pts=71511552 scale=48000 time=1489.824 ==> Found audio stream: 1 [mov] Audio stream found, -aid 1 Audio bits: 16 chans: 2 rate: 48000 MOV: Found MPEG4 audio Elementary Stream Descriptor atom (35)! ESDS MPEG4 version: 0 flags: 0x000000 ESDS MPEG4 ES Descriptor (21Bytes): -> ESId: 0 -> streamPriority: 0 ESDS MPEG4 Decoder Config Descriptor (13Bytes): -> objectTypeId: 107 -> streamType: 0x15 -> bufferSizeDB: 0x000240 -> maxBitrate: 198.144kbit/s -> avgBitrate: 192.000kbit/s Fourcc: mp4a -------------- MOV: longest streams: A: #1 (3248 samples) V: #0 (35718 samples) VIDEO: [avc1] 960x540 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s) [V] filefmt:7 fourcc:0x31637661 size:960x540 fps:23.98 ftime:=0.0417 get_path('sub/') -> '/home/attila/.mplayer/sub/' X11 opening display: :0.0 vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF) vo: X11 running at 1152x864 with depth 24 and 32 bpp (":0.0" => local display) [x11] Detected wm supports layers. [x11] Detected wm supports NetWM. [x11] Detected wm supports FULLSCREEN state. [x11] Detected wm supports ABOVE state. [x11] Detected wm supports BELOW state. [x11] Current fstype setting honours LAYER FULLSCREEN ABOVE BELOW X atoms Disabling DPMS DPMSDisable stat: 1 ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family INFO: libavcodec init OK! Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer. mp3lib: using SSE optimized decore! MP3lib: init layer2&3 finished, tables done MPEG 1.0, Layer III, 48000 Hz 192 kbit Joint-Stereo, BPF: 576 Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0 AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??... [libaf] Adding filter dummy [dummy] Was reinitialized: 48000Hz/2ch/s16le [dummy] Was reinitialized: 48000Hz/2ch/s16le ao2: 48000 Hz 2 chans s16le audio_setup: using '/dev/dsp' dsp device audio_setup: using '/dev/mixer' mixer device audio_setup: using 'pcm' mixer device audio_setup: sample format: s16le (requested: s16le) audio_setup: using 2 channels (requested: 2) audio_setup: using 48000 Hz samplerate (requested: 48000) audio_setup: frags: 8/8 (8192 bytes/frag) free: 65536 AO: [oss] 48000Hz 2ch s16le (2 bytes per sample) AO: Description: OSS/ioctl audio output AO: Author: A'rpi Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le... [dummy] Was reinitialized: 48000Hz/2ch/s16le [dummy] Was reinitialized: 48000Hz/2ch/s16le Starting playback... Increasing filtered audio buffer size from 0 to 65536 [ffmpeg] aspect_ratio: 1.777778 VDec: vo config request - 960 x 540 (preferred colorspace: Planar YV12) Trying filter chain: vo VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.78:1 - prescaling to correct movie aspect. VO Config (960x540->960x540,flags=0,'MPlayer',0x32315659) VO: [xmga] 960x540 => 960x540 Planar YV12 VO: Description: Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid) VO: Author: Zoltan Ponekker <pontscho@makacs.poliod.hu> [MGA] Using 3 buffers. Using colorkey: ff00 [xmga] x: 0 y: 0 w: 960 h: 540 [xmga] dcx: 96 dcy: 162 dx: 0 dy: 0 dw: 960 dh: 540 *** [vo] Exporting mp_image_t, 960x540x12bpp YUV planar, 777600 bytes [xmga] x: 0 y: 0 w: 960 h: 540 [xmga] dcx: 96 dcy: 162 dx: 0 dy: 0 dw: 960 dh: 540 Uninit audio filters... 0.546 ct: 0.108 55/ 55 22% 36% 0.6% 4 0 [libaf] Removing filter dummy Uninit audio: mp3lib Uninit video: ffmpeg vo: uninit! Successfully enabled DPMS vo: uninit ... Exiting... (Quit) --- Attila Kinali -- The true CS students do not need to know how to program. They learn how to abstract the process of programming to the point of making programmers obsolete. -- Jabber in #holo
Hello, On Sat, Feb 02, 2008 at 12:54:08PM +0100, Attila Kinali wrote:
I just uploaded a file to mphq that shows heavy A/V desync problems with MPlayers mov demuxer. Ie jumpy sound, small loops and desyncs that go up to two secs. The file works fine with -demuxer lavf
[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4: --- MPlayers mov demuxer produces A/V desyncs, short loops and choppy sound. Using lavf works fine tough
Since lavf is the default nowadays it might not be worth investigating, at least samples that break with lavf are more interesting. Actually, it would be better to create a way for the demuxers to set a default value for correct-pts, this should fix many of the remaining -demuxer lavf problems.
On Sat, Feb 02, 2008 at 02:40:37PM +0100, Reimar Döffinger wrote:
On Sat, Feb 02, 2008 at 12:54:08PM +0100, Attila Kinali wrote:
I just uploaded a file to mphq that shows heavy A/V desync problems with MPlayers mov demuxer. Ie jumpy sound, small loops and desyncs that go up to two secs. The file works fine with -demuxer lavf
[Order]_Tengen_Toppa_Gurren_Lagann_-_01_[83DAF271].mp4: --- MPlayers mov demuxer produces A/V desyncs, short loops and choppy sound. Using lavf works fine tough
Since lavf is the default nowadays it might not be worth investigating, at least samples that break with lavf are more interesting. Actually, it would be better to create a way for the demuxers to set a default value for correct-pts, this should fix many of the remaining -demuxer lavf problems.
Yes, that would go a long way towards making -correct-pts the default.. Diego
participants (3)
-
Attila Kinali -
Diego Biurrun -
Reimar Döffinger