| Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
| Поделиться |
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 |
|
|
|
![]() |
13.1.2018, 21:45
Сообщение
#2
|
|
|
Крупный специалист ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1
|
Линукс, ты тупой как пень стоеросовый.
Я из-за тебя обработку ошибок только в 9-том часу вечера закончил, дубина ты. Обработка второго if условия на наличие файла: Код $ cat mplayer-vc-chk-enable-file #!/bin/bash echo $* if [ -z "$*" ] then echo -e "\nUsage: mplayer-vc /path/to/videofile\n" echo -e "The path to the file must not contain spaces\n" exit 0 fi echo $* if [ ! -f "$*" ] then echo -e "\nNo such file\n" exit 0 else echo -e "\nFile enabled\n" exit 0 fi #file $@ &>/dev/null #if [ "$?" != 0 ] # then # echo -e "\nNo such file\n" # exit 0 # else # echo -e "\nFile enabled\n" # exit 0 #fi exit 0 Код mplayer-vc-chk-enable-file ./Хроники\ Риддика.avi &>if2-chk.txt Ну ты и дубина... Ну как же enabled, если путь не обрабатывается, если пробелы не экранированы бэкслешем Код $ cat if2-chk.txt ./Хроники Риддика.avi ./Хроники Риддика.avi File enabled Из-за тебя болвана пришлось изобретать проверку костылём. Смотри как надо и учись: Код $ cat mplayer-vc-chk-enable-file #!/bin/bash echo $* if [ -z "$*" ] then echo -e "\nUsage: mplayer-vc /path/to/videofile\n" echo -e "The path to the file must not contain spaces\n" exit 0 fi echo $* #if [ ! -f "$*" ] # then # echo -e "\nNo such file\n" # exit 0 # else # echo -e "\nFile enabled\n" # exit 0 #fi file $@ &>/dev/null if [ "$?" != 0 ] then echo -e "\nNo such file\n" exit 0 else echo -e "\nFile enabled\n" exit 0 fi exit 0 Код mplayer-vc-chk-enable-file ./Хроники\ Риддика.avi &>if3-chk.txt Код $ cat if3-chk.txt ./Хроники Риддика.avi ./Хроники Риддика.avi ./Хроники: ERROR: cannot open `./Хроники' (No such file or directory) Риддика.avi: ERROR: cannot open `Риддика.avi' (No such file or directory) No such file Ну конечно же No such file: после парсинга в переменную, всего что стоит после команды, поисчезали бэкслэши, а без них полный путь не обрабатывается и должно быть Нет такого файла. И быть его не может. Файл в наличии, пробелов в пути нет: Код $ cat if3-1-chk.txt ./Голубой_Гром.240.mp4 ./Голубой_Гром.240.mp4 ./Голубой_Гром.240.mp4: ISO Media, MPEG v4 system, version 1 File enabled Зря я там выше ляпнул про костыллятор. Нанострдамил на свою голову. Блин, всё бы ничего, но на эти проверки время же тратится, от нажатия Enter до начала проигрывания... А этой фигни не должно быть. Ну никак не должно быть. Сообщение отредактировал speccyfighter - 13.1.2018, 22:05 |
|
|
|
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 Новая версия 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![]() ![]() |
|
Текстовая версия | Сейчас: 9.11.2025, 18:21 |