LINUX.ORG.RU

Сообщения LINUX-ORG-RU

 

yuki-iptv ушёл в архив

 , epg, , yuki-iptv,

Это плеер для просмотра интернет-телевидения (IPTV) с поддержкой телепрограммы (EPG) (форк Astroncia IPTV), есть в репозиториях ALT (altlinux.org), AUR (archlinux.org), флатхаб, снапстор, deb (codeberg.org), etc. Интерес к программе есть видимо.

Разрабатывает плеер Лия Астрова, сам я им не пользуюсь, узнал о плеере от @krasnh в обсуждениях по поводу разработки EPGTV. Через некоторое время после начала моих ковыряний для krasnh, Лия предлагала мне помощь связавшись по почте, и оказала её, давая подсказки и советы по поводу работы с таймзорнами.

Сегодня случайно заметил что yuki-iptv помечен как ушедший в архив на codeberg, некоторые issue висят с тегом help wanted что указывает на то что помощь приветствуется.

Возможно кто-то использует этот плеер для просмотра телевизора с программой телепередач, возможно кто-то хорошо знает python и возможно захочет оказать проекту содействие, участие.



На этом всё, может кому важно, с Лией мы не знакомы, за исключением чисто технического общения, в прошлом, как связываться не знаю, почта что была для связи со мной, более не активна. Когда то мне была предложена помощь в проекте с её стороны, всё чем я могу помочь в замен, это обратить внимание других к её проекту. Вот поэтому и пишу тут. Ну и как бы всё.

LINUX-ORG-RU
()

Кажется баг разметки markdown [4.2 Ложная тревога]

 ,

После завершающих трёх апострафов если они на той же строке где последняя строка содержимого, следующая строка тоже обрамляется в код.

Тест (копия из шапки по ссылке)

