IPB

Здравствуйте, гость ( Вход | Регистрация )

> mplayer в консоли, упрощение просмотра видеофайлов в консоли
Поделиться
speccyfighter
сообщение 11.1.2018, 20:10
Сообщение #1


Крупный специалист
*****

Группа: Пользователь
Сообщений: 461
Регистрация: 1.5.2013
Вставить ник
Цитата
Пользователь №: 2379
Страна: Беларусь
Город: Не указан
Пол: Муж.



Репутация: 1


Включил два ноутбука с дисплеями разных пропорций и достал костыллятор:

Всё что ниже, потенциально предназначено для консольных дистрибутивов повседневного пользовательского уровня с уровнем пользователя от среднего и ниже.
А также поиск путей упрощения запуска медиаконтента в консоли.
С доведением консольных систем до повседневного использования.


Первый скрипт:
Воспроизводит все видеофайлы с любыми пропорциями на дисплеях с любыми пропорциями.
Формат запуска:
Код
$ mplayer-vc /путь/к/видеофайлу


На дух не переносит пробелов в пути:
$@ отдельные куски полного пути разделённые пробелами воспринимает как отдельные параметры и режет бэкслэши.
Как справиться с этим не знаю.

Листинг скрипта:
Код
$ cat ~/mplayer-vc
#!/bin/bash

VIDEOFILE=$(echo "$@")


# Разрешение оригинального видеофайла по X
VIDEOWIDTH=`mediainfo $VIDEOFILE | grep 'Width' | awk '{printf $3}'`
# Разрешение оригинального видеофайла по Y
VIDEOHEIGHT=`mediainfo $VIDEOFILE | grep 'Height' | awk '{printf $3}'`
# Пропорции изоражения видео в десятичном виде
ASPECTMP=`mediainfo $VIDEOFILE | grep 'Display aspect ratio' | rev | awk '{printf $1}' | rev | sed 's/:/\//'`
VIDEOASPECT=`echo $ASPECTMP | bc -l | sed 's/^\(......\).*/\1/'`
# Пропорции фреймбуфера в десятичном виде
FBASPECT=`fbset --test | grep mode | awk -F '"' '{print $2}' | sed 's/x/\//' | bc -l |sed 's/^\(......\).*/\1/'`
# Разрешение фреймбуфера по Y в пикселах
FBHEIGHT=`fbset --test | grep mode | awk -F '"' '{print $2}' | awk -F 'x' '{printf $2}'`


# Если видеофайл с пропорциями 4x3 воспроизводится в widescreen мониторе, то
# вычислить коэффициент масштабирования до Y фреймбуфера
# и далее использовать этот коэффициент
# для получения предела промасштабирования видео по X
if [ "$VIDEOASPECT" == 1.3333 -a "$FBASPECT" > 1.3333 ];
    then
        VSIZEXXX=`echo "$FBHEIGHT/$VIDEOHEIGHT" | bc -l`
        XVSIZE=`echo "$VIDEOWIDTH*$VSIZEXXX" | bc -l`
# иначе вычислить X фреймбуфера
    else
        XVSIZE=`fbset --test|grep geometry|awk '{print $2}'`
fi

# пропорционально масштабировать по коэффициенту
# до X фреймбуфера, - в переменной XVSIZE
setterm --blank 0; mplayer -nocache -softvol -xy $XVSIZE -fs -zoom $VIDEOFILE &>/dev/null

XVSIZE (переменная):
X - координата
V - видео, видеофайл
SIZE - размер собственно
XVSIZE - размер видео в пикселах в полный экран по координате X



Другой вариант этой мысли упрощения просмотра видеофайлов в консоли:
Это использовать алиас
Код
$ ls -l /etc/bashrc.d/mplayer.sh
-rwxr-xr-x 1 root root 110 янв 11 18:43 /etc/bashrc.d/mplayer.sh

Код
$ cat /etc/bashrc.d/mplayer.sh
alias mplayer-vofbdev="setterm --blank 0; mplayer -nocache -softvol -xy $(fbset --test|grep geometry|awk '{print $2}') -fs -zoom &>/dev/null"


