IPB

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

3 страниц V  < 1 2 3 >  
Ответить в эту темуОткрыть новую тему
> mplayer в консоли, упрощение просмотра видеофайлов в консоли
Поделиться
speccyfighter
сообщение 7.11.2019, 21:17
Сообщение #31


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

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



Репутация: 1


Цитата(kostyalamer @ 7.11.2019, 18:52) *
Юра, хз чего там в Альте, но в Арче твой скрипт прекрасно работает good.gif Теперь mc через него показывает видео как под X-ами, так и в чистой консоли. Думаю его еще и к ranger-у прикрутить .


Ага. Только что ещё раз посмотрел:
У тебя на ледяном, даже при пульсе, в tty гонит и звук и видео. В Х-сах запуск после '# su - arch' видео гонит, но без звука и отказа видео нет.

Не знаю, какой он там Простой, но в этом Симпли, Ж-ж-ж... Короче полный писец.
И шо с этим делать, хрен его знает.
Блин, ну не парсить же всю звуковую с любыми возможными и невозможными вариантами. Это тот ещё подарок. К тому же это костыль. При отказе аудио, отказа по видео не должно быть и всё тут. А пульсовый демон обязан запускаться вне зависимости от того, какой вход у пользователя, Х-совый или без оных. Чтобы звук разруливать вне зависимости от того, вход с Х-сами или без. Это же Линукс, два слоя, а не Винда, у которой кроме гуёв ничего больше нет. Что здесь такого непонятного, чтобы в этом Симпли всплывали такие косяки?


Сообщение отредактировал speccyfighter - 7.11.2019, 21:31
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 8.11.2019, 21:05
Сообщение #32


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 8.11.2019, 22:16
Сообщение #33


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

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



Репутация: 20


Да, не слабо , жуть какая то. Видимо простой линукс становится совсем простым . Мне кажется что kda гораздо лучше его
тестировал , чем это делают теперь . Хотя боюсь что проблемы общеальтовские, если вообще не общесистемные.
Твой предыдущий вариант скрипта прекрасно работает в Ледяном.
Как будет готов следующий вариант , скинь полный листинг - обязательно протестирую и запихаю в новую версию.
Вообще, отличный скрипт , я его уже и к ranger-у прикрутил и в X-сах и в консоли , красота smile.gif
Как все устаканится, надо будет запихать его в Aur , очень полезная вещь !
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 8.11.2019, 22:36
Сообщение #34


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

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



Репутация: 1


Цитата(kostyalamer @ 8.11.2019, 20:16) *
Да, не слабо , жуть какая то. Видимо простой линукс становится совсем простым . Мне кажется что kda гораздо лучше его
тестировал , чем это делают теперь . Хотя боюсь что проблемы общеальтовские, если вообще не общесистемные.

Говна везде хватает:
Это и usbcore с включенным Power Management по умолчанию для usb. (Вот нахер?!)
Это и ядерный драйвер звука, который на некоторых архитектурах рассаживает карты не в те сокеты в какие должен. Из-за чего благополучно сломан правильный дефолт.
И хуже всего то, что в Линукс на всё это поклали болт.

Цитата(kostyalamer @ 8.11.2019, 20:16) *
Твой предыдущий вариант скрипта прекрасно работает в Ледяном.
Как будет готов следующий вариант , скинь полный листинг - обязательно протестирую и запихаю в новую версию.
Вообще, отличный скрипт , я его уже и к ranger-у прикрутил и в X-сах и в консоли , красота smile.gif
Как все устаканится, надо будет запихать его в Aur , очень полезная вещь !

Сделаю. Но наверняка не завтра. Завтра-послезавтра уйдёт на тест: говно на выходе гнать нехорошо. И экс-спектрумистам это не пристало. smile.gif

Сообщение отредактировал speccyfighter - 8.11.2019, 22:36
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 8.11.2019, 22:56
Сообщение #35


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

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



Репутация: 1


Цитата(kostyalamer @ 8.11.2019, 20:16) *
надо будет запихать его в Aur , очень полезная вещь !