[sudo] пароль для zz: 
проверка зависимостей...
ошибка: не удалось подготовить транзакцию (не удалось удовлетворить зависимости)
:: removing xfconf breaks dependency 'xfconf' required by libxfce4ui
:: removing exo breaks dependency 'exo' required by ristretto
:: removing xfconf breaks dependency 'xfconf' required by ristretto
:: removing tumbler breaks dependency 'tumbler' required by ristretto
:: removing thunar breaks dependency 'thunar' required by thunar-archive-plugin
:: removing thunar breaks dependency 'thunar' required by thunar-media-tags-plugin
:: removing exo breaks dependency 'exo' required by xfburn
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-battery-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-clipman-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-cpufreq-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-cpugraph-plugin
:: removing xfconf breaks dependency 'xfconf' required by xfce4-cpugraph-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-dict
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-diskperf-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-eyes-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-fsguard-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-genmon-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-mailwatch-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-mount-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-mpc-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-netload-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-notes-plugin
:: removing xfconf breaks dependency 'xfconf' required by xfce4-notifyd
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-places-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-pulseaudio-plugin
:: removing garcon breaks dependency 'garcon' required by xfce4-screensaver
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-screenshooter
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-sensors-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-smartbookmark-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-systemload-plugin
:: removing xfconf breaks dependency 'xfconf' required by xfce4-taskmanager
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-time-out-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-timer-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-verve-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-wavelan-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-weather-plugin
:: removing garcon breaks dependency 'garcon' required by xfce4-whiskermenu-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-whiskermenu-plugin
:: removing xfce4-panel breaks dependency 'xfce4-panel' required by xfce4-xkb-plugin
[zz@user ~]$```

пожалуйста подскажите как исправить?
LINUX-ORG-RU
()

У кого есть процессор с sse4.2? [Решено: Всем спасибо. Больше не надо!]

 

Прошу помочь, нужен вывод программы поглядеть.

git clone https://github.com/htot/crc32c.git
cd crc32c/crc32c && make && ./crc32c_test

Через секунду нажать Ctrl + C прервав вывод и показать первые 10 строчек. Если там будет вывод, если я не путаю если всё ОК вывода вообще почти не будет


Зачем

Ковыряю opemu модуль, починил сборку под 6.13+ и делаю попытки разобраться где неправильно инструкции эмулируются, но надо убедиться что проект выше тест прогоняет не с фейлом по умолчанию. А то мало ли, просто смотрю на PINSRQ и вроде как нормально всё. Короче сам пока не знаю, ковырять надо, но хотелось бы увидеть что там выводит на современном процессоре.


P.S. Раньше тестировал эмуляцию SSE4.2 на игре Black Mesa которую обновили и сломали работу на старых машинках (которые игру тянут легко), а сегодня обнаружил что игра теперь работает как раньше, сделали сборку по человечески и для человеков!

Перемещено hobbit из general

LINUX-ORG-RU
()

Возможно, диск скоро сломается!

 ,

6 лет верой и правдой служит мне корнем Seagate 80 Гб IDE ST380021A (3.19) это далеко не самый старый HDD в системе. Но что-то в последнее время полетел в космос Raw Read Error Rate видимо что-то не так.
Вчера на ~43 миллиона ошибок было меньше :) Но все ошибки были исправлены аппаратным ECC и как бы ладно.

"ID","Name","Failed",            "Normalized","Worst","Threshold", "Raw value",    "Type","Flags"
   1,"Raw Read Error Rate",         "never",    "78",  "59", "34", "243 580 482",  "pre-failure","POSR-- "
   3,"Spin-Up Time",                "never",    "70",  "70",  "0",           "0",  "pre-failure","PO---- "
   4,"Start / Stop Count",          "never",   "100", "100", "20",         "375",  "old age","-O--CK "
   5,"Reallocated Sector Count",    "never",   "100", "100", "36",           "7",  "pre-failure","PO--CK "
   7,"Seek Error Rate",             "never",    "84",  "60", "30", "258 216 563",  "pre-failure","POSR-- "
   9,"Power-On Time",               "never",    "37",  "37",  "0",      "55 920",  "old age","-O--CK "
  10,"Spin Retry Count",            "never",   "100", "100", "97",           "0",  "pre-failure","PO--C- "
  12,"Power Cycle Count",           "never",    "95",  "95", "20",       "5 694",  "old age","-O--CK "
 194,"Temperature (Celsius)",       "never",    "37",  "57",  "0",          "37",  "old age","-O---K "
 195,"Hardware ECC Recovered",      "never",    "78",  "59",  "0", "243 580 482",  "old age","-O-RC- "
 197,"Current Pending Sector Count","never",   "100", "100",  "0",           "0",  "old age","-O--C- "
 198,"Offline Uncorrectable",       "never",   "100", "100",  "0",           "0",  "old age","----C- "
 199,"UDMA CRC Error Count",        "never",   "200", "169",  "0",          "58",  "old age","-OSRCK "
 200,"Total Read Commands Issued",  "never",   "100", "253",  "0",           "0",  "old age","------ "
 202,"Total Count of Error Bits",   "never",    "98", "251",  "0",           "2",  "old age","-O--CK "

Ничего конечно же я менять не буду. Делаем ставки сколько ещё прослужит :) А есть ли у вас относительно старые HDD с такими показателями, которые продолжают служить годами дальше и всё хорошо?
В целом то всё нормально, нет я его не пинал. В теории пока меня не было дома, кто-то из соседей мог штробить стены например, и допустим лютейшая вибрация шатала весь дом. Вот оно и. Да?

Просто у меня раньше диски проще дохли, издавали «кря» потом «ыть-ыть-ыть» и всё.

LINUX-ORG-RU
()

Score: 1000

 , , , очивка,

Целая тыща, тыыыысячааа, тыщщёнка, косарь, сто десятков.

Что на них можно купить? ::)

+++++++++[>++++++<-]>-----.-...

Ниже рассказывайте что вы разрабатываете, или настраиваете, это хоть немного добавит смысла этому треду в пятницу. А линукс тут при том что я @LINUX-ORG-RU

К слову, на ресурсах посвящённых разработке игр, практически всех, есть традиция в виде скриншотного субботника, где все от мала до велика, хвалятся тем над чем работают, что разрабатывают, переводят, рисуют, паяют и так далее, причём в моменте и как есть, тем самым показывая процесс, каким бы прекрасным или ужасным или ржачным он не был, в том и суть. Очень хорошая и добрая традиция, было бы прикольно если бы и мы не отставали, это добавляет динамики, показывает разнообразие разных дел, творчества и вообще :)

Но это так, к слову. В следующую субботу (если не забуду) попробую подстегнуть.

LINUX-ORG-RU
()

virt-manager и вывод графики

 , , , ,

Возможно ли заставить virt-manager отображать графику также шустро как при kvm -display gtk,gl=on --device virtio-vga-gl?

Уточню в virt-manager настроено ускорение и на госте glxinfo -B показывает что всё хорошо, всё ускорено, устройство virgl OpenGL 4.2, также как и при -display gtk,gl=on запуске виртуалки из терминала, а не через virt-manager, разница именно что я так понимаю в выводе итоговом изображении.

Я глубоко не вникал, но при запуске в ручном режиме можно спокойно внутри в 3D шутеры гонять, но неудобно манипуляции всякие делать типа подключить/отключить CD на горячую. Через virt-manager наоборот можно мышевозить, гасить одно, запускать другое и прочее, но вывод лагает :(

А я с 3D работаю и на гостях тестирую.


Заранее отвечу проброс карты невозможен, материнка M4A88TD-M/USB3 не умеет.
Да и не нужно, virgl выдаёт на глаз нативное ускорение, но только при выводе через gtk/sdl

Я гуглил, но информации много, порой противоречивой, мне главное узнать можно ли то что я хочу или нет

LINUX-ORG-RU
()

Новая статья: «Эволюция Lua, продолжение»

 , , ,

Вышла вторая статья посвящённая эволюции развития языка Lua.

Анонс

Первая часть - 2007

Вторая часть - 2025

Я ещё не читал, кому интересно, почитайте :)

---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
(function(v) local f f = function(v) print(v) return f end return f(v)  end)
----------------------------------------------------------------------------
                                "Lua"
                                "Это"
                               "Весело!"
                              "Полезно!"
                             "Интересно!"
----------------------------------------------------------------------------
                  string.format("%s","hello world!")
---- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Всем бобра. Досвиданья.

Перемещено hobbit из general

LINUX-ORG-RU
()

Международный день резервного копирования!

 , ,

Делаем резервные копирования, и спим спокойно! Кто чем делает резервные копирования? Что резервируете?


Я бекаплю свой домашний ПеКа самописным скриптом cutebackup, больше мне нечего бекапить.
А как дела с этим у вас? Вы уже потеряли все свои данные и начали делать бекапы, или ещё нет? :)


Рассказывайте и делитесь опытом! Хвалитесь наработками и популяризируйте резервное копирование! Возможно у вас есть увлекательные истории.

Всем бобра и sync!

LINUX-ORG-RU
()

Интересный раскладной ноутбук :D

 , , , ,

Я прям представляю как кто-то на автомате его будет не складывать, а просто закрывать… Прям золото для ремонтников.

Лучше бы сделали матрицы разворачивающиеся рулончиками, типа как свитки в тубусе, как в фантастических фильмах, там карты местности обычно такие были, тоже херня будет, но зато прикольная и перегибами не будет страдать.

У меня всё, просто поделился находкой в интернете. Наверное на нём может работать Linux, накатили бы?

Единственный плюс, код писать удобно. Сразу много видно

LINUX-ORG-RU
()

Lua workshop 2025 - поиск организатора

 

Roberto Ierusalimschy ищет организаторов.

Может кто-то связан со всякими организациями, может кому будет интересно связаться с Роберту для организации выступлений и не только.

Ранее проводимые мероприятия


Главное чтобы не связывались те кто хотел бы пригласить Роберту как свадебного капитана. Анонимная группа пользователей будет наводить глубокие справки по организатору и всем причастным. А то бывают клоуны, путающие свои корпоративы и подобные вещи с техническими форумами :)

LINUX-ORG-RU
()

★★★★★ C 8 Марта Девочки ::) ★★★★★

 , линукстян

Девушки ♥ LOR`а 🐥 ★★★★★★★★★★★★ 🐥 лучшие в мире

