Intereting Posts
Flash Debugger на Slackware 64 find: Почему оператор -a не коммутативен в комбинации с -print? Ошибка при добавлении пользователя ssh Невозможно договориться: «не найден соответствующий шифр», отклоняет cbc Как можно отключить интерфейс конфигурации связи после того, как подчиненные интерфейсы были отключены mock rebuild srpm автоматически вычисляет нежелательные зависимости Как применить iptables SNAT к пакетам, привязанным к localhost (цепочка INPUT)? Как создать список адресов электронной почты из результата ldapsearch для дальнейшей обработки? Малый офисный сервер и UID-перевод Каков самый Unix-y способ обработки stdout для команды резервного копирования, которая может завершиться неудачей? Невозможно загрузить в Windows после обновления таблицы разделов загрузки Два IP-адреса, назначенные одной и той же сетевой карте – проблемы с OpenVPN? Низкий системный вызов Torrent с графическим интерфейсом для Gnome на CentOS 6? Истекшее время в gdb

Запустить mplayer с помощью x11 из текстовой консоли?

Я хочу иметь возможность воспроизводить качественное видео с текстовой консоли. У меня есть два варианта, ни один из которых не идеален:

  1. У меня есть mplayer, настроенный для использования опции -vo fbdev2 , которая, как я понимаю, напрямую использует буфер кадров, предоставляемый linux. Это работает, но это не лучшее качество.

  2. У меня есть сценарий, который изменяется на tty 7, чтобы воспроизвести видео, а затем изменится. Таким образом, я получаю качество X, но есть несколько вопросов:

Проблемы со вторым методом заключаются в следующем.

  1. Если я не войду в сеанс gui на tty7, видео не отображается (я просто смотрю на экран входа в систему).

  2. Содержимое сеанса gui мигает, когда игрок сделан. Неважно, но это просто выглядит неуклюже.

  3. Если я изменю tty во время видео, я вернусь к tty, который запустил видео, когда видео будет исполнено.

Я хотел бы воспроизвести видео с текстовой консоли (tty1-6) с помощью X. Насколько я могу судить, это единственный способ получить качественное видео и заставить его действовать так, как будто он играет на консоли, которую я использую.

Любые советы о том, как настроить текстовую консоль для запуска mplayer в X, будут высоко оценены!

ПРИМЕЧАНИЕ 1. Я думаю, что старая установка, которую я имел в Ubuntu 14, делала это автоматически, когда был вызван mplayer, поскольку mplayer играл с хорошим качеством с текстовой консоли. У меня больше нет настроек для проверки.

ПРИМЕЧАНИЕ 2. Что происходит, когда я просто вызываю mplayer с vo -x11 это то, что он не может найти отображение, поскольку DISPLAY не установлен. Единственное допустимое значение для DISPLAY :0[.0] , и когда я использую этот дисплей, видео воспроизводится в tty7, но принимает stdin из tty, который вызвал видео.

ПРИМЕЧАНИЕ 3. Я запускаю Ubuntu Mate 16.04.1, amd64 и испытываю ту же проблему на нескольких таких системах с различными видеокартами.

Превратив мой комментарий в ответ:

Моя лучшая рекомендация – использовать mpv , который поддерживает драйверы видео-выхода (и многое другое!), Которые нет в AFAIK mplayer. Хотя развитие mplayer недавно наблюдало некоторую активность, в течение длительного времени (mplayer 1.1: June 2012, 1.2: October 2015), он был фактически мертв. mpv, с другой стороны, имеет последовательные выпуски с момента его первого в августе 2013 года; это честно далеко впереди mplayer на данный момент.

С помощью mpv вы можете напрямую использовать настройку режима ядра и прямой менеджер рендеринга (DRM) с помощью mpv -vo drm FILE . Это должно обеспечить полноразмерный выход с полным разрешением, но без аппаратного ускорения (я не считаю, что fbdev2 когда-либо имел аппаратное ускорение). Если ваш mpv скомпилирован с ним, вы также можете использовать выход OpenGL / DRM (который ускоряется аппаратными средствами): mpv -vo opengl:backend=drm-egl FILE . Вы можете проверить, какие mpv -vo opengl:backend=help перечислены в mpv -vo opengl:backend=help

Кроме того, вы можете запустить X-сервер без среды рабочего стола. Например, в зависимости от того, как ваш дистрибутив настроил все необходимые разрешения, вы можете запустить X-сервер, запускающий только mplayer (и выходящий, когда mplayer завершает работу), используя что-то вроде этого:

 startx /usr/bin/mpv FILE -- :1 # full path required; runs w/o xterm startx -e mpv FILE -- :1 # runs it inside an xterm, which you'll probably see flicker on screen at start/exit. 

Конечно, вы можете использовать что-то вроде $(command -v mpv) чтобы получить полный путь для первой формы. Это запускает отображение: 1, запускает mpv на нем, а затем выключает X-сервер, когда mpv завершен (я пытался с mplayer, но он не работал на моем компьютере, возможно, mplayer просто сломался на моей машине, Я не использовал его с момента перехода на mpv). Вы также можете оставить X-сервер, работающий с рабочей средой. Вы можете найти что-то вроде nodm полезного для запуска X-сервера без среды рабочего стола.