Надо будет тогда и комментарии на английский перевести. Но смогу только через гугл-транслятор. Если их совсем убрать, это кому-нибудь может сломать мозг. А они разъясняют назначение и кратко алгоритм каждого блока скрипта.
Если лицензия GPL мешает, скрипт можно перевести и на public domain. Тут в принципе и не против.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 8.11.2019, 23:29
Сообщение #36


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

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



Репутация: 20


Цитата(speccyfighter @ 8.11.2019, 22:56) *
Надо будет тогда и комментарии на английский перевести. Но смогу только через гугл-транслятор. Если их совсем убрать, это кому-нибудь может сломать мозг. А они разъясняют назначение и кратко алгоритм каждого блока скрипта.
Если лицензия GPL мешает, скрипт можно перевести и на public domain. Тут в принципе и не против.

Гугл более менее нормально переводит, я думаю сойдет.
С GPL - ом все нормально, никаких проблем . У меня все пакеты в Aur-е под GPL - ом :
https://aur.archlinux.org/packages/?K=kostyalamer&SeB=m
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 8.11.2019, 23:37
Сообщение #37


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

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



Репутация: 1


Хорошо. Так и порешили. Как доведу шэлл-код до ума (по крайней мере как думаю и надеюсь: нэ кажы гоп, покы нэ побачыш куды встрыбнэш), тогда выложу целиком.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 9.11.2019, 2:32
Сообщение #38


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 11.11.2019, 8:10
Сообщение #39


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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... Ну и шо теперь делать?..
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 11.11.2019, 8:29
Сообщение #40


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

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



Репутация: 20


Цитата(speccyfighter @ 11.11.2019, 8:10) *
ХренА себе KISS... Ну и шо теперь делать?..

Да , как сказал Серега
Цитата
Другими словами, ничего нового: всё по-старому.

Что в переводе с культурного на русский означает " Ничего нового , все через ж... "
Проблемы с VB я вообще не понял, у меня в Арче Virtual Box прекрасно работает unknw.gif
Как вариант , можно опакетить твой скрипт для Арча как есть, а для Альта пихать разные костыли.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 11.11.2019, 10:21
Сообщение #41


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

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



Репутация: 1


Было "хорошо", стало "ещё лучше":
https://forum.altlinux.org/index.php?topic=...43704#msg343704
https://forum.altlinux.org/index.php?topic=...43705#msg343705

Лучше б я под виндой сидел, а не выбрасывал больше 15-ти лет на вот это вот...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 11.11.2019, 10:44
Сообщение #42


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 12.11.2019, 0:38
Сообщение #43


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

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



Репутация: 1


Цитата(kostyalamer @ 11.11.2019, 6:29) *
Как вариант , можно опакетить твой скрипт для Арча как есть, а для Альта пихать разные костыли.


Угу... Там же права с рутовым доступом.
Единственный костыль, который туда можно засунуть, это вот эту вот херню в 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 12.11.2019, 8:51
Сообщение #44


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

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



Репутация: 20


Тогда так наверное и сделаем в Арче будет mplayer-mc , а в Альте mplayer-vc-bullshit
Давай пока с зависимостями для арча определимся что в нем писать :
mplayer
что еще ?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 13.11.2019, 3:46
Сообщение #45


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

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



Репутация: 1


Цитата(kostyalamer @ 12.11.2019, 6:51) *
Давай пока с зависимостями для арча определимся что в нем писать :
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


Цитата(kostyalamer @ 12.11.2019, 6:51) *
а в Альте 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 13.11.2019, 4:34
Сообщение #46


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

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



Репутация: 1


Цитата(kostyalamer @ 12.11.2019, 6:51) *
Давай пока с зависимостями для арча

Кстати увидел что тут
Поиск_пакета_по_названию_файла
команда приведена неправильная:
Код
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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 13.11.2019, 8:22
Сообщение #47


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

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



Репутация: 20