@acidpink @alpha @Ann @Aesdana @Adelya @PenguinSociophob @cavia_porcellus @Daria @D_Silina @enigma @far_tuna @isako @Jills @Jokie @kpx13 @lolset @Michkova @Monstreek @Nataly @OperaSoftvvare @rual_ilmarranen @Sylvia @Iron_Bug @tisy20 @tsarevna @Terry @Svetl @sudo @totik @Vikulya5 @TikName @nyka @romanova-olga @nmironich @Murg @Morskaya @marip68 @manik207 @LenaHR @kate24 @dasha @gssomi @Esernoke @Elenalinux @AnnaS @bel-ka @Joanna @maslv12 @Sylvia @DanaDana @krasnopuz @Veshutka @AnMv @eurozyeniz @Helmin @acidpink @Aesdana @alpha @AnnaS @Daria @D_Silina @Elenalinux @Esernoke @karapuz13 @far_tuna @gssomi @Jills @Jokie @kate24 @LenaHR @manik207 @marip68 @Morskaya @Murg @nmironich @lapasonya @nyka @PenguinSociophob @BlackKub @FoxSnejanaFox @AnastasiaM @Ann @Antonova @anutik @cavia_porcellus @Dariap @Dirty_Diana @ValK @elen12354 @enigmap @Fantasma @gssomi @Katya2023 @Homura_Akemi @nastya97core @irina_ivanovna @isako @Irma @jessgt @Jills @Jokie @kalterfive @kpx13 @lolset @LucidFox @Pelageya @Marisa @Michkova @Monstreek @Murg @Nanodesu @Nastya_F @Nataly @OperaSoftvvare @PenguinSociophob @reserved @rual_ilmarranen @Silvy @TatianaSh @totik @Veronika @wizo4ka @xenia @yanka @monolith @altgona @AnnaS @Darja @elodia @karapuz13 @Lizhen @llinuxx @Kapusha и всех остальных кого не замечал, с праздником, девушки, бабушки, мамы, дочери, сёстры. Ну и виртуалы конечно если я где обознался 🐥 По традиции путанница и дублирование ников. С празником вас наши вы солнышки. Берегите себя и здоровья вам.

LINUX-ORG-RU
()

«Письмо счастья» от провайдера - повышение цен

 , , , ,

