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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
kostyalamer
сообщение 13.11.2019, 23:30
Сообщение #2


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

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



Репутация: 20


Юра , вот пакет : https://yadi.sk/d/wpOpaxqCL9j4dg
а вот PKGBUILD к нему : https://yadi.sk/d/YTquzKWd9dwGAQ
Архив с твоим скриптом лежит на клубном хостинге.
Пакет проверил - работает. Скачиваешь его и устанавливаешь прямо из папки через sudo pakman -U его_имя
собрать и установить под пользователем
скачиваешь PKGBUILD в этой же папке делаешь makepkg -i
Посмотри PKGBUILD если все устраивает , пушну его в Aur
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 14.11.2019, 7:11
Сообщение #3


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

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



Репутация: 1


Цитата(kostyalamer @ 13.11.2019, 21:30) *
Юра , вот пакет : https://yadi.sk/d/wpOpaxqCL9j4dg
Пакет проверил - работает. Скачиваешь его и устанавливаешь прямо из папки через sudo pakman -U его_имя


Собственно сами тесты прошли.
Последовательность подготовки и тестирования в лайве IceArch через QTerminal:
Код
# Запуск QTerminal

Код
root<>archiso:~/# mv /usr/local/bin/mplayer-vc /usr/local/bin/mplayer-vc.bak

Код
root<>archiso:~/# pacman -Sy

Код
root<>archiso:~/# pacman -U mplayer-vc-1.0-1-x86_64.pkg.tar.xz

Код
root<>archiso:~/# useradd -Um test

Код
root<>archiso:~/# passwd test

Код
root<>archiso:~/# gpasswd -a test video

Код
root<>archiso:~/# gpasswd -a test audio

Код
root<>archiso:~/# su - test

Код
[test<>archiso ~]$ $ pulseaudio --daemonize=no &

Код
[test<>archiso ~]$ $ export DISPLAY=":0"

Код
[test<>archiso ~]$ tty
/dev/pts/3

Код
[test<>archiso ~]$ mplayer-vc ./Trace\ Adkins\ -\ Just\ Fishin\'-IheODRwalEw.mp4 # тест

Код
[test<>archiso ~]$ jobs
[1]+  Запущен          pulseaudio --daemonize=no &
[test<>archiso ~]$ fg 1
pulseaudio --daemonize=no
^C[test<>archiso ~]$ jobs
[test<>archiso ~]$

Тест в tty от пользователя, как обычно. С добавлением пользователя в группы video и audio, перед его логином в tty.

Цитата(kostyalamer @ 13.11.2019, 21:30) *
Архив с твоим скриптом лежит на клубном хостинге.

В смылсле в теме на форуме?

Цитата(kostyalamer @ 13.11.2019, 21:30) *
собрать и установить под пользователем
скачиваешь PKGBUILD в этой же папке делаешь makepkg -i

Не, не собирал. Только оттестировал твой готовый пакет.
К тому же в твоём лайве нельзя выйти в dm с логином пользователя (из-за автологина в X root), а систем на systemd на моих винчестерах никогда не было.

Цитата(kostyalamer @ 13.11.2019, 21:30) *
а вот PKGBUILD к нему : https://yadi.sk/d/YTquzKWd9dwGAQ
Посмотри PKGBUILD если все устраивает , пушну его в Aur

Только версию смени с 1.0 на 0.3.0
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- 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, 20:36