Opened 16 years ago

Last modified 16 years ago

#975 new defect

Transmuxing MKV-->AVI in mencoder remove keyframes

Reported by: pcjco@… Owned by: reimar
Priority: normal Component: core
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Given a matroska file containing only video (fourcc XVID), I tried to create an AVI by copying the video stream with mencoder with this command line :

mencoder input.mkv -o output.avi -nosound -ovc copy

The produced file is playable but not seekable (original keyframes have been lost).

With the same file already in an AVI (using VDubMod to transmux from MKV to AVI), the transmuxing AVI-->AVI keeps the keyframes :

mencoder input.avi -o output.avi -nosound -ovc copy

MEncoder version :
MEncoder Sherpya-SVN-r25513-4.2.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) XP 2400+ (Family: 6, Model: 8, Stepping: 1)
SSE supported but disabled
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx

Change History (2)

comment:1 by compn, 16 years ago

this has nothing to do with keyframes, index maybe...

can you please paste the complete output of
mencoder input.mkv -o output.avi -nosound -ovc copy ?

possibly try -forceidx

comment:2 by pcjco@…, 16 years ago

Same result with -forceidx.

Here is the complete dump :

C:\Temp>%mencoder% input.mkv -v -o output.avi -nosound -ovc copy
MEncoder Sherpya-SVN-r24537-4.2.1 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 63, Stepping: 2)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Configuration: --prefix=/usr --language=all --enable-win32dll --enable-static --enable-qtx --enable-real --enable-md5sum --enable-menu --disable-vidix-internal
--disable-sdl --enable-caca --enable-gl --enable-matrixview --enable-freetype --enable-png --enable-jpeg --enable-gif --enable-tga --enable-mad --disable-tv --d
isable-dvb --disable-dvbhead --with-extraincdir=/c/Work/mplayer/live --enable-runtime-cpudetection
init_freetype
get_path('font/font.desc') -> 'C:/Program Files/Divx_Prog/MPlayer/mplayer/font/font.desc'
font: can't open file: C:/Program Files/Divx_Prog/MPlayer/mplayer/font/font.desc
font: can't open file: /usr/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
WINSOCK2 init: 0
[file] File size is 41981987 bytes
STREAM: [file] input.mkv
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
success: format: 0 data: 0x0 - 0x2809823
LAVF_check: Matroska file format
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
[mkv] Found the head...
[mkv] + a segment...
[mkv] /---- [ parsing seek head ] ---------
[mkv] /---- [ parsing seek head ] ---------
[mkv] \---- [ parsing seek head ] ---------
[mkv] /---- [ parsing cues ] -----------
[mkv] \---- [ parsing cues ] -----------
[mkv] \---- [ parsing seek head ] ---------
[mkv] |+ segment information...
[mkv] | + timecode scale: 1000000
[mkv] | + duration: -0.000s
[mkv] |+ segment tracks...
[mkv] | + a track...
[mkv] | + Track number: 1
[mkv] | + Track type: Video
[mkv] | + Default flag: 1
[mkv] | + Codec ID: V_MS/VFW/FOURCC
[mkv] | + CodecPrivate, length 40
[mkv] | + Default duration: 41.715ms ( = 23.972 fps)
[mkv] | + Language: und
[mkv] | + Video track
[mkv] | + Pixel width: 640
[mkv] | + Pixel height: 480
[mkv] | + Display width: 640
[mkv] | + Display height: 480
[mkv] | + a track...
[mkv] | + Track number: 2
[mkv] | + Track type: Audio
[mkv] | + Default flag: 1
[mkv] | + Codec ID: A_MPEG/L3
[mkv] | + Default duration: 24.000ms ( = 41.667 fps)
[mkv] | + Language: und
[mkv] | + Audio track
[mkv] | + Sampling frequency: 48000.000000
[mkv] | + Channels: 2
[mkv] |+ found cluster, headers are parsed completely :)
==> Found video stream: 1
[mkv] Aspect: 1.333333
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
==> Found audio stream: 2
[mkv] Track ID 2: audio (A_MPEG/L3), -aid 0, -alang und
[mkv] Will play video track 1.
[mkv] No audio track found/wanted.
Matroska file format detected.
VIDEO: [XVID] 640x480 24bpp 23.972 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:31 fourcc:0x44495658 size:640x480 fps:23.97 ftime:=0.0417
WINSOCK2 init: 0
[file] File size is 0 bytes
STREAM: [file] output.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
videocodec: framecopy (640x480 24bpp fourcc=44495658)
Muxer frame buffer sending 1 frame(s) to the muxer.
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
ds_fill_buffer: EOF reached (stream: video) n 35mb A-V:0.000 [1652:0] A/Vms 0/0 D/B/S 0/0/0
Writing index...
Writing header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.

Video stream: 1652.956 kbit/s (206619 B/s) size: 37545233 bytes 181.712 secs 4356 frames
WINSOCK2 uninit

Note: See TracTickets for help on using tickets.