Сижу, что-то ЛОР не включается, ага, интернету нету, перехожу а мне капсом «бла бла бла, новые законы, бла бла бла, новая ситуация в стране, и поэтому на все тарифы всего и вся цена +100 рублей» (без каких либо уточнений) :( А это 25% от стоимости интернета у меня, это много.

Какой такой там закон приняли что «вынудили» провайдера поднять цены аж на четверть? И это тут на четверть, есть ещё услуга за 150 рублей, так она теперь 250 будет стоить. А если бы услуга стоила 50 то 150 стала бы соответственно, короче не пропорционально, а тупо на всё плюс сотку. Жесть.

У кого провайдеры резко на четверть/половину/два раза подняли цены?

Загуглил, ну сайт провайдера по словам в сообщении, так попались на глаза новости что мол многие провайдеры резко повысили цены. А конкретную причину никто не пишет. А просто мол проблемы с оборудованием, проблемы там и сям, все те которые и так уже годами есть. Почему так резко и все(многие) то?

Просто нагуглить явную причину не могу. А так, наверное буду отказываться от второй услуги вообще и думать как слезть на тариф поменьше с интеренетом. А то завтра фигак и ещё раз поднимут, скажут «сорян цена теперь X2» :(

[белка итеричка]картель? случайным образом случился флушмоб повышения цен, чтобы не создавать резкой разницы, повышам, так все! И пожали руки? Или реально какой закон который просто вынуждает это делать всех кто оказывает услуги связи, а те просто переложили проблемы со своих доходов на плечи пользователей[/белка итеричка]

LINUX-ORG-RU
()

Если у кого более не работает приложение youtube на старых телефонах

 , , засранцы

На android 6 например, при запуске приложения выскакивает плашка

- перейдите на сайт youtube.com 
- эта версия ютубе устарела, а обновления для вашего устройства недоступны

То зайти в Настройки->Приложения->Youtube и удалить Данные приложения

Если теперь запустить, то всё работает, но если приложение закрыть и открыть снова, то плашка снова вылезет, если вылезла повторить операцию.
Короче всё работает до первого перезапуска приложения, а сброс данных приложения, лечит, до первого перезапуска приложения.

Всем бобра
Досвиданья

LINUX-ORG-RU
()

zomg_ponies вернулся!!!!!

 , zomg ponies, , эпоха

Если выбрать его в настройках, тока вот есть нюанс

Если потом нажать сохранить :)

UPDATE: А не, у меня стоит tango-auto попытка сменить на любую иную тему, приводит к тому же самому.

LINUX-ORG-RU
()

SONC - Клиент для приёма звука по сети

 , , , ,

- APK сборки НЕ рабочие оказались :( Andoid сборки удалю.
- Для запуска sonc.love можно использовать ПО из дистрибутива или Love2D для Android. 

Пятница развратница! Но это у нормальных людей, так что…
Скромное, нубское приложение на Love2D, застряло не этапе прототипа более года назад, но я пользуюсь им постоянно. Может кому пригодится.

Просто принимает 16bit LE PCM звук отправленный по сети через PulseAudo - module-simple-protocol-tcp

Исходнки

Как выглядит, там на картинке есть, я прям с LOR галереи стащил :D


Есть сборки для Android

Которые даже не проверялись на работоспособность. Нет аппарата, окончательно подох.
Но там ещё lovefile есть который можно запустить как на ПК, так и на Android через Love2d с плеймаркета .


Универсальный lovefile

  • sonc.love

Который можно запустить где угодно где есть Love2D 11+, сам я его и использую.
love файл это zip архив с программой, который может быть запущен программой love (для тех кто не знает)


Ну, в целом всё, баги есть чинить буду по мере возможностей. Процессор долбит прилично, звук заикается из за прохода GC в Lua и потом отстаёт всё сильнее и сильнее, всё как полагается. Это можно исправить, видно будет, как ни будь потихонечку.

И да, гитфлик на даёт качать тем кто не зареган, очень странно…

Так что вот ещё, временно сборки тут


На самом деле я просто хочу узнать оно вообще на android запускается или нет, и apk рабочие или нет, а то я тут насобирал да и вообще многие вещи делаю просто в слепую. Типа как бы оно должно работать, но типа как бы и не совсем обязано :D Эх…

Есть много гораздо более лучших реализаций, лучших на голову и во всём, это так, NIH синдроммная метастаза в виде пупыри. Маленька, страшненька, но зато своя, родная ^.^ программулька.

Для тех кто не в курсе что такое Love2D

Вот как-то так вот.
Всем бобра. Досвиданья.

LINUX-ORG-RU
()

Прошивка телефона

 ,

Суть собственно в том что для задумки некого проекта мне нужна камера, камера есть на полуживом Beeline Smart 6 для него же будет писаться приложение, но он сейчас лишь включается показывает попытку зарядки (батарейки нет) и выключается, ранее телефон работал как звуковая карта (всё так же без батарейки, внутри проброшены проводки). По идее можно попробовать прошить на заводскую прошивку, у меня конечно её нет, но есть на 4pda при подключении в логах dmesg появляется

[  571.295045] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  571.295054] usb 3-4: Product: MT65xx Preloader
[  571.295060] usb 3-4: Manufacturer: MediaTek

Насколько я понимаю этого уже достаточно чтобы прошить, хоть телефон и не бубу, но ранее там через меню разработчика было разлочен загрузчик, да и вообще всё что нельзя включено (ну типа, если я правильно помню).

Чем сейчас MediaTekи прошивают из под линукса? Может получится оживить, ну или добить окончательно.

UDP: Помянем, аппарат помер, физически.

LINUX-ORG-RU
()

Там у jabber.ru сертификат опят поехал не туда или не тот

 

Суть

По мотивам MITM-атака на JABBER.RU и XMPP.RU

Это что? Вернее почему?

Перемещено hobbit из general

LINUX-ORG-RU
()

SDL3 - Камера - Заметка

 , , , ,

Короче захотел сделать фотку через SDL3 столкнулся с парой проблем.

Пишу просто по причине того что я долго ломал голову что не так, откуда ошибка, пока не втыкнул паузу, почему вместо снимка чернота, пока не пропустил несколько первых кадров. Для меня это было нифига не очевидно, может кому сэкономит время.

  1. Появляется ошибка Parameter 'surface' is invalid если не сделать паузу после открытия камеры, решается в установлении паузы в 0,5 секунды после SDL_OpenCamera

  2. Первые кадры с камеры либо просто чёрные, либо очень тёмные. Решается пропуском (в моём случае 7) нескольких первых кадров.

Я забросил в SDL3 уведомительное issue, чтобы было

Продублирую тут тестовый пример и результаты

Информация о системе

Web-camera встроена в ноут, понятия не имею что за камера
description: Notebook
    product: K53U
    vendor: ASUSTeK Computer Inc.
    version: 1.0
Distributor ID:	Debian
Description:	Debian GNU/Linux 12 (bookworm)
Release:	12
Codename:	bookworm
fedor@nixfed:~/drawshoot$ cat SDL3/VERSION.txt 
3.1.3
fedor@nixfed:~/drawshoot$

Тестовый код

Makefile

SDL_DIR=SDL3
SDL_LIB_DIR=$(SDL_DIR)/build
SDL_INC_DIR=$(SDL_DIR)/include

test-1:
	$(CC) main.c -I$(SDL_INC_DIR) -L$(SDL_LIB_DIR) -lSDL3 -o app

test-2:
	$(CC) main.c -I$(SDL_INC_DIR) -L$(SDL_LIB_DIR) -lSDL3 -o app -DENABLE_DELAY

test-3:
	$(CC) main.c -I$(SDL_INC_DIR) -L$(SDL_LIB_DIR) -lSDL3 -o app -DENABLE_DELAY -DENABLE_FRAMEDROP


sdl:
	cd $(SDL_DIR) && mkdir build
	cd  $(SDL_DIR)/build && cmake ..
	cd  $(SDL_DIR)/build && $(MAKE) -j2

clean:
	-$(MAKE) -C $(SDL_DIR) clean
	-rm app

run:
	LD_LIBRARY_PATH=$(SDL_DIR)/build ./app

main.c

#include "SDL3/SDL.h"
#include "SDL3/SDL_camera.h"
#include <stdio.h>

/*just for debug*/
const char * pixel_format_name(SDL_PixelFormat format)
{
    switch(format){
    case SDL_PIXELFORMAT_UNKNOWN:    return      "UNKNOWN";
    case SDL_PIXELFORMAT_INDEX1LSB:  return      "INDEX1LSB";
    case SDL_PIXELFORMAT_INDEX1MSB:  return      "INDEX1MSB";
    case SDL_PIXELFORMAT_INDEX2LSB:  return      "INDEX2LSB";
    case SDL_PIXELFORMAT_INDEX2MSB:  return      "INDEX2MSB";
    case SDL_PIXELFORMAT_INDEX4LSB:  return      "INDEX4LSB";
    case SDL_PIXELFORMAT_INDEX4MSB:  return      "INDEX4MSB";
    case SDL_PIXELFORMAT_INDEX8:     return      "INDEX8";
    case SDL_PIXELFORMAT_RGB332:     return      "RGB332";
    case SDL_PIXELFORMAT_XRGB4444:   return      "XRGB4444";
    case SDL_PIXELFORMAT_XBGR4444:   return      "XBGR4444";
    case SDL_PIXELFORMAT_XRGB1555:   return      "XXRGB1555";
    case SDL_PIXELFORMAT_XBGR1555:   return      "XXBGR1555";
    case SDL_PIXELFORMAT_ARGB4444:   return      "XARGB4444";
    case SDL_PIXELFORMAT_RGBA4444:   return      "XRGBA4444";
    case SDL_PIXELFORMAT_ABGR4444:   return      "XABGR4444";
    case SDL_PIXELFORMAT_BGRA4444:   return      "XBGRA4444";
    case SDL_PIXELFORMAT_ARGB1555:   return      "XARGB1555";
    case SDL_PIXELFORMAT_RGBA5551:   return      "XRGBA5551";
    case SDL_PIXELFORMAT_ABGR1555:   return      "XABGR1555";
    case SDL_PIXELFORMAT_BGRA5551:   return      "XBGRA5551";
    case SDL_PIXELFORMAT_RGB565:     return      "XRGB565";
    case SDL_PIXELFORMAT_BGR565:     return      "XBGR565";
    case SDL_PIXELFORMAT_RGB24:      return      "XRGB24";
    case SDL_PIXELFORMAT_BGR24:      return      "XBGR24";
    case SDL_PIXELFORMAT_XRGB8888:   return      "XXRGB8888";
    case SDL_PIXELFORMAT_RGBX8888:   return      "XRGBX8888";
    case SDL_PIXELFORMAT_XBGR8888:   return      "XXBGR8888";
    case SDL_PIXELFORMAT_BGRX8888:   return      "XBGRX8888";
    case SDL_PIXELFORMAT_ARGB8888:   return      "XARGB8888";
    case SDL_PIXELFORMAT_RGBA8888:   return      "XRGBA8888";
    case SDL_PIXELFORMAT_ABGR8888:   return      "XABGR8888";
    case SDL_PIXELFORMAT_BGRA8888:   return      "XBGRA8888";
    case SDL_PIXELFORMAT_XRGB2101010:   return   "XXRGB2101010";
    case SDL_PIXELFORMAT_XBGR2101010:   return   "XXBGR2101010";
    case SDL_PIXELFORMAT_ARGB2101010:   return   "XARGB2101010";
    case SDL_PIXELFORMAT_ABGR2101010:   return   "XABGR2101010";
    case SDL_PIXELFORMAT_RGB48:         return   "XRGB48";
    case SDL_PIXELFORMAT_BGR48:         return   "XBGR48";
    case SDL_PIXELFORMAT_RGBA64:        return   "XRGBA64";
    case SDL_PIXELFORMAT_ARGB64:        return   "XARGB64";
    case SDL_PIXELFORMAT_BGRA64:        return   "XBGRA64";
    case SDL_PIXELFORMAT_ABGR64:        return   "XABGR64";
    case SDL_PIXELFORMAT_RGB48_FLOAT:   return   "XRGB48_FLOAT";
    case SDL_PIXELFORMAT_BGR48_FLOAT:   return   "XBGR48_FLOAT";
    case SDL_PIXELFORMAT_RGBA64_FLOAT:  return   "XRGBA64_FLOAT";
    case SDL_PIXELFORMAT_ARGB64_FLOAT:  return   "XARGB64_FLOAT";
    case SDL_PIXELFORMAT_BGRA64_FLOAT:  return   "XBGRA64_FLOAT";
    case SDL_PIXELFORMAT_ABGR64_FLOAT:  return   "XABGR64_FLOAT";
    case SDL_PIXELFORMAT_RGB96_FLOAT:   return   "XRGB96_FLOAT";
    case SDL_PIXELFORMAT_BGR96_FLOAT:   return   "XBGR96_FLOAT";
    case SDL_PIXELFORMAT_RGBA128_FLOAT: return   "XRGBA128_FLOAT";
    case SDL_PIXELFORMAT_ARGB128_FLOAT: return   "XARGB128_FLOAT";
    case SDL_PIXELFORMAT_BGRA128_FLOAT: return   "XBGRA128_FLOAT";
    case SDL_PIXELFORMAT_ABGR128_FLOAT: return   "XABGR128_FLOAT";
    case SDL_PIXELFORMAT_YV12:          return   "XYV12";
    case SDL_PIXELFORMAT_IYUV:          return   "XIYUV";
    case SDL_PIXELFORMAT_YUY2:          return   "XYUY2";
    case SDL_PIXELFORMAT_UYVY:          return   "XUYVY";
    case SDL_PIXELFORMAT_YVYU:          return   "XYVYU";
    case SDL_PIXELFORMAT_NV12:          return   "XNV12";
    case SDL_PIXELFORMAT_NV21:          return   "XNV21";
    case SDL_PIXELFORMAT_P010:          return   "XP010";
    case SDL_PIXELFORMAT_EXTERNAL_OES:  return   "XEXTERNAL_OES";
    }
    return "UNKNOWN";
}

int main(int argc, char *argv[])
{
    SDL_InitSubSystem(SDL_INIT_CAMERA);
    int camera_count = 0;
    SDL_CameraID * camera_id = SDL_GetCameras(&camera_count);
    printf("count=%d id=%u %s\n",camera_count,camera_id,SDL_GetError());
    SDL_CameraSpec ** camera_spec;
    int camera_specs = 0;
    camera_spec = SDL_GetCameraSupportedFormats(*camera_id,&camera_specs);
    /*show supported formats and resolutions*/
    for(int i=0; i != camera_specs;i++)
    {
        printf("camera=%-2i "
               "w=%-4d h=%-4d "
               "format=%-14s "
               "frame_n=%-3d "
               "frame_d=%d\n",
               i,
               camera_spec[i]->width,
               camera_spec[i]->height,
               pixel_format_name(camera_spec[i]->format),
               camera_spec[i]->framerate_numerator,
               camera_spec[i]->framerate_denominator);
    }
    /*init camera*/
    SDL_Camera * cam =  SDL_OpenCamera(*camera_id, camera_spec[0]);

    #ifdef ENABLE_DELAY
        SDL_Delay(5000);
    #endif

    printf("[1] %s\n",SDL_GetError());
    SDL_Surface * frame;
    Uint64 t=0;
    SDL_Surface * s;
    SDL_Event event;
    while ( SDL_WaitEvent(&event) >= 0 )
    {
       if(event.type == SDL_EVENT_CAMERA_DEVICE_APPROVED)
       {
            printf("DEVICE_APPROVED!\n");
            break;
       };
       if(event.type == SDL_EVENT_CAMERA_DEVICE_DENIED)
       {
            printf("DEVICE_DENIED!\n");
            return 0;
       };
    }

    #ifdef ENABLE_FRAMEDROP
    for(int i=0;i<7;i++)
    {
        frame = SDL_AcquireCameraFrame(cam, &t);
        SDL_ReleaseCameraFrame(cam, frame);
    }
    #endif

    /*take photo*/
    frame = SDL_AcquireCameraFrame(cam, &t);
    printf("[2] %lu %s\n",t,SDL_GetError());
    /*convert photo*/
    s = SDL_ConvertSurface(frame, SDL_PIXELFORMAT_RGB24);
    /*save result*/
    SDL_SaveBMP(s,"out.bmp");
    printf("[4] %lu %s\n",t,SDL_GetError());
    /*release memory*/
    SDL_ReleaseCameraFrame(cam, frame);
    printf("[4] %lu %s\n",t,SDL_GetError());
    SDL_Quit();
    return 0;
}

Результаты

  • Ошибка Invalid surface
fedor@nixfed:~/drawshoot$ make test-1 run
cc main.c -ISDL3/include -LSDL3/build -lSDL3 -o app
LD_LIBRARY_PATH=SDL3/build ./app
count=1 id=845253408 
camera=0  w=640  h=480  format=XYUY2          frame_n=30  frame_d=1
camera=1  w=640  h=480  format=XYUY2          frame_n=25  frame_d=1
camera=2  w=640  h=480  format=XYUY2          frame_n=20  frame_d=1
camera=3  w=352  h=288  format=XYUY2          frame_n=30  frame_d=1
camera=4  w=352  h=288  format=XYUY2          frame_n=25  frame_d=1
camera=5  w=352  h=288  format=XYUY2          frame_n=20  frame_d=1
camera=6  w=320  h=240  format=XYUY2          frame_n=30  frame_d=1
camera=7  w=320  h=240  format=XYUY2          frame_n=25  frame_d=1
camera=8  w=320  h=240  format=XYUY2          frame_n=20  frame_d=1
camera=9  w=176  h=144  format=XYUY2          frame_n=30  frame_d=1
camera=10 w=176  h=144  format=XYUY2          frame_n=25  frame_d=1
camera=11 w=176  h=144  format=XYUY2          frame_n=20  frame_d=1
camera=12 w=160  h=120  format=XYUY2          frame_n=30  frame_d=1
camera=13 w=160  h=120  format=XYUY2          frame_n=25  frame_d=1
camera=14 w=160  h=120  format=XYUY2          frame_n=20  frame_d=1
[1] 
DEVICE_APPROVED!
[2] 0 
[4] 0 Parameter 'surface' is invalid
[4] 0 Parameter 'surface' is invalid
fedor@nixfed:~/drawshoot$ 

  • Чёрный снимок вместо нормального
fedor@nixfed:~/drawshoot$ make test-2 run
cc main.c -ISDL3/include -LSDL3/build -lSDL3 -o app -DENABLE_DELAY
LD_LIBRARY_PATH=SDL3/build ./app
count=1 id=3957504800 
camera=0  w=640  h=480  format=XYUY2          frame_n=30  frame_d=1
camera=1  w=640  h=480  format=XYUY2          frame_n=25  frame_d=1
camera=2  w=640  h=480  format=XYUY2          frame_n=20  frame_d=1
camera=3  w=352  h=288  format=XYUY2          frame_n=30  frame_d=1
camera=4  w=352  h=288  format=XYUY2          frame_n=25  frame_d=1
camera=5  w=352  h=288  format=XYUY2          frame_n=20  frame_d=1
camera=6  w=320  h=240  format=XYUY2          frame_n=30  frame_d=1
camera=7  w=320  h=240  format=XYUY2          frame_n=25  frame_d=1
camera=8  w=320  h=240  format=XYUY2          frame_n=20  frame_d=1
camera=9  w=176  h=144  format=XYUY2          frame_n=30  frame_d=1
camera=10 w=176  h=144  format=XYUY2          frame_n=25  frame_d=1
camera=11 w=176  h=144  format=XYUY2          frame_n=20  frame_d=1
camera=12 w=160  h=120  format=XYUY2          frame_n=30  frame_d=1
camera=13 w=160  h=120  format=XYUY2          frame_n=25  frame_d=1
camera=14 w=160  h=120  format=XYUY2          frame_n=20  frame_d=1
[1] 
DEVICE_APPROVED!
[2] 706952397 
[4] 706952397 
[4] 706952397 
fedor@nixfed:~/drawshoot$ 
  • Всё хорошо, ошибок нет, фотография с камеры нормальная
fedor@nixfed:~/drawshoot$ make test-3 run
cc main.c -ISDL3/include -LSDL3/build -lSDL3 -o app -DENABLE_DELAY -DENABLE_FRAMEDROP
LD_LIBRARY_PATH=SDL3/build ./app
count=1 id=3940756256 
camera=0  w=640  h=480  format=XYUY2          frame_n=30  frame_d=1
camera=1  w=640  h=480  format=XYUY2          frame_n=25  frame_d=1
camera=2  w=640  h=480  format=XYUY2          frame_n=20  frame_d=1
camera=3  w=352  h=288  format=XYUY2          frame_n=30  frame_d=1
camera=4  w=352  h=288  format=XYUY2          frame_n=25  frame_d=1
camera=5  w=352  h=288  format=XYUY2          frame_n=20  frame_d=1
camera=6  w=320  h=240  format=XYUY2          frame_n=30  frame_d=1
camera=7  w=320  h=240  format=XYUY2          frame_n=25  frame_d=1
camera=8  w=320  h=240  format=XYUY2          frame_n=20  frame_d=1
camera=9  w=176  h=144  format=XYUY2          frame_n=30  frame_d=1
camera=10 w=176  h=144  format=XYUY2          frame_n=25  frame_d=1
camera=11 w=176  h=144  format=XYUY2          frame_n=20  frame_d=1
camera=12 w=160  h=120  format=XYUY2          frame_n=30  frame_d=1
camera=13 w=160  h=120  format=XYUY2          frame_n=25  frame_d=1
camera=14 w=160  h=120  format=XYUY2          frame_n=20  frame_d=1
[1] 
DEVICE_APPROVED!
[2] 1329622684 
[4] 1329622684 
[4] 1329622684 
fedor@nixfed:~/drawshoot$ 

Может быть кому пригодится, досвиданья ::)