Цитата(speccyfighter @ 13.11.2019, 3:46) *
У меня тут идея проснулась на предмет 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 секунд, ниже появляется на английском надпись "Прочитал?". И вслед за ней снова идиотский смех как у чёртика из табакерки.

Супер good.gif

Сообщение отредактировал kostyalamer - 13.11.2019, 8:23
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 13.11.2019, 23:30
Сообщение #48


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

Группа: Модератор раздела
Сообщений: 4283
Регистрация: 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
Сообщение #49


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 14.11.2019, 8:06
Сообщение #50


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

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



Репутация: 20


Нет исходники лежат тут : http://altlinuxclub.ru/arhiv/ (но хитрый хостинг туда просто так не пускает, только по готовым ссылкам) как и остальные исходники моих арчевских пакетов.
Вечером поменяю версию.
PS если захочешь собрать пакет для слаки или дивана , клубный хостинг всегда в твоем распоряжении smile.gif

Сообщение отредактировал kostyalamer - 14.11.2019, 8:08
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 14.11.2019, 23:58
Сообщение #51


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

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



Репутация: 20


Юра, твой скрипт в Aur-е : https://aur.archlinux.org/packages/mplayer-vc
В ледяном можешь установить прямо из live через pamac-manager ( иконка в трее icewm ).
В нем надо в настройках включить поддержку Aur после чего найти пакет ( лупа в левом углу ) и собрать его.
Проверено , работает.
После сегодняшнего глобального обновления у меня стал глючить pacaur , пришлось поставить старый добрый йогурт
(yaourt) он устанавливает твой скрипт без каких либо проблем.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 15.11.2019, 17:07
Сообщение #52


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

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



Репутация: 20


В связи с недавно изменившимся стандартом : https://archlinux.org.ru/forum/topic/19525/?page=1 подправил PKGBUILD , перезалил , теперь при сборке не ругается . Добавил пакет в ледяной , все работает.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 16.11.2019, 1:33
Сообщение #53


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

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



Репутация: 1


Цитата(kostyalamer @ 15.11.2019, 15:07) *
В связи с недавно изменившимся стандартом : 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 сломаны.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 24.11.2019, 0:39
Сообщение #54


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 24.11.2019, 12:24
Сообщение #55


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
YYY
сообщение 24.11.2019, 16:43
Сообщение #56


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

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



Репутация: 7


Цитата(speccyfighter @ 24.11.2019, 12:24) *
../* - проиграть видео файлы в каталоге.


тогда еще надо рандом и возможность зациклить - типа клипы или песенки по кругу smile.gif))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 25.11.2019, 0:23
Сообщение #57


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
knn
сообщение 25.11.2019, 9:34
Сообщение #58


Любитель
***

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



Репутация: 2


Цитата(kostyalamer @ 7.11.2019, 20:52) *
Юра, хз чего там в Альте, но в Арче твой скрипт прекрасно работает good.gif Теперь mc через него показывает видео как под X-ами, так и в чистой консоли. Думаю его еще и к ranger-у прикрутить .

biggrin.gif и в Links2 - "и там и там" - нормально (правда под мультиплексорами вроде не взлетает).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
kostyalamer
сообщение 25.11.2019, 22:10
Сообщение #59


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

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



Репутация: 20


Цитата(knn @ 25.11.2019, 9:34) *
biggrin.gif и в Links2 - "и там и там" - нормально (правда под мультиплексорами вроде не взлетает).

Мультиплексоры тоже работают через фреймбуфер, потому и не взлетает.
PS Юра, когда будет готова очередная версия - выложи ее целиком , я перепакечу в Aur и обновлю в ледяном.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
speccyfighter
сообщение 27.11.2019, 7:36
Сообщение #60


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

Группа: Пользователь
Сообщений: 330
Регистрация: 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

Потому шо эта фигня должна уйти в переменную.
Тебе же тупому невдомёк, что сейчас разрешения под тысяч пять. Попробуй их распарси из твоего выброса говна с пробелами.
Бестолочь блин...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 



RSS Текстовая версия Сейчас: 7.12.2019, 10:41