Вы здесь

mplayer & matroska

mplayer не играет .mkv файлы.

#mplayer Planet.Earth.01.mkv
MPlayer dev-SVN-r26753-4.1.2 (C) 2000-2008 MPlayer Team
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ (Family: 15, Model: 67, Stepping: 3)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Скомпилировано для x86 CPU со следующими расширениями: MMX MMX2 3DNow 3DNowEx SSE SSE2

Воспроизведение Planet.Earth.01.mkv.
[mkv] ID дорожки 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] ID дорожки 2: audio (A_AC3) "AC3 5.1 448 kbps", -aid 0, -alang rus
[mkv] ID дорожки 3: audio (A_AC3) "AC3 5.1 448 kbps", -aid 1, -alang eng
[mkv] ID дорожки 4: subtitles (S_TEXT/UTF8), -sid 0, -slang rus
[mkv] ID дорожки 5: subtitles (S_TEXT/ASS), -sid 1, -slang eng
[mkv] Будет воспроизвоиться дорожка 1.
Обнаружен Matroska формат файла!
VIDEO:  [WVC1]  1920x1080  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
Запрошенное семейство видеокодеков [wmvvc1dmo] (vfm=dmo) не доступно.
Включите его во время компиляции.
Открываю декодер видео: [ffmpeg] FFmpeg's libavcodec codec family
[vc1 @ 0xacd700]Incomplete extradata
Не могу открыть кодек.
Ошибка инициализации Декодера Видео :(
Не могу найти кодек для выбранного -vo и видеоформата 0x31435657!

Аудио нормально играет.
Флагов не нашёл, раньше вроде был флаг matroska.

# emerge -pv mplayer
media-video/mplayer-1.0_rc2_p26753  USE="3dnow 3dnowext X a52 aac alsa amrnb amrwb cddb
 cdio cdparanoia doc dts dv dvb dvd encode ftp gif iconv ipv6 jpeg live lzo mad md5sum
mmx mmxext mp2 mp3 musepack nas openal opengl oss png pnm quicktime radio real rtc samba
sdl speex srt sse sse2 ssse3 theora truetype unicode v4l v4l2 vorbis x264 xanim xscreensaver
xv xvid xvmc zoran -aalib (-altivec) -arts -bidi -bindist -bl -cpudetection -custom-cflags
-debug -dga -directfb -enca -esd -fbcon -ggi -gtk -jack -joystick -ladspa -libcaca -lirc -nemesi
-pulseaudio -rar (-svga) -teletext -tga (-vidix) (-win32codecs) -xinerama"

Подскажите, куда капать?
И почему написано Скомпилировано для x86 CPU?

С wmv грабли. Можно поставить win32codecs, или amd64codecs. Но у меня некоторые файлы так и не заиграли.

мои флаги: X a52 aac alsa amrnb amrwb directfb dts dv dvd enca encode fbcon gif iconv jack jpeg kernel_linux mad mmx mmxext mp2 mp3 png quicktime real sse theora truetype unicode video_cards_vesa vorbis win32codecs x264 xanim xscreensaver xv xvid.
Играет абсолютно все.
Зы: фильмы смотрю в консоли так что directfb вам возможно придется заменить на что либо более подходящее.

Это нормальная пока ситуация с видеопотоком VC-1 в MKV-контейнере =(

У меня та же хрень получается, когда я пытаюсь запихнуть VC-1 в MKV с помощью mkvmerge, хотя сырой видеопоток без проблем воспроизводится...
В данном случае ffmpeg пишет, что ему не хватает данных для инициализации кодека, т.е. в mkv файле не хватает каких-то заголовков для видео...

И мне вот, к стати, тоже интересно, почему mplayer говорит, что скомпилирован для x86... это он имеет в виду, что для x86-совместимой платформы или типа он 32-х битный? =)

спустя столько времени могу сказать, что такое происходит только тогда, когда в mkv-файл программой mkvmerge добавляется сырой видео-поток VC1. Этого не происходит, если чистый видеопоток сначала запихнуть mencoder'ом в avi, а потом уже из avi mkvmerge'м выудить в mkv...

если скачаный фильм в mkv с VC1 не проигрывается, то можно сделать следующее:

mencoder ~/foo.mkv -nosound -ovc copy -of avi -o ~/foo.avi

если mencoder откажется вытаскивать видеопоток, то его можно вытащить mkvextract с параметром --raw (иначе mkvmerge поместит вытащенный видеопоток не в элементарный VC1-видеопоток, а в AVI, который так же не будет воспроизводиться)

mkvextract tracks ~/foo.mkv --raw 1:~/foo.vc1 && mencoder ~/foo.vc1 -nosound -ovc copy -of avi -o ~/foo.avi

теперь mkvmerge правильно подхватит VC1 поток из этого avi...

P.S. есть тока один нюанс: такие файлы в Windows открываются тока встроенными кодеками KMPlayer... в остальных чёрный экран =( зато в Linux эти файлы откроются даже в xine-плеерах ;-)

А в каком пакете живёт mkvmerge? И кто его подтягивает?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Может быть, mkvtoolnix

не может, а точно

файлы mkv с VC1 потоком не хотят играться из-за стандартного mkv-демуксера... в этом случае стоит использовать lavf демультиплексер

mplayer -demuxer lavf film.VC1.mkv

работает 100%

в KMPlayer'e можно тоже самое выставить мышкой ;-)

спасибо за наводку! :) у меня могучие VC1 в mkv не хотели через vdpau идти, проц жрали 100%
-demuxer lavf помог ! :)