LINUX-ORG-RU
()

Теперь у меня есть флееешкааа! 32 Гигабата!

 , , , , эпохальное событие

Это случилось! Теперь я не могу к месту и без говорить что у меня нет флешки! Это даже немножко грустно :( Но да ладно :)

Раньше у меня была вот такая только самодельная флешка на аж 4 килобайта, пополам с UART на ATmega8, на базе V-USB, но она давно дала дубу.

А теперь я как настоящий хипстер с 32 гигабатами

Сейчас я буду устанавливать все лиунксы


Да жж, ну и что. Во первых пятница! Во вторых Linux-install. А ещё это моя первая флешка за лет…10 наверное! Так что это то о чём нельзя молчать! Принимаю ваши поздравления. Расскажите вашу историю про вашу флешку. Наверняка вам есть что сказать!
НЕпреднамеренное нарушение русского языка вызвано особой стилистической подачей художественного текста

LINUX-ORG-RU
()

Видео искалка - reptube

 , , , ,

Студия Колобо.. кхм. Конгломерат корпораций "000 На Коленочке ЛТД" от создателей "И таааак сойдёёёт" представляяяееет! Очередную, но уникальную во всей солнечной системе, а может быть даже галактике, фигню!
Короче суть проста как две палки, часто кидают ссылки на ютуб которые нифига не работают, но иногда есть аналогичное видео на rutube/platforma/my.mail/etc и для автоматизации поиска накалякалось. Главное чтобы youtube.com не блокировался полностью, чтобы по ссылке можно было извлечь название видео. Можно просто искать видео на rutube/platforma/my.mail/etc с разным форматом вывода, пайпы, m3u вывод для mpv и прочее Собственно воть и всё. Конечно, можно просто использовать браузер и использовать поиск в нём, но вот зачем это делать, если это можно не делать! Гениально, где моя шоколадная медалька.

