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 грабли.

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

мои флаги: X a52 aac

мои флаги: 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 вам возможно придется заменить на что либо более подходящее.

.

$ equery belongs /usr/lib/win32/wvc1dmod.dll
[ Searching for file(s) /usr/lib/win32/wvc1dmod.dll in *... ]
media-libs/win32codecs-20071007-r2 (/usr/lib/win32/wvc1dmod.dll)

[wmvvc1dmo] vfm: dmo (Windows Media Video (VC-1) Advanced Profile Decoder)

.

у меня amd64, флаг win32codecs в скобочках (-win32codecs), я так понимаю он запрещён.

Сам win32codecs под "~amd64", можно и поставить.
Есть ли способ чтоб mplayer мог его использовать?

Читал можно mplayer-bin поставить, но он вообще masked by: package.mask, что посоветуете?

sspphheerraa

sspphheerraa написал(а):
amd64codecs

Хотя у меня с флагами почти как у Yamaha и без amd64codecs тоже всё играет

amd64codecs

amd64codecs у меня стоит и mplayer имеет от него зависимость

amd64codecs есть

amd64codecs есть замена win32codecs для амд.
В том то и дело, что они у меня вообще не установлены. Тем не менее, всё играет.
Кстати, а какие флаги используются для ffmpeg. Mplayer то как раз с его помощью пытается ваш файл декодировать.

Флаги ffmpeg

media-video/ffmpeg-0.4.9_p20070616 USE="X a52 aac doc encode mmx ogg oss sdl theora threads truetype v4l vorbis x264 xvid zlib (-altivec) -amr -debug -ieee1394 -imlib -network -test"

У меня только

У меня только imlib ещё включён. Но это вообще к делу не относится.
А с другими "матросками" тоже самое?

Цитата:
Скомпилировано для x86 CPU

у вас CHOST и CFLAGS чему равны?

Другие показывает, толи радоваться, толи нет.

Eveler написал(а):
А с другими "матросками" тоже самое?

Да, навело на мысль проверить с другими фильмами :)

[mkv] ID дорожки 1: video (V_MPEG4/ISO/AVC), -vid 0
[mkv] ID дорожки 2: audio (A_AC3), -aid 0, -alang und
[mkv] Будет воспроизвоиться дорожка 1.
Обнаружен Matroska формат файла!
VIDEO:  [avc1]  1280x528  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Открываю декодер видео: [ffmpeg] FFmpeg's libavcodec codec family
Выбран видеокодек: [ffh264] vfm: ffmpeg (FFmpeg H.264)

Показывает, толи радоваться, толи нет.

Eveler написал(а):
у вас CHOST и CFLAGS чему равны?

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O3 -pipe -fomit-frame-pointer -msse3 -m3dnow -ftree-vectorize"

Похоже что у

Похоже что у вас файл или битый или зажат чем-то неприличным. Попробуйте проиграть его или xine`ом или vlc. У меня такое иногда бывает, что файл, когда какой нибудь кривой попадётся, открывается только конкретным проигрывателем. Попробуйте на него ещё media-video/mkvtoolnix натравить.

Это нормальная пока ситуация

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

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

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

как правильно сделать MKV с VC1 для Linux =)

спустя столько времени могу сказать, что такое происходит только тогда, когда в 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

Может быть, mkvtoolnix

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

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

нашел способ проще!

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

mplayer -demuxer lavf film.VC1.mkv

работает 100%

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

спасибо за наводку! :) у меня

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

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".