Формат запуска для просмотра видео в консоли
Код
$ mplayer-vofbdev /путь/к\ какому\ то\ видео\ файлу


Достоинства:
Промасштабирует видео в плюс или минус до разрешения фреймбуфера. Обрабатывает пробелы в пути.

Недостаток:
На дух не переваривает воспроизведение видео с пропорциями 4x3 в widescreen мониторе.

Суть проблемы:
-xy N
масштабирует по X до размера фреймбуфера по X и если видео по Y выходит за пределы координаты, mplayer откажется отображать видео.
При просмотре видеофайла с пропорцией 4x3 на widescreen мониторе, сначала требуется масштабировать по Y и пропорционально масштабировать по X.
Предварительно запросив разрешение и пропорции видеофайла.


Такие вот невесёлые пирожки с котятами...

Сообщение отредактировал speccyfighter - 12.1.2018, 11:50
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
speccyfighter
сообщение 23.7.2020, 21:24
Сообщение #2


Крупный специалист
*****

Группа: Пользователь
Сообщений: 461
Регистрация: 1.5.2013
Вставить ник
Цитата
Пользователь №: 2379
Страна: Беларусь
Город: Не указан
Пол: Муж.



Репутация: 1


Проверил в альте версию 0.36.
При воспроизведении, единственная замеченная "сопля", это по прерывании бесконечного цикла, нужно очищать экран. Иначе например help наложится на последнее изображение, на котором прерван бесконечный цикл. Или по выходу из бесконечного цикла, выполнить clear.
В остальном нормально. Ну может быть ещё help слегка подчистить от намёков на X-сы, в которых mplayer-vc 0.36+ запускаться не будет.
В ледяном не проверял, но заработает без эквилибристики как в альтовом pam0_console.
Упрощение проигрывания видео в tty сделано по-максимуму. И проще, на мой взгляд, уже просто некуда.

Главное, что в виртуальной консоли, мозг не будет ломать километрами опций и параметров.
И при этом, не будет требовать феноменальных мощностей железа и 4D. Видео заработает на всём, что хоть как-то можно сегодня назвать компьютером.


Сообщение отредактировал speccyfighter - 23.7.2020, 21:29
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 23.7.2020, 21:55
Сообщение #3


Крупный специалист
*****

Группа: Пользователь
Сообщений: 461
Регистрация: 1.5.2013
Вставить ник
Цитата
Пользователь №: 2379
Страна: Беларусь
Город: Не указан
Пол: Муж.



Репутация: 1


Цитата(speccyfighter @ 23.7.2020, 19:24) *
Проверил в альте версию 0.36.
- При воспроизведении, единственная замеченная "сопля", это по прерывании бесконечного цикла, нужно очищать экран. Иначе например help наложится на последнее изображение, на котором прерван бесконечный цикл. Или по выходу из бесконечного цикла, выполнить clear.
- В остальном нормально. Ну может быть ещё help слегка подчистить от намёков на X-сы, в которых mplayer-vc 0.36+ запускаться не будет.

Исправлено в последнем полном листинге.
Версия повышена до 0.36.1
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 23.7.2020, 22:11
Сообщение #4


Профессионал
*******

Группа: Пользователь
Сообщений: 4384
Регистрация: 17.9.2009
Вставить ник
Цитата
Пользователь №: 1617
Страна: Россия
Город: Санкт-Петербург
Пол: Муж.



Репутация: 20


Цитата(speccyfighter @ 23.7.2020, 21:55) *
Исправлено в последнем полном листинге.
Версия повышена до 0.36.1