Недоисходники

Чет я приболел, лень писать смешульки так что я тут тупо скопирую readme дабы не запаривать Ъ своим очередным высеро…шедевром


Зависимости

Любая версия Lua и утилита curl

  • Lua5.1
  • Luajit
  • Lua5.2
  • Lua5.3
  • Lua5.4

Использование

  • Аргументы опциональные
    • -h Отобразить справку
    • -d Отключить цветной вывод
    • -n [NUMBER] Количество результатов для вывода, в каждом из ресурсов
    • -v Подробный вывод, описание, имя канала, категория
    • -m Вывод в формате m3u (удобно для передачи в mpv)
    • -s Искать только точное совпадение с запросом
    • -l Отображать вывод в виде списка чистых ссылок
    • -ru --rutube Отобразить результаты с rutube.ru
    • -pl --platforma Отобразить результаты с platforma.ru
    • -my --mymail Отобразить результаты с my.mail.ru
    • -ok --okru Отобразить результаты с ok.ru
    • -dz --dzen Отобразить результаты с dzen.ru
    • -co --coub Отобразить результаты с coub.com

По умолчанию поиск ведётся везде, если вы выберите -ru будет показан
только вывод с rutube, если вы выберите больше ключей например ‘-pl -ru’
то будет выведено только то что выбрано, и в том порядке в котром идут ключи

