mplayer в консоли, упрощение просмотра видеофайлов в консоли |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
mplayer в консоли, упрощение просмотра видеофайлов в консоли |
Поделиться |
7.11.2019, 21:17
Сообщение
#31
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Юра, хз чего там в Альте, но в Арче твой скрипт прекрасно работает Теперь mc через него показывает видео как под X-ами, так и в чистой консоли. Думаю его еще и к ranger-у прикрутить . Ага. Только что ещё раз посмотрел: У тебя на ледяном, даже при пульсе, в tty гонит и звук и видео. В Х-сах запуск после '# su - arch' видео гонит, но без звука и отказа видео нет. Не знаю, какой он там Простой, но в этом Симпли, Ж-ж-ж... Короче полный писец. И шо с этим делать, хрен его знает. Блин, ну не парсить же всю звуковую с любыми возможными и невозможными вариантами. Это тот ещё подарок. К тому же это костыль. При отказе аудио, отказа по видео не должно быть и всё тут. А пульсовый демон обязан запускаться вне зависимости от того, какой вход у пользователя, Х-совый или без оных. Чтобы звук разруливать вне зависимости от того, вход с Х-сами или без. Это же Линукс, два слоя, а не Винда, у которой кроме гуёв ничего больше нет. Что здесь такого непонятного, чтобы в этом Симпли всплывали такие косяки? Сообщение отредактировал speccyfighter - 7.11.2019, 21:31 |
|
|
8.11.2019, 21:05
Сообщение
#32
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Потрахался в лайве
Код $ cat /image/.disk/info Simply Linux/x86_64 2017-07-07 День убит. Набросал костылей для правильной работы скрипта mplayer-vc в офигенно Простом Линукс и оттестировал Код $ cat mplayer-in-tty-in-alt-with-pulse.txt mplayer -nocache -softvol -vo fbdev2 -xy 1365 -fs -zoom -framedrop -ao pulse /home/altlinux/Trace Adkins - Just Fishin'-IheODRwalEw.mp4 AUDIOOUTPUT=""; PULSEENABLE=`ls -1 /usr/bin/pulse* | wc -l`; \ if [ $PULSEENABLE != 0 ]; then AUDIOOUTPUT="-ao pulse"; else AUDIOOUTPUT="-ao alsa"; fi AUDIOOUTPUT=""; PULSEENABLE=`ls -1 /usr/bin/pulse* | wc -l`; \ if [ $PULSEENABLE != 0 ]; then AUDIOOUTPUT="-ao pulse"; else AUDIOOUTPUT="-ao alsa"; fi; \ mplayer -nocache -softvol -vo fbdev2 -xy 1365 -fs -zoom -framedrop $AUDIOOUTPUT ./Trace\ Adkins\ -\ Just\ Fishin-IheODRwalEw.mp4 Теперь заключительная часть скрипта mplayer-vc будет выглядеть так Код # tail -n 15 /usr/bin/mplayer-vc-copy-3 # Опция/параметр выбора драйвера вывода аудио AUDIOOUTPUT="" PULSEENABLE=`ls -1 /usr/bin/pulse* | wc -l` if [ $PULSEENABLE != 0 ] then AUDIOOUTPUT="-ao pulse" else AUDIOOUTPUT="-ao alsa" fi # пропорционально масштабировать по коэффициенту # до X фреймбуфера, - в переменной XVSIZE mplayer -nocache -softvol $VIDEOOUTPUT -xy $XVSIZE -fs -zoom -framedrop $AUDIOOUTPUT "$VIDEOFILE" &>$HOME/mplayer-output.txt Осталась совсем херня, - всё это собрать до кучи и протестировать в: - IceArch - alt-p8-sysv-tde - alt-p9-xfce-sysv И чтобы никаких, блин, сбоев, поломок и прочей хрени. Да, и не забыть поправить help, добавив в него предупреждение, что для воспроизведения видео в виртуальной консоли, пользователь должен находиться в группе video. Потому шо в Линупсе, Код # grep 50[0,1] /etc/group altlinux:x:500: tester:x:501: кто первым встал, Код # who altlinux :0 2019-11-08 21:56 (:0) altlinux pts/0 2019-11-08 21:57 (:0.0) altlinux pts/1 2019-11-08 21:57 (:0.0) altlinux pts/2 2019-11-08 21:57 (:0.0) root pts/1 2019-11-08 21:57 (localhost) tester tty2 2019-11-08 22:43 (localhost) того и тапки Код # ls -l /dev/fb* crw-rw----+ 1 altlinux video 29, 0 ноя 8 21:56 /dev/fb0 Не врубился, почему в лайве Простого Линукс, man bash выдаёт No manual entry for bash. Пока ходил в магазин за продуктами, уснул порт из-за грёбаного ядерного usbcore. Кардридер с картой уснул и чуть не потерял наработки скриптов. Команды сброса резервом набивал вслепую. А костыль пакетом disable-usb-autosuspend, который написал за год до сборки образа Простого Линукс, в его образе вообще хер лежит. А когда вся эта херня уснула, получил заставку на гуях: Сессия заблокирована Вы будете перенаправлены на диалог разблокировки автоматически в течение нескольких секунд Само-собой эти секунды превратились в вечность. Хорошо, блин, хоть tty был открыт рутом. Иначе бы скрипты накрылись медным тазом. Писец какой-то... Сообщение отредактировал speccyfighter - 8.11.2019, 22:24 |
|
|
8.11.2019, 22:16
Сообщение
#33
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Да, не слабо , жуть какая то. Видимо простой линукс становится совсем простым . Мне кажется что kda гораздо лучше его
тестировал , чем это делают теперь . Хотя боюсь что проблемы общеальтовские, если вообще не общесистемные. Твой предыдущий вариант скрипта прекрасно работает в Ледяном. Как будет готов следующий вариант , скинь полный листинг - обязательно протестирую и запихаю в новую версию. Вообще, отличный скрипт , я его уже и к ranger-у прикрутил и в X-сах и в консоли , красота Как все устаканится, надо будет запихать его в Aur , очень полезная вещь ! |
|
|
8.11.2019, 22:36
Сообщение
#34
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Да, не слабо , жуть какая то. Видимо простой линукс становится совсем простым . Мне кажется что kda гораздо лучше его тестировал , чем это делают теперь . Хотя боюсь что проблемы общеальтовские, если вообще не общесистемные. Говна везде хватает: Это и usbcore с включенным Power Management по умолчанию для usb. (Вот нахер?!) Это и ядерный драйвер звука, который на некоторых архитектурах рассаживает карты не в те сокеты в какие должен. Из-за чего благополучно сломан правильный дефолт. И хуже всего то, что в Линукс на всё это поклали болт. Твой предыдущий вариант скрипта прекрасно работает в Ледяном. Как будет готов следующий вариант , скинь полный листинг - обязательно протестирую и запихаю в новую версию. Вообще, отличный скрипт , я его уже и к ranger-у прикрутил и в X-сах и в консоли , красота Как все устаканится, надо будет запихать его в Aur , очень полезная вещь ! Сделаю. Но наверняка не завтра. Завтра-послезавтра уйдёт на тест: говно на выходе гнать нехорошо. И экс-спектрумистам это не пристало. Сообщение отредактировал speccyfighter - 8.11.2019, 22:36 |
|
|
8.11.2019, 22:56
Сообщение
#35
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
надо будет запихать его в Aur , очень полезная вещь ! Надо будет тогда и комментарии на английский перевести. Но смогу только через гугл-транслятор. Если их совсем убрать, это кому-нибудь может сломать мозг. А они разъясняют назначение и кратко алгоритм каждого блока скрипта. Если лицензия GPL мешает, скрипт можно перевести и на public domain. Тут в принципе и не против. |
|
|
8.11.2019, 23:29
Сообщение
#36
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Надо будет тогда и комментарии на английский перевести. Но смогу только через гугл-транслятор. Если их совсем убрать, это кому-нибудь может сломать мозг. А они разъясняют назначение и кратко алгоритм каждого блока скрипта. Если лицензия GPL мешает, скрипт можно перевести и на public domain. Тут в принципе и не против. Гугл более менее нормально переводит, я думаю сойдет. С GPL - ом все нормально, никаких проблем . У меня все пакеты в Aur-е под GPL - ом : https://aur.archlinux.org/packages/?K=kostyalamer&SeB=m |
|
|
8.11.2019, 23:37
Сообщение
#37
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Хорошо. Так и порешили. Как доведу шэлл-код до ума (по крайней мере как думаю и надеюсь: нэ кажы гоп, покы нэ побачыш куды встрыбнэш), тогда выложу целиком.
|
|
|
9.11.2019, 2:32
Сообщение
#38
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Скрипт mplayer-vc переведён, исправлен и готов в тестовой версии mplayer-vc-copy-4.
Скрипт прошёл тест на лайве alt-p9-xfce-sysv-20191020-x86_64.iso (alsa) Следующее тестирование на: - лайве IceArch-0.985-x86_64.iso (pulse) - установленной alt-p8-sysv-tde (alsa) - лайве alt-simply-8.2.0-x86_64.iso (pulse) Отличия от версии mplayer-vc-0.2.1-alt1.i686.rpm: - Переведены на англиийский комментарии. - В help добавлено упоминание о необходимости наличия пользователя в группе video и необходимости переиндексации звуковых карт в системах с alsa, если карта не в сокет 0. А также подсказка при неверном указании опции вывода help. - Добавлено автоопределение необходимых драйверов для вывода видео и аудио. Целевое назначение скрипта: Максимальное упрощение воспроизведения локального видео в виртуальной консоли. Сообщение отредактировал speccyfighter - 9.11.2019, 2:51 |
|
|
11.11.2019, 8:10
Сообщение
#39
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Завершающий этап тестирования в p8-sysv-tde и p9-xfce-sysv
Масса эпитетов... И все матом: https://forum.altlinux.org/index.php?topic=...43700#msg343700 https://forum.altlinux.org/index.php?topic=...43701#msg343701 Кратко: Отказ в доступе к фреймбуферу для непревилегированного находящегося в группе video. Соответственно и отказ отображения видео в его сессии(ях). Исправление приведено во второй ссылке. Но у меня такой ехидный вопрос: Ну и как эту хрень теперь объяснять простому пользователю, который только-то и кино в консоли собрался посмотреть. Через упрощающий скрипт, который именно для него, обычного пользователя и предназначен. Не вынося ему мозг мешком опций. Через скрипт, следующий принципу KISS. ХренА себе KISS... Ну и шо теперь делать?.. |
|
|
11.11.2019, 8:29
Сообщение
#40
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
ХренА себе KISS... Ну и шо теперь делать?.. Да , как сказал Серега Цитата Другими словами, ничего нового: всё по-старому. Что в переводе с культурного на русский означает " Ничего нового , все через ж... " Проблемы с VB я вообще не понял, у меня в Арче Virtual Box прекрасно работает Как вариант , можно опакетить твой скрипт для Арча как есть, а для Альта пихать разные костыли. |
|
|
11.11.2019, 10:21
Сообщение
#41
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Было "хорошо", стало "ещё лучше":
https://forum.altlinux.org/index.php?topic=...43704#msg343704 https://forum.altlinux.org/index.php?topic=...43705#msg343705 Лучше б я под виндой сидел, а не выбрасывал больше 15-ти лет на вот это вот... |
|
|
11.11.2019, 10:44
Сообщение
#42
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Сейчас на прогоне этот скрипт. Прошёл тест на IceArch в tty от непревилегированного. Но с тестом застряло на альтовых правах доступа на /dev/fb0 в системах на sysv для непревилегированного с группой video. На альтах с systemd (SL820), непревилегированный вообще ложит болт на группу и права доступа на фреймбуфер при проигрывании видео в tty.
Код $ cat /usr/bin/mplayer-vc Код #!/bin/bash # mplayer-vc # # Script for full-screen viewing of local video in mplayer via console. # This script automatically adjusts the video output to full screen # for a monitor with any resolution and does not require the user # to enter additional options. # Copyright 2018 Yury Pakin <zxwarior<>yandex.ru> # LICENSE: # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # parse options opt=1 helptext="\ Script for full-screen viewing of local video in mplayer through console. This script automatically adjusts the video output to full screen for a monitor with any resolution and does not require additional options. To play video in the virtual console, the user must be in the video group. On alsa systems, if the sound card is not in socket 0, reindex the sound cards. Usage: mplayer-vc /path/to/videofile -h --help print this help text " [ $# -ne 0 ] || set -- -h while test "$opt" = "1"; do case "$1" in # fbgs options -h | --help) printf "$helptext" exit 1 ;; # others options -*) echo -e "\nunknown option: $1\nUse -h or --help.\n" exit 1 ;; *) opt=0 ;; esac done # Checking for a local file file "$*" &>/dev/null if [ "$?" != 0 ] then echo -e "\nNo such file\n" exit 0 fi VIDEOFILE=$(echo "$*") # Resolution of the original video file in X coordinate VIDEOWIDTH=`mediainfo "$VIDEOFILE" | grep 'Width' | awk '{printf $3}'` # Resolution of the original video file in Y coordinate VIDEOHEIGHT=`mediainfo "$VIDEOFILE" | grep 'Height' | awk '{printf $3}'` # Video image proportions in decimal VIDEOASPECT=`echo "$VIDEOWIDTH/$VIDEOHEIGHT" | bc -l` # Decimal proportions of framebuffer FBASPECT=`fbset --test | grep mode | awk -F '"' '{print $2}' | sed 's/x/\//' | bc -l |sed 's/^\(......\).*/\1/'` # Framebuffer resolution in Y coordinate in pixels FBHEIGHT=`fbset --test | grep mode | awk -F '"' '{print $2}' | awk -F 'x' '{printf $2}'` # If the framebuffer aspect ratio is greater than the aspect of # the video file, then calculate the scaling factor to # framebuffer Y. Then, calculate by the coefficient the maximum # allowable size in pixels when scaling the video file in X, so # that when scaling in -xy, the video file does not go beyond # the screen in the Y coordinate. if [[ $FBASPECT > $VIDEOASPECT ]] then VSIZEXXX=`echo "$FBHEIGHT/$VIDEOHEIGHT" | bc -l` XVSIZE=`echo "$VIDEOWIDTH*$VSIZEXXX" | bc -l` # otherwise compute X framebuffer else XVSIZE=`fbset --test|grep geometry|awk '{print $2}'` fi # Option / parameter for selecting video output driver # for virtual console VIDEOOUTPUT="" DEVOUT=`tty | cut -f3 -d / | head -c 3` if [ $DEVOUT = "tty" ] then setterm --blank 0 VIDEOOUTPUT="-vo fbdev2" fi # Option/parameter for selecting audio output driver # pulse or alsa AUDIOOUTPUT="" PULSEENABLE=`ls -1 /usr/bin/ | grep ^pulseaudio | wc -l` if [ $PULSEENABLE != 0 ] then AUDIOOUTPUT="-ao pulse" else AUDIOOUTPUT="-ao alsa" fi # Scale proportionally by factor to the X coordinate # of the framebuffer, in the XVSIZE variable. mplayer -nocache -softvol $VIDEOOUTPUT -xy $XVSIZE -fs -zoom -framedrop $AUDIOOUTPUT "$VIDEOFILE" &>/dev/null Если нужен тестовый выброс проигрывания видео, заменить в последней строке /dev/null на $HOME/mplayer-output.txt |
|
|
12.11.2019, 0:38
Сообщение
#43
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Угу... Там же права с рутовым доступом. Единственный костыль, который туда можно засунуть, это вот эту вот херню в preinstall или postinstall, - т.е. правку через sed Код # grep ' <fb> ' /etc/security/console.perms.d/50-default.perms.probe <console> 0600 <fb> 0600 root Код # sed -i 's/0600 <fb> 0600 root/0660 <fb> 0660 root.video/' /etc/security/console.perms.d/50-default.perms.probe Код # grep ' <fb> ' /etc/security/console.perms.d/50-default.perms.probe <console> 0660 <fb> 0660 root.video и пакет будет называться mplayer-vc-bullshit-0.3-alt0.1-noarch.rpm А комментарием к postinstall добавить в спэке: Fac*ing bullshit Иначе без этого херового говна, для других пользователей в альте не заработает. Ибо распределение доступа по группе, в альте на sysv нахер поломано, неверным конфигурированием прав доступа к фреймбуферу. А в альте с systemd, на права доступа по группе, вообще кладётся болт. И каждый залогинившийся урод, может читать и писать во фреймбуфер. Хера себе безопасность... Сообщение отредактировал speccyfighter - 12.11.2019, 0:43 |
|
|
12.11.2019, 8:51
Сообщение
#44
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Тогда так наверное и сделаем в Арче будет mplayer-mc , а в Альте mplayer-vc-bullshit
Давай пока с зависимостями для арча определимся что в нем писать : mplayer что еще ? |
|
|
13.11.2019, 3:46
Сообщение
#45
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Давай пока с зависимостями для арча определимся что в нем писать : mplayer что еще ? Зависимости mplayer-vc в archlinux Код root<>archiso:~/# pacman -F /usr/bin/echo usr/bin/echo принадлежит core/coreutils 8.31-2 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/grep usr/bin/grep принадлежит core/grep 3.3-2 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/awk usr/bin/awk принадлежит core/gawk 5.0.1-1 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/bc usr/bin/bc принадлежит extra/bc 1.07.1-3 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/sed usr/bin/sed принадлежит core/sed 4.7-2 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/fbset usr/bin/fbset принадлежит community/fbset 2.1-6 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/tty usr/bin/tty принадлежит core/coreutils 8.31-2 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/setterm usr/bin/setterm принадлежит core/util-linux 2.34-3 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/cut usr/bin/cut принадлежит core/coreutils 8.31-2 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/head usr/bin/head принадлежит core/coreutils 8.31-2 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/mediainfo usr/bin/mediainfo принадлежит community/mediainfo 19.09-1 root<>archiso:~/# root<>archiso:~/# pacman -F /usr/bin/mplayer usr/bin/mplayer принадлежит extra/mplayer 38139-2 root<>archiso:~/# root<>archiso:~/# pacman -F /etc/group etc/group принадлежит core/filesystem 2019.10-1 а в Альте mplayer-vc-bullshit Погодю пока. Посмотрим куда меня в альтах пошлют с багрепортом на pam0_console. Там надо будет для мейнтейнера подробно и понятно изложить суть, а подготовить такой багрепорт, не так быстро как хотелось бы. Ну а если уже пошлют в багрепорте, тогда надо готовить mplayer-vc-bullshit для альтов с костылём в виде Код sed -i 's/0600 <fb> 0600 root/0660 <fb> 0660 root\.video/' /etc/security/console.perms.d/50-default.perms У меня тут идея проснулась на предмет mplayer-vc-bullshit для альтов. На попытке запустить mplayer-vc-bullshit без параметров: Слышится издевательский смех и появляется издевательская рожа в ascii графике. Затем это исчезает, вверху появляется надпись Welcome to mplayer-vc-bullshit for altlinux. А ниже пояснение, что чтобы эта херня работала нормально, просьба ввести команду от root: Код sed -i 's/0600 <fb> 0600 root/0660 <fb> 0660 root\.video/' /etc/security/console.perms.d/50-default.perms По истечении 5 секунд, ниже появляется на английском надпись "Прочитал?". И вслед за ней снова идиотский смех как у чёртика из табакерки. Сообщение отредактировал speccyfighter - 13.11.2019, 3:51 |
|
|
13.11.2019, 4:34
Сообщение
#46
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Давай пока с зависимостями для арча Кстати увидел что тут Поиск_пакета_по_названию_файла команда приведена неправильная: Код root<>archiso:~/# pacman -Fs pacman ошибка: недопустимый параметр '-s' Правильно в англоязычной вики: Search_for_a_package_that_contains_a_specific_file Код root<>archiso:~/# pacman -F pacman
core/pacman 5.2.1-1 (base base-devel) [установлен] usr/bin/pacman usr/share/bash-completion/completions/pacman extra/xscreensaver 5.43-1 usr/lib/xscreensaver/pacman archlinuxcn/xscreensaver-arch-logo 5.43-1 usr/lib/xscreensaver/pacman Сообщение отредактировал speccyfighter - 13.11.2019, 4:45 |
|
|
13.11.2019, 8:22
Сообщение
#47
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
У меня тут идея проснулась на предмет mplayer-vc-bullshit для альтов. На попытке запустить mplayer-vc-bullshit без параметров: Слышится издевательский смех и появляется издевательская рожа в ascii графике. Затем это исчезает, вверху появляется надпись Welcome to mplayer-vc-bullshit for altlinux. А ниже пояснение, что чтобы эта херня работала нормально, просьба ввести команду от root: Код sed -i 's/0600 <fb> 0600 root/0660 <fb> 0660 root\.video/' /etc/security/console.perms.d/50-default.perms По истечении 5 секунд, ниже появляется на английском надпись "Прочитал?". И вслед за ней снова идиотский смех как у чёртика из табакерки. Супер Сообщение отредактировал kostyalamer - 13.11.2019, 8:23 |
|
|
13.11.2019, 23:30
Сообщение
#48
|
|
Профессионал Группа: Пользователь Сообщений: 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 |
|
|
14.11.2019, 7:11
Сообщение
#49
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Юра , вот пакет : 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. Архив с твоим скриптом лежит на клубном хостинге. В смылсле в теме на форуме? собрать и установить под пользователем скачиваешь PKGBUILD в этой же папке делаешь makepkg -i Не, не собирал. Только оттестировал твой готовый пакет. К тому же в твоём лайве нельзя выйти в dm с логином пользователя (из-за автологина в X root), а систем на systemd на моих винчестерах никогда не было. а вот PKGBUILD к нему : https://yadi.sk/d/YTquzKWd9dwGAQ Посмотри PKGBUILD если все устраивает , пушну его в Aur Только версию смени с 1.0 на 0.3.0 |
|
|
14.11.2019, 8:06
Сообщение
#50
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Нет исходники лежат тут : http://altlinuxclub.ru/arhiv/ (но хитрый хостинг туда просто так не пускает, только по готовым ссылкам) как и остальные исходники моих арчевских пакетов.
Вечером поменяю версию. PS если захочешь собрать пакет для слаки или дивана , клубный хостинг всегда в твоем распоряжении Сообщение отредактировал kostyalamer - 14.11.2019, 8:08 |
|
|
14.11.2019, 23:58
Сообщение
#51
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
Юра, твой скрипт в Aur-е : https://aur.archlinux.org/packages/mplayer-vc
В ледяном можешь установить прямо из live через pamac-manager ( иконка в трее icewm ). В нем надо в настройках включить поддержку Aur после чего найти пакет ( лупа в левом углу ) и собрать его. Проверено , работает. После сегодняшнего глобального обновления у меня стал глючить pacaur , пришлось поставить старый добрый йогурт (yaourt) он устанавливает твой скрипт без каких либо проблем. |
|
|
15.11.2019, 17:07
Сообщение
#52
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
В связи с недавно изменившимся стандартом : https://archlinux.org.ru/forum/topic/19525/?page=1 подправил PKGBUILD , перезалил , теперь при сборке не ругается . Добавил пакет в ледяной , все работает.
|
|
|
16.11.2019, 1:33
Сообщение
#53
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
В связи с недавно изменившимся стандартом : https://archlinux.org.ru/forum/topic/19525/?page=1 подправил PKGBUILD , перезалил , теперь при сборке не ругается . Добавил пакет в ледяной , все работает. Отлично. Спасибо Костя. Значит остался багрепорт с этой ж0пой в альте (проявится на sysv, но не в systemd), в которой похрен указание группы, прав на которую в системе не существует: Код $ ls -l /dev/fb* crw------- 1 altlinux video 29, 0 ноя 15 19:12 /dev/fb0 Но объём выбросов для багрепорта, меня пугает. Ибо смотреть и/или давать выбросы в багрепорт, надо как минимум в IceArch (Arch), devuan и наверное желательно slackware-current, а это только из полной сборки куда входит devel-набор. В последнем случае, возможности мои не бесконечны и возможно придётся ограничиться IceArch и Devuan. На предмет разруливания прав для фреймбуфера, которые в альтах на sysv сломаны. |
|
|
24.11.2019, 0:39
Сообщение
#54
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Масса полезнейшего инфо по bash (для mplayer-vc)
Bash Reference Manual http://www.gnu.org/software/bash/manual/bash.html Advanced Bash-Scripting Guide https://www.opennet.ru/docs/RUS/bash_scripting_guide/ Краткий учебник по sed. https://emulek.github.io/sed/index.html Глава 7. Примеры из info sed. (sed и процедуры) https://emulek.github.io/sed/ch07.html Работа со строками в bash https://webhamster.ru/mytetrashare/index/mtb0/1516 How do you take a suffix of a string in bash using negative offsets? https://stackoverflow.com/questions/3147660...egative-offsets In bash, how can I check if a string begins with some value? https://stackoverflow.com/questions/2172352...with-some-value Bash String Manipulation Examples – Length, Substring, Find and Replace https://www.thegeekstuff.com/2010/07/bash-s...g-manipulation/ Grabbing the first [x] characters for a string from a pipe https://unix.stackexchange.com/questions/34...ing-from-a-pipe How to extract the first two characters of a string in shell scripting? https://stackoverflow.com/questions/1405611...shell-scripting How to get the last character of a string in a shell? https://stackoverflow.com/questions/1754289...ring-in-a-shell Delete the last character of a string using string manipulation in shell script https://unix.stackexchange.com/questions/14...l-script/144345 Запросы: вывод последнего символа в строке bash parsing 1st symbols of string bash parsing last symbols of string bash $* $? $@ $# bash Сообщение отредактировал speccyfighter - 24.11.2019, 0:40 |
|
|
24.11.2019, 12:24
Сообщение
#55
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Обработчик указанного пути для mplayer-vc:
Код $ cat ./mplayer-vc-N02 #!/bin/bash # Каждый путь - слово ($@), для пути ../* : "каталог медиафайл каталог" # Если файл Media, - вывести на stdout (проиграть) # Каталоги и не Media пропустить # Парсить параметр скрипта: ../* или ../file.mp4 for vfile in "$@" do # Пропустить каталог (шоб mediainfo не вис на каталоге) typefile=`file -b "$vfile"` if [[ $typefile != "directory" ]] then # Если тип файла Video, то проиграть mediayes=`mediainfo "$vfile" | grep ^Video$ | wc -w` if [ "$mediayes" == 1 ] then echo "$vfile" fi fi done Для путей: ../file.mp4 - проиграть файл ../* - проиграть видео файлы в каталоге. Отключить субтитры: -noautosub - внешние субтитры -nosub Валится на внешних субтитрах: Код VO: [xv] 848x480 => 320x180 Planar YV12 A: 35.9 V: 35.9 A-V: -0.000 ct: -0.057 0/ 0 9% 1% 1.1% 0 0 61% Subtitle word '孼' too long! Добавить явно -vo xv если не tty (неизвестен дефолт и наличие автоопределения) Ввести паузу в 3 секунды между клипами. Бесконечный цикл для ../* или ./*.mp4: Код while true; do date +%Y%m%d-%T > current-datetime.txt; sleep 1; done Сообщение отредактировал speccyfighter - 24.11.2019, 20:16 |
|
|
24.11.2019, 16:43
Сообщение
#56
|
|
Профессионал Группа: Активный Пользователь Сообщений: 1651 Регистрация: 12.10.2010 Вставить ник Цитата Пользователь №: 1950 Страна: Россия Город: Не указан Пол: Муж. Репутация: 8 |
|
|
|
25.11.2019, 0:23
Сообщение
#57
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Код $ cat mplayer-vc-N02--single-or-many # One or several files selector # Если аргумент один, то if [ "$#" == 1 ] then # если файл это не каталог, то vfile="$@" typefile=`file -b "$vfile"` if [[ $typefile != "directory" ]] then # если тип файла Video, то проиграть mediayes=`mediainfo "$vfile" | grep ^Video$ | wc -w` if [ $mediayes == 1 ] then # Проиграть с подстановкой переменных выше # http://forum.russ2.com/index.php?showtopic=4431&view=findpost&p=51470 mplayer -nocache -softvol -noautosub -xy 1365 -fs -zoom -framedrop -ao alsa "$vfile" &>/dev/null exit 0 else echo -e "\nЭто не видео файл\n" exit 0 fi elif [[ $typefile == "directory" ]] then echo -e "\nЭто каталог\n" exit 0 fi else if [ "$#" > 1 ] then echo "бесконечный цикл нескольких видео" # http://forum.russ2.com/index.php?showtopic=4431&view=findpost&p=51512 fi fi Теперь надо, поправить хэлп, ввести паузу, обнулить переменную VIDEOFILE (а надо?), переменные сводить воедино и лепить скрипты до кучи. С завершением на тесте с моделированием ошибок. На предмет мало-мальской "защиты от дурака". "защита от дурака" - это не оскорбление. Это термин на платформе ZX Spectrum, означающий защиту от непрогнозируемых действий пользователя. В финальном скрипте будет: - Проигрывание в полный экран одного видеофайла с завершением проигрывания. - Проигрывание в полный экран нескольких видеофайлов по маске бесконечным циклом. В финальном скрипте не будет: - Мана не будет, ибо всё просто, автоматика где возможно, и нафик ман не нужен. Разве что м.б.(?) кратко в хэлп о хоткеях (перемотка, громкость, останов, пауза, время, мьют). Всё как во времена бородатого программирования, kiss в чистом виде. Без выносов мозга в шелл. (Но и без проверок никак: на непустых подкаталогах, mediainfo впадает в анабиоз, ибо ему и в голову не приходит, что ему могут подсунуть не файл, а подкаталог, да ещё и непустой, из-за чего он бывает в глубоком трансе) - Рандома списка не будет. Ибо работает через интерпретатор, скрипт пухнет, проверки дофига тактов занимают, а планировалось чтобы это работало на всяком говне с фееричным даунгрейдом железа. Насколько это только сегодня возможно. - Основная и главная цель скрипта: максимальное упрощение типовой задачи в шелл, - проигрывание видео в консоли. (без езды по ушам, что шелл только для админов) Сообщение отредактировал speccyfighter - 25.11.2019, 1:56 |
|
|
25.11.2019, 9:34
Сообщение
#58
|
|
Специалист Группа: Активный Пользователь Сообщений: 151 Регистрация: 6.3.2019 Вставить ник Цитата Пользователь №: 3002 Страна: Россия Город: Не указан Пол: Муж. Репутация: 2 |
Юра, хз чего там в Альте, но в Арче твой скрипт прекрасно работает Теперь mc через него показывает видео как под X-ами, так и в чистой консоли. Думаю его еще и к ranger-у прикрутить . и в Links2 - "и там и там" - нормально (правда под мультиплексорами вроде не взлетает). |
|
|
25.11.2019, 22:10
Сообщение
#59
|
|
Профессионал Группа: Пользователь Сообщений: 4384 Регистрация: 17.9.2009 Вставить ник Цитата Пользователь №: 1617 Страна: Россия Город: Санкт-Петербург Пол: Муж. Репутация: 20 |
|
|
|
27.11.2019, 7:36
Сообщение
#60
|
|
Крупный специалист Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: 1 |
Число, это математическая величина и пишется она без пробела, ленупсовый урод
Код $ mediainfo /home/tos-1720x720-cfg01.mkv | grep Width Width : 1 720 pixels А из-за твоей ленупсовой тупости надо лепить километры г*на любым из вариантов, да ещё через реверс, чтобы получить математическую величину, а не хрень на палочке: Код $ mediainfo /home/tos-1720x720-cfg01.mkv | grep Width | cut -f 2 -d ':' | rev | cut -f 2- -d ' ' | rev | sed 's/ //g' 1720 Код $ mediainfo /home/tos-1720x720-cfg01.mkv | grep Width | rev | awk '{$1=""; print $0 }' | rev | awk -F ':' '{print $2}' | sed 's/ //g' 1720 Потому шо эта фигня должна уйти в переменную. Тебе же тупому невдомёк, что сейчас разрешения под тысяч пять. Попробуй их распарси из твоего выброса говна с пробелами. Бестолочь блин... |
|
|
Текстовая версия | Сейчас: 25.4.2024, 8:56 | |