Как заставить mplayer использовать субтитры?

398
Alex

Я пытаюсь использовать субтитры с файлом MKV следующим образом:

mplayer video.mkv mplayer -sub video.srt video.mkv mplayer video.mkv -sub video.srt 

но воспроизводилось только видео, но без субтитров. Я также нажимал несколько кнопок во время воспроизведения видео ('j', 'u', 's'), но без каких-либо изменений.

ОС: MacOS 10.13.16 mplayer: 1.3.0-4.2.1

Может я что-то упустил? Или mplayerдолжен быть составлен каким-то особым, сложным способом? Или библиотека отсутствует? Или потому что это Mac?

Есть ли способ использовать субтитры в файле SRT с видео MKV с mplayer?


Я попытался, как предложено в комментарии, чтобы установить конфигурацию, как показано здесь . Но я получаю следующую ошибку при воспроизведении mkvфайла с файлом srt в той же папке:

Warning unknown option subfont-text-scale at line 3 Warning unknown option subfont-osd-scale at line 4 The fontconfig option can't be used in a config file. Error parsing option fontconfig=yes at line 5 

Первые две записи в файле srt:

1 00:00:00,000 --> 00:00:05,000 <font face="Hiruko" size="38">Test</font>  2 00:00:05,000 --> 00:00:14,060 <font face="Hiruko" size="38">Subs: English</font> 

Текущее содержание .mplayer/config:

# Write your default config options here! subalign=2 font = "Arial" subcp = iso8859-1 # Set font. #font=/home/osmo/.fonts/microsoft-vista/calibri.ttf  # Set font encoding. subfont-encoding=unicode  # Set subtitle file encoding. unicode=yes utf8=yes 

Когда я просто играю файл следующим образом

mplayer -v video.mkv 

видео отлично воспроизводится со звуком, но без субтитров. Вывод в консоли следующий:

Configuration: --cc=clang --host-cc=clang --disable-cdparanoia --prefix=/usr/local/Cellar/mplayer/1.3.0 --disable-x11 CommandLine: '-v' 'video.mkv' Using Darwin accurate timing get_path('input.conf') -> '/Users/adietz/.mplayer/input.conf' Reading optional input config file /Users/adietz/.mplayer/input.conf: No such file or directory Reading optional input config file /usr/local/Cellar/mplayer/1.3.0/etc/mplayer/input.conf: No such file or directory Falling back on default (hardcoded) input config Can't init Apple Remote. get_path('video.mkv.conf') -> '/Users/adietz/.mplayer/video.mkv.conf'  Playing video.mkv. get_path('sub/') -> '/Users/adietz/.mplayer/sub/' [file] File size is 745530259 bytes STREAM: [file] video.mkv STREAM: Description: File STREAM: Author: Albeu STREAM: Comment: based on the code from ??? (probably Arpi) libavformat version 57.25.100 (internal) Configuration: --enable-gpl --enable-postproc LAVF_check: Matroska / WebM libavformat file format detected. st:0 removing common factor 1000000 from timebase st:1 removing common factor 1000000 from timebase [matroska,webm @ 0x103b35490]Before avformat_find_stream_info() pos: 5647 bytes read:32768 seeks:0 [h264 @ 0x103b53440]user data:"x264 - core 125 r2200 999b753 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:1:1 analyse=0x3:0x133 me=umh subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=4 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=0 weightp=2 keyint=240 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=20.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.40 aq=1:1.00" [h264 @ 0x103b53440]user data:"x264 - core 125 r2200 999b753 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:1:1 analyse=0x3:0x133 me=umh subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=4 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=0 weightp=2 keyint=240 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=20.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.40 aq=1:1.00" [h264 @ 0x103b53440]no picture  [matroska,webm @ 0x103b35490]All info found [matroska,webm @ 0x103b35490]After avformat_find_stream_info() pos: 213450 bytes read:229205 seeks:0 frames:12 ==> Found video stream: 0 ======= VIDEO Format ====== biSize 82 biWidth 1440 biHeight 1080 biPlanes 1 biBitCount 0 biCompression 875967048='H264' biSizeImage 0 Unknown extra header dump: [1] [64] [0] [28] [ff] [e1] [0] [19] [67] [64] [0] [28] [ac] [d9] [80] [5a] [2] [27] [e5] [c0] [44] [0] [0] [f] [a4] [0] [2] [ee] [2] [3c] [60] [c6] [68] [1] [0] [6] [68] [e9] [70] [6c] [b2] [2c]  =========================== [lavf] stream 0: video (h264), -vid 0 ==> Found audio stream: 1 ======= WAVE Format ======= Format Tag: 61868 (0xF1AC) Channels: 2 Samplerate: 48000 avg byte/sec: 0 Block align: 1 bits/sample: 24 cbSize: 34 Unknown extra header dump: [10] [0] [10] [0] [0] [1] [89] [0] [1e] [54] [b] [b8] [3] [70] [4] [6d] [31] [30] [6b] [fc] [52] [fd] [5d] [86] [7e] [6f] [3] [e] [0] [89] [52] [77] [46] [67]  ========================================================================== [lavf] stream 1: audio (flac), -aid 0 LAVF: 1 audio and 1 video streams found LAVF: build 3742052 VIDEO: [H264] 1440x1080 0bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s) [V] filefmt:44 fourcc:0x34363248 size:1440x1080 fps:23.976 ftime:=0.0417 2018-10-16 08:08:13.995 mplayer[62669:997915] *** WARNING: Textured window <NSWindow: 0x7fa16f51f4a0> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead. ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family libavcodec version 57.24.102 (internal) Configuration: --enable-gpl --enable-postproc INFO: libavcodec init OK! Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== Clip info: encoder: libebml v1.2.3 + libmatroska v1.3.0 creation_time: 2012-09-12 10:05:57 Load subtitles in ./ get_path('sub/') -> '/Users/adietz/.mplayer/sub/' [file] File size is 43583 bytes STREAM: [file] ./video.srt STREAM: Description: File STREAM: Author: Albeu STREAM: Comment: based on the code from ??? (probably Arpi) SUB: Detected subtitle file format: subviewer SUB: opened iconv descriptor. SUB: closed iconv descriptor. SUB: Read 318 subtitles, 0 bad line(s). SUB: Adjusted 102 subtitle(s). SUB: Added subtitle file (1): ./video.srt 