Примеры

Использовать для поиска текстовый запрос, вывести 10 результатов с подробностями
аргументы можно спокойно смешивать с запросом, если в запросе нет символа - и
других символов интерпретируемых терминалом, в ином случае 'нужно обернуть в каычки'

reptube Рецепты салатов -n 10 -v

Получить только 1 вариант с названием

reptube -n 1 Почему надо выключать телефоны на борту самолета

Найти видео по ссылке из youtube

reptube https://www.youtube.com/watch?v=jN1fA6zupOM

Найти видео по ссылке из youtube в строгом режиме, 100% совпадение или ничего

reptube -s https://www.youtube.com/watch?v=jN1fA6zupOM

Оформить вывод в формат m3u, полезно для передачи видеоплеерам, например mpv

reptube -m https://www.youtube.com/watch?v=jN1fA6zupOM | mpv -

Можно использовать pipe удобно для скриптов

echo 'Фильмы' | reptube -m | mpv -

Ссылки можно передать в чистом виде как аргументы, но до получения метаданных
названия видео отображаться не будут, но начнут отображение в момент воспроизведения

mpv $(reptube -l Мультики)

Примеры вывода

  • Первое попавшееся видео
dron@gnu:~$ reptube Фильм Матрица -n 1 
* [1] Матрица (фильм, 1999)
  https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • Тоже самое только с подробным выводом
