Трпдиционно, для кодирования кириллических .srt-субтитров использовалась и используеться CP-1251. По умолчанию, такой кодировки ожидают многие проигрыватели и mkvmerge. Насколько я понял, ты писал .srt-скрипт изначально в уникоде, потом с соответствующим ключом муксил через mkvmerge, т.е. проблем с кодировками нет. Попробуй поставить default-flag для русских субтитров и кормить выходную матрёшку mplayer'у без дополнительных ключей.
Кстати, не помешало бы дать вывод mplayer'a - в нём вся соль :-)
В качестве примера могу показать следующее. У меня есть закоженый в личную коллекцию кинофильм "Girl Interrupted" (первое, что попалось по руку). Вот вывод mplayer'a:
Код: Выделить всё
lang rus
MPlayer 1.0rc1-4.1.2 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (Family: 15, Model: 2, Stepping: 9)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
Playing /media/hdb5/Bonus.vid/girl_int.mkv.
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC) "VideoStream", -vid 0
[mkv] Track ID 2: audio (A_AAC/MPEG4/LC) "Russian 5.1", -aid 0, -alang rus
[mkv] Track ID 3: audio (A_AAC/MPEG4/LC) "English 5.1", -aid 1, -alang eng
[mkv] Track ID 4: audio (A_AAC/MPEG4/LC) "Director's Comments", -aid 2, -alang eng
[mkv] Track ID 5: subtitles (S_TEXT/UTF8) "Russian Subtitles", -sid 0, -slang rus
[mkv] Track ID 6: subtitles (S_TEXT/UTF8) "English Subtitles", -sid 1, -slang eng
[mkv] Will play video track 1
[mkv] Will display subtitle track 5
Matroska file format detected.
VIDEO: [avc1] 640x352 24bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 640 x 352 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.85:1 - prescaling to correct movie aspect.
VO: [xv] 640x352 => 652x352 Planar YV12
Как можно заметить, в матрёшке целых щесть дорожек. Флаги default-flag в mkvmerge я ставил на: Track ID 1, Track ID 2, Track ID 5. Пускал mplayer твоей командной строкой. Всё играеться превосходно: слышу русскую дорожку звука (по умолч.) и вижу только одни русские субтитры. Если дыть команду
Код: Выделить всё
$mplayer /media/hdb5/Bonus.vid/girl_int.mkv -slang eng
, то увижу только английские субтитры.
Наверняка не скажу (ибо надо увидеть вывод твоего mplayer'a), но, судя по картинке, в рендеринг ушли субтитры из матрёшки и субитры из каталога в котором лежит матрёшка - возможно mplayer их тоже подгрузил :-) - ищи в выводе строчки типа:
Код: Выделить всё
SUB: Detected subtitle file format: ssa
SUB: Read 263 subtitles.
LIBASS: added subtitle file: ./Kemonozume - 01.ass (4 styles, 263 events)
SUB: Added subtitle file (1): ./Kemonozume - 01.ass
[ass] auto-open
[ass] Init
В этих строчках я играю онимэ с внешними сабами .ass...
Кстати, самый эргономичный фронт к mplayer'у - это SMPlayer ;-)