Полная mplayerустановка вывода:

$ brew install mplayer Updating Homebrew... ==> Downloading https://homebrew.bintray.com/bottles/mplayer-1.3.0.high_sierra.bottle.tar.gz Already downloaded: /Users/adietz/Library/Caches/Homebrew/downloads/2c54638881d1afb804282a3afa22709af0d3dec157559541892847a555610955--mplayer-1.3.0.high_sierra.bottle.tar.gz ==> Pouring mplayer-1.3.0.high_sierra.bottle.tar.gz /usr/local/Cellar/mplayer/1.3.0: 11 files, 26.9MB 
2
Попробуйте установить в «~ / .mplayer / config» параметр, который [найден здесь] (http://soad1982.blogspot.com/2009/07/mplayer-play-with-subtitles.html). harrymc 5 лет назад 0
Спасибо за информацию, но теперь я получаю ошибку. Смотрите обновленный вопрос ... Alex 5 лет назад 0
Этот совет был, по-видимому, для другой версии mplayer, возможно, не для Mac. В любом случае, я бы посоветовал проверить файл конфигурации на предмет записей, связанных с субтитрами. harrymc 5 лет назад 0
Да, и что я должен положить в файл конфигурации, чтобы он работал ...? Alex 5 лет назад 0
Я не знаю - может быть, вы должны опубликовать это здесь. harrymc 5 лет назад 0
Но я задал вопрос, чтобы получить ответ. У меня проблема с использованием субтитров в mplayer. Вот почему я задаю вопрос здесь. Я надеюсь получить ответ о том, как решить мою проблему. Потому что я не знаю, как решить эту проблему. Поэтому я задал вопрос. - Может быть, вы неправильно поняли, для чего используется «StackOverflow» ... Alex 5 лет назад 0
Возможно, вы неправильно поняли: вы должны работать с нами над вашей проблемой и предоставлять любую дополнительную информацию, которая нам необходима. Тем не мение. Я ухожу. harrymc 5 лет назад 0
Так какая дополнительная информация вам нужна ...? Alex 5 лет назад 0
Как вы установили / скомпилировали `mplayer`? С "варкой"? Как-то иначе? dirkt 5 лет назад 0
Я не помню, как я установил mplayer. Вероятно, с "варево" ... Alex 5 лет назад 0
Не могли бы вы опубликовать содержимое файла `~ / .mplayer / config`? harrymc 5 лет назад 0
See updated question... Alex 5 лет назад 0
Do You see a line starting with `SUB:`? Tomasz Jakub Rup 5 лет назад 0
No... I do not see such a line... Alex 5 лет назад 0
Please show full output Tomasz Jakub Rup 5 лет назад 0
Полный вывод чего? Команда `mplayer`? Файл `config`? Файл субтитров? Alex 5 лет назад 0
@Alex, полный вывод команды `mplayer` Tomasz Jakub Rup 5 лет назад 0
@TomaszJakubRup: добавлен полный вывод Alex 5 лет назад 0
@ Алекс, пожалуйста, запустите `mplayer -v video.mkv` и покажите строку вывода, начинающуюся с` Configuration: `и всего раздела` Информация о клипе: ` Tomasz Jakub Rup 5 лет назад 0
@TomaszJakubRup: я обновил вопрос ... Alex 5 лет назад 0
Обновленный вопрос ... Alex 5 лет назад 0

2 ответа на вопрос

0
dirkt

Частичный ответ:

Я попытался установить пакет homebrew mplayerс файлом test5.mkvс субтитрами из набора тестов matroska (чтобы результаты были воспроизводимыми).

Как и в вашем журнале, я получаю сообщение об ошибке Cannot load bitmap font 'Arial', в то время как другие сообщения журнала указывают, что сама дорожка субтитров правильно распознана.

Таким образом, проблема заключается в загрузке шрифтов. Я попробовал несколько вариантов с -font(как путь и шаблон fontconfig), с и без -fontconfig. Я также установил необработанные растровые шрифты, предоставляемые mplayer. Я также попытался создать subfont.ttfсимволическую ссылку. Он всегда жалуется, что растровый шрифт не может быть загружен, независимо от того, является ли он действительно необработанным растровым шрифтом или шрифтом TrueType.

Я также обнаружил, что хотя доморощенные списки fontconfigявляются зависимостью, mplayerсам по себе жалуется при запуске на -v -vто, что он не собран с включенным fontconfig.

Так что все это, кажется, указывает на то, что доморощенный напиток по какой-то причине сломан.

Следующим шагом для меня (если бы мне нужен был mplayer) было бы скомпилировать mplayer из исходного кода и выяснить, есть ли ошибки конфигурации, когда его заваривает самодельный напиток, но я не уверен, хотите ли вы (или можете) зайти так далеко, если мне следует успешный.

Другим вариантом было бы пожаловаться тому, кто управляет формулой доморощенного напитка, и попросить его изучить его.

0
Tomasz Jakub Rup

Вы, вероятно, mplayerбез freetypeиfontconfig

Configuration: --cc=clang --host-cc=clang --disable-cdparanoia --prefix=/usr/local/Cellar/mplayer/1.3.0 --disable-x11 Configuration: --enable-gpl --enable-postproc 

Возможные решения:

  • Установите растровые шрифты с сайта mplayer и распакуйте их в ~/.mplayer(подробности смотрите в документации по mplayer

  • Вы говорите, что установлены mplayerс brew. Установите mplayerснова freetypeи fontconfigподдержка.

    Удалить mplayerи:

    brew install freetype brew install fontconfig brew install --build-from-source mplayer 

    В теории mplayerможно обнаружить fontconfigи freetypeи включить его.

РЕДАКТИРОВАТЬ:

Чтобы перечислить все возможные флаги, используйте:

brew info mplayer 
Как установить `mplayer` с флагами? Я искал его, но нашел только `brew install mplayr`. Также на сайте шрифтов: какой файл скачать? Или все это? Alex 5 лет назад 0
`Предупреждение: mplayer: эта формула не имеет опции --with-fontconfig, поэтому она будет проигнорирована!` Alex 5 лет назад 0
@ Алекс смотри мое редактирование Tomasz Jakub Rup 5 лет назад 0
Спасибо за обновление, но для двух библиотек сказано, что они уже установлены (т. Е. `Предупреждение: fontconfig 2.13.1 уже установлен и обновлен`, и то же самое для других). Переустановка mplayer, таким образом, все еще не устранила проблему. Может быть, на Mac нет субтитров? Alex 5 лет назад 0
@Alex Пожалуйста, покажите полный вывод `brew install mplayer` Tomasz Jakub Rup 5 лет назад 0
Я принял ответ, хотя и не решил. Компьютеры Mac - только худшее из худших. Они все просто мусор. Я запускаю команду `mplayer` в Ubuntu, и она работает отлично. Спасибо за ваше время и за ваше терпение, Alex 5 лет назад 0
Вы приняли не мой ответ, но спасибо. Tomasz Jakub Rup 5 лет назад 0
Вот так! Теперь все должно быть в порядке ... Alex 5 лет назад 0
@Alex `brew install mplayer` установить` mplayer` из бутылки (бинарная версия, без freetype и fontconfig). `brew install --build-from-source mplayer` установить` mplayer` из исходного кода. Tomasz Jakub Rup 5 лет назад 0