dron@gnu:~$ reptube Фильм Матрица -n 1 -v
* [1] Матрица (фильм, 1999)
  [Фильмач — фильмы и сериалы онлайн][Фильмы]
  Культовый киберпанк братьев Вачовски, стабильно занима
  ющий высокие места во всевозможных топах лучших фильмов. 
  Философский подтекст фильм так глубок, что его корни ищут
   не только в классической мысли, но и более спорных источ
  никах — от классического аниме до «Алисы в стране чудес».
  Днём Томас Андерсон пишет код в одной из поглотивших мир 
  корпораций, а по ночам взламывает цифровые системы. В мир
  е закулисья он носит имя Нео, и в сети для него нет ни од
  ной тайны. Однажды Нео приходит таинственное сообщение= «
  Ты увяз в Матрице», а также указание следовать за белым к
  роликом. Вскоре он находит того самого кролика на спине н
  екой Тринити, и она предлагает ему погрузиться в новую ре
  альность. После этого жизнь Нео разделяется на «до» и «по
  сле».Год выпуска= 1999Жанр= фантастика, боевикПродолжител
  ьность= 136 мин.Режиссёр= Лана Вачовски, Лилли ВачовскиВ 
  ролях= Киану Ривз, Лоренс Фишбёрн, Кэрри-Энн Мосс, Хьюго 
  Уивинг, Глория Фостер, Джо Пантольяно, Маркус Чонг, Джули
  ан Араханга, Мэтт Доран, Белинда МакКлориCтрана= США, Авс
  тралияCтудия= Groucho II Film Partnership, Warner Bros. P
  ictures Co., Bullet Time, Silver PicturesЗдесь вы можете 
  посмотреть фильм Матрица в русском синхронном переводе в 
  хорошем качестве (4k, 2k, Full HD, 1080p) совершенно бесп
  латно.
  https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • В фомате m3u
dron@gnu:~$ reptube Фильм Матрица -n 1 -m
#EXTM3U
#EXTINF:-1,'Матрица (фильм, 1999)'
https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • Чистая ссылка
dron@gnu:~$ reptube Фильм Матрица -n 1 -l
https://rutube.ru/video/307c52af7c3e122855aea0899c247971/
  • Поиск по ссылке на youtube с точным совпадением
dron@gnu:~$ reptube -s 'https://www.youtube.com/watch?v=jN1fA6zupOM'
* [1] Почему надо выключать телефоны на борту самолета
  https://rutube.ru/video/3f329d37994e4f1c9e148028c1bf5d7a/
* [2] Почему надо выключать телефоны на борту самолета
  https://rutube.ru/video/4c87a2ea11f92883cfcfabd63a79c794/
dron@gnu:~$ 
  • Тупа мультики детю врубить (нет фильтра по возрату, на свой страх и риск)
reptube добрые мультфильмы -m | mpv -

Надеюсь кому пригодится
Досвиданья ::)

LINUX-ORG-RU
()