Юра , в Aur-е лежит твой mplayer-vc с версией 0.4.0 :
https://aur.archlinux.org/packages/mplayer-vc/
Может тогда еще повысишь версию и пушнуть его в aur ?
В ледяной то я его могу и так подсунуть тут проблем с версиями нет.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- speccyfighter   mplayer в консоли   11.1.2018, 20:10
- - kostyalamer   Юра, может из первого скрипта собрать пакет, чтобы...   12.1.2018, 8:41
|- - speccyfighter   Цитата(kostyalamer @ 12.1.2018, 6:41) Фиг...   12.1.2018, 11:32
- - kostyalamer   Юра, пакет я собрал, проверил и залил в p8 32-бита...   12.1.2018, 20:48
|- - speccyfighter   Цитата(kostyalamer @ 12.1.2018, 18:48) Юр...   13.1.2018, 9:50
- - speccyfighter   Ничему и никому не доверяй. Доверяй только термина...   13.1.2018, 10:19
- - dango_   Мне подождать опакечивание новой версии?   13.1.2018, 11:36
|- - speccyfighter   Цитата(dango_ @ 13.1.2018, 9:36) Мне подо...   13.1.2018, 11:37
- - speccyfighter   Линукс, ты тупой как пень стоеросовый. Я из-за теб...   13.1.2018, 21:45
- - speccyfighter   Новая версия mplayer-vc-0.2 Изменения в версии 0....   13.1.2018, 23:55
- - speccyfighter   Изменён скрипт mplayer-vc Код$ sdiff -w 230 ...   11.6.2018, 13:36
- - speccyfighter   Скрипт проигрывает только локальные файлы. Но скаж...   11.6.2018, 14:39
- - speccyfighter   Окончательный вариант скрипта mplayer-vc v0.2.1 И...   12.6.2018, 14:23
|- - kostyalamer   Цитата(speccyfighter @ 12.6.2018, 14:23) ...   12.6.2018, 20:45
|- - speccyfighter   mplayer-vc (Movie Player for Virtual Console) для ...   28.10.2019, 22:08
- - knn   Цитата(speccyfighter @ 11.1.2018, 20:10) ...   31.10.2019, 23:09
- - knn   # потом уже увидел дату первого сообщения ( не зна...   1.11.2019, 6:59
- - kostyalamer   Спасибо Юра, проверил - отлично работает ! При...   4.11.2019, 8:46
|- - speccyfighter   Цитата(kostyalamer @ 4.11.2019, 6:46) Спа...   5.11.2019, 23:25
|- - YYY   Цитата(speccyfighter @ 5.11.2019, 23:25) ...   6.11.2019, 12:15
||- - speccyfighter   Цитата(YYY @ 6.11.2019, 10:15) а может пр...   6.11.2019, 20:23
||- - speccyfighter   Цитата(speccyfighter @ 6.11.2019, 18:23) ...   6.11.2019, 21:05
|- - kostyalamer   Цитата(speccyfighter @ 5.11.2019, 23:25) ...   6.11.2019, 21:48
- - kostyalamer   Юра, вот vo из mplayer-а играющего из под qtermina...   6.11.2019, 22:42
|- - speccyfighter   Цитата(kostyalamer @ 6.11.2019, 20:42) Юр...   7.11.2019, 0:01
- - speccyfighter   Система на alt-p8-sysv-tde-i586: Тест в tty и pts ...   7.11.2019, 6:49
|- - kostyalamer   Цитата(speccyfighter @ 7.11.2019, 6:49) С...   7.11.2019, 8:28
|- - speccyfighter   Цитата(kostyalamer @ 7.11.2019, 6:28) Цит...   7.11.2019, 19:50
- - speccyfighter   Оттестировал последнюю версию скрипта на этом лайв...   7.11.2019, 20:37
- - kostyalamer   Юра, хз чего там в Альте, но в Арче твой скрипт пр...   7.11.2019, 20:52
|- - speccyfighter   Цитата(kostyalamer @ 7.11.2019, 18:52) Юр...   7.11.2019, 21:17
|- - knn   Цитата(kostyalamer @ 7.11.2019, 20:52) Юр...   25.11.2019, 9:34
|- - kostyalamer   Цитата(knn @ 25.11.2019, 9:34) и в Links...   25.11.2019, 22:10
- - speccyfighter   Потрахался в лайве Код$ cat /image/.disk/info...   8.11.2019, 21:05
- - kostyalamer   Да, не слабо , жуть какая то. Видимо простой лин...   8.11.2019, 22:16
|- - speccyfighter   Цитата(kostyalamer @ 8.11.2019, 20:16) Да...   8.11.2019, 22:36
|- - speccyfighter   Цитата(kostyalamer @ 8.11.2019, 20:16) на...   8.11.2019, 22:56
|- - kostyalamer   Цитата(speccyfighter @ 8.11.2019, 22:56) ...   8.11.2019, 23:29
- - speccyfighter   Хорошо. Так и порешили. Как доведу шэлл-код до ума...   8.11.2019, 23:37
- - speccyfighter   Скрипт mplayer-vc переведён, исправлен и готов в т...   9.11.2019, 2:32
- - speccyfighter   Завершающий этап тестирования в p8-sysv-tde и p9-x...   11.11.2019, 8:10
|- - kostyalamer   Цитата(speccyfighter @ 11.11.2019, 8:10) ...   11.11.2019, 8:29
|- - speccyfighter   Цитата(kostyalamer @ 11.11.2019, 6:29) Ка...   12.11.2019, 0:38
- - speccyfighter   Было "хорошо", стало "ещё лучше...   11.11.2019, 10:21
- - speccyfighter   Сейчас на прогоне этот скрипт. Прошёл тест на IceA...   11.11.2019, 10:44
- - kostyalamer   Тогда так наверное и сделаем в Арче будет mplayer-...   12.11.2019, 8:51
|- - speccyfighter   Цитата(kostyalamer @ 12.11.2019, 6:51) Да...   13.11.2019, 3:46
||- - kostyalamer   Цитата(speccyfighter @ 13.11.2019, 3:46) ...   13.11.2019, 8:22
|- - speccyfighter   Цитата(kostyalamer @ 12.11.2019, 6:51) Да...   13.11.2019, 4:34
- - kostyalamer   Юра , вот пакет : https://yadi.sk/d/wpOpaxqCL9j4d...   13.11.2019, 23:30
|- - speccyfighter   Цитата(kostyalamer @ 13.11.2019, 21:30) Ю...   14.11.2019, 7:11
|- - kostyalamer   Нет исходники лежат тут : http://altlinuxclub.ru/a...   14.11.2019, 8:06
- - kostyalamer   Юра, твой скрипт в Aur-е : https://aur.archlinux.o...   14.11.2019, 23:58
- - kostyalamer   В связи с недавно изменившимся стандартом : https:...   15.11.2019, 17:07
|- - speccyfighter   Цитата(kostyalamer @ 15.11.2019, 15:07) В...   16.11.2019, 1:33
- - speccyfighter   Масса полезнейшего инфо по bash (для mplayer-vc) ...   24.11.2019, 0:39
- - speccyfighter   Обработчик указанного пути для mplayer-vc: Код...   24.11.2019, 12:24
|- - YYY   Цитата(speccyfighter @ 24.11.2019, 12:24)...   24.11.2019, 16:43
- - speccyfighter   Код$ cat mplayer-vc-N02--single-or-many # One...   25.11.2019, 0:23
- - speccyfighter   Число, это математическая величина и пишется она б...   27.11.2019, 7:36
- - speccyfighter   Похоже есть способ получше чем mediainfo: Идентифи...   27.11.2019, 9:40
- - speccyfighter   Обработчик нажатия клавиши Qq для выхода из бескон...   28.11.2019, 10:10
- - speccyfighter   mplayer-vc версии 0.4.0 Код#!/bin/bash # mp...   28.11.2019, 13:48
- - speccyfighter   Ещё один недостаток mplayer-vc 0.4.0 - Субтитры в...   28.11.2019, 20:22
- - kostyalamer   Отправил в Aur : https://aur.archlinux.org/package...   28.11.2019, 21:32
|- - speccyfighter   Цитата(kostyalamer @ 28.11.2019, 19:32) О...   28.11.2019, 21:50
|- - kostyalamer   Цитата(speccyfighter @ 28.11.2019, 21:50)...   28.11.2019, 22:04
|- - speccyfighter   Цитата(kostyalamer @ 28.11.2019, 20:04) В...   28.11.2019, 23:30
- - knn   - у меня нет звука (и его регулировки) ни в Х, ни ...   29.11.2019, 8:16
- - knn   как снять выхлоп( "беззвучный") - не зна...   29.11.2019, 8:33
- - kostyalamer   У меня в консоли все нормально, звук есть , а в X-...   29.11.2019, 8:35
|- - knn   Цитата(kostyalamer @ 29.11.2019, 8:35) PS...   29.11.2019, 8:39
|- - speccyfighter   Цитата(kostyalamer @ 29.11.2019, 6:35) У ...   29.11.2019, 19:24
|- - kostyalamer   Цитата(speccyfighter @ 29.11.2019, 19:24)...   29.11.2019, 19:46
- - speccyfighter   В лайве IceArch-0.988 у меня всё намного хуже чем ...   30.11.2019, 8:14
- - kostyalamer   Юра, xterm есть в ледяном, но он не дружит с кирил...   30.11.2019, 8:47
|- - speccyfighter   Цитата(kostyalamer @ 30.11.2019, 6:47) На...   30.11.2019, 9:47
|- - kostyalamer   Цитата(speccyfighter @ 30.11.2019, 9:47) ...   30.11.2019, 10:38
- - kostyalamer   ЦитатаНо будем оптимистами smile.gif - у меня всё ...   30.11.2019, 9:26
- - speccyfighter   В секцию выбора устройства вывода, в версию 0.35, ...   14.7.2020, 14:12
- - speccyfighter   Секция должна выглядеть где-то так: Код# Option / ...   23.7.2020, 17:20
- - speccyfighter   Полный листинг mplayer-vc v0.36.1 Код#!/bin/ba...   23.7.2020, 17:46
- - speccyfighter   Проверил в альте версию 0.36. При воспроизведении,...   23.7.2020, 21:24
|- - speccyfighter   Цитата(speccyfighter @ 23.7.2020, 19:24) ...   23.7.2020, 21:55
|- - kostyalamer   Цитата(speccyfighter @ 23.7.2020, 21:55) ...   23.7.2020, 22:11
|- - speccyfighter   Цитата(kostyalamer @ 23.7.2020, 20:11) Юр...   23.7.2020, 22:26
|- - kostyalamer   Цитата(speccyfighter @ 23.7.2020, 22:26) ...   23.7.2020, 22:35
- - kostyalamer   Собрал пакет , погонял на рабочей системе в чистой...   24.7.2020, 8:51
- - kostyalamer   К сожалению aur немного прилег : Цитата503 - Servi...   24.7.2020, 22:56
- - kostyalamer   Залил в Aur : https://aur.archlinux.org/packages/m...   25.7.2020, 1:07
- - knn   Так, к слову, чтоб не было прецедентов по окончате...   25.7.2020, 17:19
|- - speccyfighter   Цитата(knn @ 25.7.2020, 15:19) Так, к сло...   25.7.2020, 19:19
- - knn   Цитата(speccyfighter @ 25.7.2020, 19:19) ...   25.7.2020, 19:29
- - knn   Юрий, тут тогда вопрос по "смежной теме...   25.7.2020, 19:57
- - speccyfighter   Про screen я не в курсе. О нём у меня представлени...   25.7.2020, 22:54
- - knn   падение Иксов от `mpv --vo=drm file` - сей...   26.7.2020, 4:39
|- - speccyfighter   Цитата(knn @ 26.7.2020, 2:39) `mpv --...   26.7.2020, 13:04
- - knn   - получается относительно давно с iptv-mplayer-con...   26.7.2020, 7:30
|- - speccyfighter   Цитата(knn @ 26.7.2020, 5:30) pps с запущ...   26.7.2020, 13:30
- - knn   - кроме азбуки похоже пригодятся и инструменты ( р...   26.7.2020, 14:08
2 страниц V   1 2 >


Ответить в эту темуОткрыть новую тему
( Гостей: 1 )
Пользователей: 0

 



RSS Текстовая версия Сейчас: 14.6.2025, 19:42