ZED 10.05.2011 21:57
Есть проблема! — Mplayer и многодорожечный mkv
Собрал фильм в матрешке с кучей авторских переводов, но mplayer не хочет его воспроизводить.С демуксером mkv ругань такая:
[mkv] No video track found/wanted.
Matroska file format detected.
VIDEO: [avc1] 1920x1034 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
ID_DEMUXER=mkv
ID_VIDEO_FORMAT=avc1
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=1920
ID_VIDEO_HEIGHT=1034
ID_VIDEO_FPS=23.976
ID_VIDEO_ASPECT=1.8569
Too many audio packets in the buffer: (4103 in 4127618 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
ID_AUDIO_FORMAT=8193
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=6
ID_START_TIME=0.00
ID_LENGTH=8030.24
ID_SEEKABLE=1
ID_CHAPTERS=32
Opening video filter: [ass auto=1]
Couldn't open video filter 'ass'.
ASS: cannot add video filter
==========================================================================
Forced video codec: ffh264vdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264vdpau] vfm: ffmpeg (FFmpeg H.264 (VDPAU))
==========================================================================
ID_VIDEO_CODEC=ffh264vdpau
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 6 ch, s16le, 768.0 kbit/16.67% (ratio: 96000->576000)
ID_AUDIO_BITRATE=768000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=6
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
AO: [alsa] 48000Hz 6ch floatle (4 bytes per sample)
ID_AUDIO_CODEC=ffdca
[Mixer] No hardware mixing, inserting volume filter.
Starting playback...
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Exiting... (End of file)
ID_EXIT=EOF
Matroska file format detected.
VIDEO: [avc1] 1920x1034 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
[ass] ENCA detected charset: ASCII
ID_DEMUXER=mkv
ID_VIDEO_FORMAT=avc1
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=1920
ID_VIDEO_HEIGHT=1034
ID_VIDEO_FPS=23.976
ID_VIDEO_ASPECT=1.8569
Too many audio packets in the buffer: (4103 in 4127618 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
ID_AUDIO_FORMAT=8193
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=6
ID_START_TIME=0.00
ID_LENGTH=8030.24
ID_SEEKABLE=1
ID_CHAPTERS=32
Opening video filter: [ass auto=1]
Couldn't open video filter 'ass'.
ASS: cannot add video filter
==========================================================================
Forced video codec: ffh264vdpau
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264vdpau] vfm: ffmpeg (FFmpeg H.264 (VDPAU))
==========================================================================
ID_VIDEO_CODEC=ffh264vdpau
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 6 ch, s16le, 768.0 kbit/16.67% (ratio: 96000->576000)
ID_AUDIO_BITRATE=768000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=6
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
AO: [alsa] 48000Hz 6ch floatle (4 bytes per sample)
ID_AUDIO_CODEC=ffdca
[Mixer] No hardware mixing, inserting volume filter.
Starting playback...
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Too many audio packets in the buffer: (4100 in 4124600 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
Exiting... (End of file)
ID_EXIT=EOF
Возможно я нарвался на этот баг, поэтому попробовал демуксер lavf, но это тоже не помогло:
libavformat file format detected.
[matroska,webm @ 0x3383ec0] Too many streams
LAVF_header: av_open_input_stream() failed
Exiting... (End of file)
ID_EXIT=EOF
[matroska,webm @ 0x3383ec0] Too many streams
LAVF_header: av_open_input_stream() failed
Exiting... (End of file)
ID_EXIT=EOF
Другие плееры проигрывают файл нормально, но у них нет vdpau, поэтому данный факт мне мало чем может помочь. На саму матрешку грешить пока тоже нет причин, сколько лет собираю через mkvmerge, ни разу не было косяков. Самая вероятная причина это 15 аудио дорог в файле и плеер не может их всех закешировать, конечно у меня есть фильм и с 17 дорогами, но тут половина дорог в DTS с высоким битрейтом. Значит скорее всего можно увеличить кеш, только я хз как. Параметр "-cache" не влияет на кеширование аудио, его увеличение не помогло.
Пересобирать файл с меньшим количеством дорог не пробовал, т.к. скорее всего получится, только мне нужны все дороги до последней. О возможности подключать внешние дороги в плеере в курсе, но это тоже не выход.