Bug 6638 - Некоторые .mkv не проигрываются
Summary: Некоторые .mkv не проигрываются
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: mplayer (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Vladimir D. Seleznev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-25 12:37 MSD by swi
Modified: 2009-01-18 22:23 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description swi 2005-04-25 12:37:47 MSD
в MPlayer-1.0-alt17.pre6a перестал нормально воспроизводиться
звук в .mkv файлах (Matroska video). Суть бага в том что звук) идет
замедленно, при том что видео вроде как нормально.
Никаких ошибок в консоли при этом не замечено.
В Xine этой проблемы нет.

Steps to Reproduce:
1. mplayer some.mkv

Actual Results:  
звук идет в замедленном темпе, при том что видео идет в нормальном

Expected Results:  
звук должен идти в нормальном темпе :) Как было в сборке от Master 2.4 (больше
мне сравнить не с чем - на сизиф перехал только что)
Comment 1 swi 2006-05-31 11:26:03 MSD
Поправка. Аудио кодек какая-то разновидность ac51. По прежнему xine может,
Mplayer и vlc не могут его тянуть нормально. Даже не знаю - баг это или кодеры
идиоты.
Comment 2 led 2006-10-25 17:39:21 MSD
(In reply to comment #1)

Проблема до сих пор существует?
Comment 3 Vyacheslav Dikonov 2007-05-14 00:52:28 MSD
Повидимому я наблюдаю эту же проблему. 

У меня это выглядит так: 

Около 15-20 секунд все играет нормально, затем начинается дикий пропуск кадров
(слайды-шоу) и заикание звука. Если промотать вперед или назад, то все
нормализуется опят на 15-20 секунд. На очень спокойных сценах эффект может не
проявляться. На динамике обязательно возникает. Если данные идут с DVD, то
видно, что обращения к диску идут с паузами, как будто mplayer перестает
наполнять буфер, и вдруг спохватывается, но уже поздно. На винте тоже самое 

Все это касается HD-видео 720p в контейнере mkv. Тот же фильм в avi играет
отлично. Мощности компьютера хватает и на большие потоки.
Comment 4 Slava Semushin 2008-03-11 15:14:35 MSK
Reassign to real maintainer.
Comment 5 Evgenii Terechkov 2008-05-17 19:41:30 MSD
У меня похожее, то же самое.
Проблема проявилась при переходе 1.0-alt35.25957.5 -> 1.0-alt35.26470.1. Звук
играется вроде бы и нормально (alsa), а видео (xv, драйвер для X=nv) замирает на
динамике, пока не прокрутишь. Причём в терминал в это время сыпется такое:

pts value <= previous:  7,226 ct: -0,183   0/  0 86%  8% 33,6% 444 0 46% 
pts value <= previous:  7,341 ct: -0,183   0/  0 87%  8% 33,6% 445 0 46% 
pts value <= previous:  7,391 ct: -0,183   0/  0 87%  8% 33,6% 446 0 46% 

Проверял на старой версий - там такой ругани нет.

Пишу сюда, потому что при -nosound проблема исчезает (т.е., плохо вроде именно
со звуком).

Звук в проблемном mkv-файле такой:

ID_AUDIO_ID=0
ID_AUDIO_ID=1
ID_AUDIO_FORMAT=MP4A
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=24000
ID_AUDIO_NCH=6
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
ID_AUDIO_CODEC=faad
Comment 6 led 2008-05-18 19:30:47 MSD
(In reply to comment #5)

А как на этом "проблемном файле" проигрывается с -aid 1 ?

Comment 7 Evgenii Terechkov 2008-05-19 02:59:59 MSD
(In reply to comment #6)
> (In reply to comment #5)
> А как на этом "проблемном файле" проигрывается с -aid 1 ?

То же самое - дёрганье и застывание картинки, только звук на японском.
Comment 8 Evgenii Terechkov 2009-01-10 01:27:28 MSK
С mplayer-1.0-alt35.27654.2 наблюдаю и вовсе странное:

Некоторые .mkv контейнеры у меня играются, но большинство - нет. Т.е. звука нет вообще, видео как бы есть, но как будто вечно на паузе - его можно перемотать на любой момент, но проигрываться оно не будет. Выбор разных -aid не влияет. При постановке на паузу у всех проблемных файлов наблюдается такая ругань в консоли:

[AO_ALSA] alsa-lib: pcm_hw.c:646:(snd_pcm_hw_pause) SNDRV_PCM_IOCTL_PAUSE failed: Дескриптор файла в плохом состоянии
[AO_ALSA] pcm pause error: Дескриптор файла в плохом состоянии

при указаний -ao {openal,sdl} воспроизведение не работает с теми же синдромами, но alsa-ругани при паузе нет. При -ao oss или -nosound отключает звук и размораживает видео (в первом случае т.к. нет /dev/dsp). Vlc эти же файлы (все) играет нормально.

Какую отладку показать на нормальные и проблемные файлы? А то программа малоюзабельна.

P.S.: и зависает при выходе с -ao openal
Comment 9 Evgenii Terechkov 2009-01-10 01:30:19 MSK
У кого нибудь ещё такое воспроизводится? А то вообще перестало играть после того как снял mplayer с hold-а.

P.S.: повысил серьёзность.
Comment 10 led 2009-01-10 04:51:49 MSK
(In reply to comment #9)
> P.S.: повысил серьёзность.

Вы можете повышать серъёзность ещё больше но это ничего не решит, как минимум до тех пор, пока не предоставите такой "проблемный mkv", или мейнтейнеру случайно не попадётся такой же "проблемный mkv". Предупреждаю, что мейнтейнер не "анимешник", так что второго варианта можно и не дождаться:)
Comment 11 Evgenii Terechkov 2009-01-10 08:57:23 MSK
Вам предоставить и проблемную "Войну и мир" (http://torrents.ru/forum/viewtopic.php?t=1218028) и безпроблемную "Зак и Мири снимаю порно" (http://torrents.ru/forum/viewtopic.php?t=1302950)  целиком? Это около 5.8Гб трафика (либо 821 Mb выдранного аудио).Я ж не зря спросил, как это отлаживать. Готов всемерно помогать.

Итак, с помощью mkvextract tracks выдрал аудио-треки из обоих файлов (в обоих по одной аудиодорожке). Как и ожидалось, первый файл не играется mplayer-ом вот так:

Playing Vojna_i_mir.x264.aac.
get_path('sub/') -> '/home/evg/.mplayer/sub/'
[file] File size is 588389913 bytes
STREAM: [file] Vojna_i_mir.x264.aac
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 32768  pre:1048576  eof:0  
Cache fill:  0,39% (32768 bytes)   
LAVF_check: ADTS AAC
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename Vojna_i_mir.x264.aac ext: .aac
Checking for Nullsoft Streaming Video
Checking for MOV
Checking for VIVO
AVS: avs_check_file - attempting to open file Vojna_i_mir.x264.aac
AVS: File is too big, aborting...
Checking for PVA
Checking for MPEG-TS...
TRIED UP TO POSITION 70999, FOUND 47, packet_size= 0, SEEMS A TS? 0
Checking for LMLM4 Stream Format
Invalid packet in LMLM4 stream: ch=65521 size=113245176
LMLM4 Stream Format not found
sync_mpeg_ps: seems to be MP3 stream...
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)  
MPEG packet stats: p100: 1  p101: 1 p1B6: 0 p12x: 0 sli: 2 a: 3 b: 0 c: 0 idr: 0 sps: 0 pps: 0 PES: 2  MP3: 151, synced: 0
Not MPEG System Stream format... (maybe Transport Stream?)
sync_mpeg_ps: seems to be MP3 stream...
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)  
MPEG packet stats: p100: 0  p101: 1 p1B6: 0 p12x: 0 sli: 2 a: 3 b: 0 c: 0 idr: 0 sps: 0 pps: 0 PES: 2  MP3: 151, synced: 0
Not MPEG System Stream format... (maybe Transport Stream?)
==> Found video stream: 0
ds_fill_buffer: EOF reached (stream: video)  
LAVF_check: ADTS AAC
libavformat file format detected.
(Тут думаем ~ 20 секунд)
LAVF_header: av_find_stream_info() failed
Checking for DV
demux_aac_probe, INIT: 0, PROBED: 1201, cnt: 8
AAC file format detected.
==> Found audio stream: 0
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
dec_audio: Allocating 192000 + 65536 = 257536 bytes for output buffer.
FFmpeg's libavcodec audio codec
Could not open codec.
ADecoder init failed :(
ADecoder init failed :(
Cannot find codec for audio format 0x4134504D.
Read DOCS/HTML/en/codecs.html!
Audio: no sound
Freeing 0 unused audio chunks.
Video: no video
Freeing 0 unused video chunks.

vo: x11 uninit called but X11 not initialized..

Exiting... (End of file)

Что бы это значило, я не знаю. У меня есть .mkv-файл, который нормально играется mplayer-ом, но вырезанный из него aac-трек не играется таким же образом (только там audio format 0xFF).

Второй трек mplayer-ом играется. Vlc играет оба.

P.S.: mkvinfo из репо не поставился :-(
Comment 12 Evgenii Terechkov 2009-01-10 14:33:15 MSK
Самый маленький пока mkv-файл, на котором наблюдаю проблему, здесь: ftp://94.73.192.77/video/test.mkv
Comment 13 Evgenii Terechkov 2009-01-10 16:45:12 MSK
Всё чудесатее и чудесатее:

при откате на mplayer-1.0-alt35.26470.1 (c доустановкой libdca, libvidix и libx264_0) проблемные файлы снова начинают играться, но перестают играться работающие на новой версий. Просто тёмный экран без звука.

В общем, творится что-то плохое с mplayer-ом.
Comment 14 led 2009-01-10 18:19:46 MSK
(In reply to comment #12)
> Самый маленький пока mkv-файл, на котором наблюдаю проблему, здесь:
> ftp://94.73.192.77/video/test.mkv

Если бы вы мне привели то, что выводится при проигрывании этого файла, то файл можно было бы присылать:

[aac @ 0xd50ca0]SBR not implemented. Update your FFmpeg version to the newest one from SVN. If the problem still occurs, it means that your file has a feature which has not been implemented.

Более чёткий багрепорт, чем эта строчка, трудно и придумать:)
Comment 15 Evgenii Terechkov 2009-01-10 19:12:37 MSK
Это вы о чём?

evg@evg ~ $ rpm -qa |egrep -i 'mplayer|ffmp'
cmus-in-ffmpeg-2.2.0-alt3
mplayer-1.0-alt35.27654.2
vlc-plugin-ffmpeg-0.9.6-alt1
smplayer-0.6.5.1-alt1

evg@evg ~ $ rpm -qR mplayer|grep -i ffm
[1]    28234 done       rpm -qR mplayer | 
       28235 exit 1     grep -i ffm

Предлагаете установить дополнительно что-то (всё что можно с моего зеркала сизифа я уже обновил)? Что именно и почему тогда этого что-то нет в зависимостях mplayer-а?
Comment 16 Evgenii Terechkov 2009-01-10 19:16:50 MSK
Хотя, это наверное значит, что надо подновить вшитую в пузо mplayer-а сборку ffmpeg, раз уж собирается статически.

Кто ж мог знать, что окажется важным в данном случае? У меня mplayer частенько всякую ругань сыпет.Привыкаешь к этому. Я её тоже пожалуй буду в багзиллу вешать :-)
Comment 17 led 2009-01-10 19:36:14 MSK
(In reply to comment #16)
> Хотя, это наверное значит, что надо подновить вшитую в пузо mplayer-а сборку ffmpeg,
> раз уж собирается статически.

Нет. Это значит, что internal faad не поддерживает некоторые форматы AAC. Поэтому нужно попробовать собрать mplayer с external (системным) faad.
Что я и сделал в mplayer-1.0-alt35.27654.3 (с ним ваш test.mkv проигрывается).
Проверьте, пожалуйста с ним (он отправлен в /i/S), в т.ч. и те файлы с AAC которые и раньше нормально проигрывались.
Comment 18 led 2009-01-18 22:23:21 MSK
mplayer-1.0-alt35.27654.3