LINUX.ORG.RU

Избранные сообщения superuser

Как повысить разрешение веб-камеры?

Форум — Desktop

Есть у меня какая-та Microdia USB 2.0 camera(0c45:62f1), на винде определялась как Xonix. Максимальное заявленное разрешение: 1280х720 пикселей, что можно выбить на винде ТОЛЬКО с 32-битным драйвером. На 64-битной винде ясное дело драйвер не шёл и максимальное разрешение было 640х480.

На линуксе та же беда. Установлена Ubuntu(64-бит), камеру определяет как /dev/Video0(даже определяет её как /dev/Video1, но с неё уже идут ошибки при использовании). На форуме видел идею с v4l2-ctl -d /dev/video0 -v width=640,height=480, но оно ничего не делает. Я даже не смог найти что делает агрумент -v…

Вывод v4l2-ctl –all:

tyseex@tyseex-desktop:~$ v4l2-ctl --all
Driver Info:
	Driver name      : uvcvideo
	Card type        : USB 2.0 Camera: USB Camera
	Bus info         : usb-0000:00:1d.0-1.3
	Driver version   : 6.3.5
	Capabilities     : 0x84a00001
		Video Capture
		Metadata Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps      : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format
Media Driver Info:
	Driver name      : uvcvideo
	Model            : USB 2.0 Camera: USB Camera
	Serial           : 
	Bus info         : usb-0000:00:1d.0-1.3
	Media version    : 6.3.5
	Hardware revision: 0x00000100 (256)
	Driver version   : 6.3.5
Interface Info:
	ID               : 0x03000002
	Type             : V4L Video
Entity Info:
	ID               : 0x00000001 (1)
	Name             : USB 2.0 Camera: USB Camera
	Function         : V4L2 I/O
	Flags            : default
	Pad 0x01000007   : 0: Sink
	  Link 0x02000013: from remote pad 0x100000a of entity 'Extension 5' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
	Width/Height      : 640/480
	Pixel Format      : 'YUYV' (YUYV 4:2:2)
	Field             : None
	Bytes per Line    : 1280
	Size Image        : 614400
	Colorspace        : sRGB
	Transfer Function : Rec. 709
	YCbCr/HSV Encoding: ITU-R 601
	Quantization      : Default (maps to Limited Range)
	Flags             : 
Crop Capability Video Capture:
	Bounds      : Left 0, Top 0, Width 640, Height 480
	Default     : Left 0, Top 0, Width 640, Height 480
	Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 640, Height 480, Flags: 
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 640, Height 480, Flags: 
Streaming Parameters Video Capture:
	Capabilities     : timeperframe
	Frames per second: 30.000 (30/1)
	Read buffers     : 0

User Controls

                     brightness 0x00980900 (int)    : min=-128 max=127 step=1 default=-5 value=-5
                       contrast 0x00980901 (int)    : min=0 max=127 step=1 default=28 value=28
                     saturation 0x00980902 (int)    : min=0 max=127 step=1 default=64 value=64
                            hue 0x00980903 (int)    : min=-28 max=40 step=1 default=0 value=0
                          gamma 0x00980910 (int)    : min=72 max=255 step=1 default=85 value=85
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=1 value=1 (50 Hz)
				0: Disabled
				1: 50 Hz
				2: 60 Hz
                      sharpness 0x0098091b (int)    : min=0 max=50 step=1 default=20 value=20
         backlight_compensation 0x0098091c (int)    : min=0 max=2 step=1 default=1 value=1

При вводе v4l2-ctl -d /dev/video0 -v width=640,height=480 вообще ничего не произойдёт.

Также видел идею с настройкой кропов v4l2-ctl -d /dev/video0 --set-crop top=10,left=10,width=1280,height=720, но тут только пишет об неизвестном аргументе.

Может быть подскажете как выжать заявленные 720P?

 , , , ,

Tyse_EX
()

Как записывать веб-камеру и одновременно отображать?

Форум — Multimedia

Пытаюсь пристроить веб-камеру к видеонаблюдению и не все получается.

Есть команда записи:

ffmpeg -input_format mjpeg -video_size hd1080 -framerate 30 -f v4l2 -i /dev/video0 -vf "crop=500:500:680:400" test.avi

Есть команда просмотра с камеры:

ffplay -input_format mjpeg -video_size hd1080 -framerate 30 -f v4l2 -i /dev/video0 -vf "crop=500:500:680:400"

А как сделать, что бы одновременно и записывалось и воспроизводилось?

И еще в терминале каждую секунду повторяется сообщение: unable to decode APP fields: Invalid data found when processing input Оно вроде не ущемляет видео, но забивает сообщения в терминале, можно ли его как убрать?

 , ,

victor79
()

Наложение видео на видео из консоли

Форум — Multimedia

Всем привет! Есть задачка накладывать видосы друг на друга, что бы одновременно воспроизводилось видео из множества склеенных во едино роликов. Поиски по интернету не дали однозначного ответа, только склейка, то есть когда ролики идут друг за другом (ffmpeg, mencoder и производные). Склейка должна производиться автоматически, ну то есть будет скриптик, который будет собирать ролики и склеивать, вот как можно это сделать и можно ли? Укажите куда копать, какой инструмент искать, или может есть готовые Web-сервисы (API) или же что другое?

 , ,

kadr86
()

TP-LINK блокировал возможность установки альтернативных прошивок

Новости — Hardware and Drivers
Группа Hardware and Drivers

Разработчики Mesh-сети MetaMesh, использующие беспроводные маршрутизаторы TP-LINK, получили подтверждение у службы поддержки о реализации блокировки загрузчика в очередном обновлении прошивки, которая не позволяет откатиться на прошлую прошивку или установить альтернативную прошивку.

Изменения внесены для приведения устройств в соответствие с новыми требованиями Федеральной комиссии по связи США (FCC), в соответствии с которыми пользователь не должен иметь возможности изменения параметров беспроводного адаптера, влияющих на формирование сигнала.

Самым простым способом соблюдения данного требования является запрет на модификацию или установку сторонних прошивок через проверку загружаемого образа. Предварительное изучение новой прошивки показало что TP-LINK не использует полноценный механизм верификации по цифровой подписи, а лишь проверяет некоторые поля в заголовке прошивки.

В настоящее время ограничения уже введены для моделей Archer C7 V2, Archer C1900 V1, Touch P5 V1, Archer C2600 V1, Archer C3200 V1, Archer C2 V1, Archer C5 V2, Archer C8 V1, Archer C9 V1, TL-WR841N V11, TL-WDR3500 V1, TL-WDR3600, TL-WR940N V3.0, TL- WR1043ND V3.0, TL-WR710N(USA) и TL- WR841N V9.0, но в будущем блокировка также будет реализована и во всех других ещё выпускаемых моделях беспроводных маршрутизаторов TP-LINK.

>>> OpenNet

 , ,

anonymous
()

Как пробросить wol wan => lan в openwrt?

Форум — Admin

Пробовал настроить и на адрес конкретного хоста и на броадкаст, в локалке работают оба варианта, через инет - не пашет.

Провайдер зуб даёт, что они ничего не фильруют.

 , , , ,

pon4ik
()

Можно ли перенаправить стандартный поток одновременно в несколько приемников?

Форум — General

Я читаю статьи про потоки в Linux, и не могу взять в толк: а имеется ли возможность перенаправить поток так, чтобы он попадал не в один приемник, а сразу в несколько? Например, направить какой-нибудь /dev/pts/15 в /dev/ttyS3 и одновременно в файл и одновременно в /dev/pts/32?

Все примеры в статьях крутятся вокруг того, что поток перенаправляется только в один приемник, и все.

Может быть есть какой-то специальный приемник, или стандартная утилита, через которые поток можно «разветвить»? Вроде как имеется утилита tee, но похоже, что она работает только через «|» (stdout левой в stdin правой команды), причем непонятно что она будет делать если у выполняемой команды перенаправлены потоки через «<» и «>».

Если что, вопрос возник вот в этом обсуждении: Xterm в Tk. Почему не каждый цветной терминальный вывод отображается через Popen+communicate? (комментарий)

 , , , ,

Xintrea
()

Внезапно! Виртуализация в процессоре Intel Atom D525

Форум — Linux-hardware

Виртуализация в процессоре Intel Atom D525

Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)

нормально вроде общались Jameson chukcha

 , at5nm10-i, , ,

kindof
()

У меня появился программатор СН341А, но я не могу найти статей, как им работать с онтопика.

Форум — Linux-hardware

Всё только под виндовуз. вывод lsusb:

lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 003: ID 1a86:5512 QinHeng Electronics CH341 in EPP/MEM/I2C mode, EPP/I2C adapter
Bus 006 Device 002: ID 1a2c:0042 China Resource Semico Co., Ltd 
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Что делать дальше пока не знаю, надеюсь на помощь сообщества.

Цель-залить дамп биоса на флешку. Флешку подпаял, через переходник подключил(она 1,8в, там 3,3 только)

Заранее благодарю отвечающих(и троллей за будущий юмор)

 ,

burato
()

IPv6 для не специалиста. Вопрос

Форум — Admin

Преамбула. Узнал, что мой провайдер выдает ipv6.

Если коротко. Пров. делегирует префикс 56. Заинтересовался, настроил. Роутер Mikrotik. Получил по DHCPv6 префикс на внешнем интерфейсе. Как понимаю, получил 256 подсетей(по факту адресов) Раздал на локальный «bridge». С префиксом 64, Все работает. Почитал про, что это вообще и, как работает. Возник вопрос… Какой адрес у интерфейсов роутера? Объясните, пожалуйста, как это работает…) Или поделитесь ссылкой) Как обратиться к внешнему интерфейсу, как к внутреннему? Читал мануалы, статьи, на русском и английском. Как-то этот вопрос обходят стороной. RFC не предлагать. Пытался читать, но, там для спецов…

 

AndrK189100
()

бюджетный бу роутер на 802.11ac

Форум — Linux-hardware

Коллеги , посоветуйте бу дешевый роутер с поддержкой работы wifi в 5ггц ( 802.11ac ) { типо такого Beeline SmartBox ON } и с поддержкой openwrt .

И если это возможно ,плиз поделитесь своим опытом работы в такой связке [ дешёвый бу роутер от провайдера перепрошитый на openwrt ]

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

 ,

pinachet
()

В продажу поступила коробочная версия «Simply Linux» на флешке с поддержкой сроком на один год

Новости — Linux в России
В продажу поступила коробочная версия «Simply Linux» на флешке с поддержкой сроком на один год
Группа Linux в России

«Базальт СПО» выпустила в розничную продажу комплект установки ОС Simply Linux. Цена комплекта 3200 рублей. Комплект содержит фирменную флешку с дистрибутивом и поддержку сроком на 1 год.

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

( читать дальше... )

>>> Подробности

 ,

Zhbert
()

Linux для магазина

Форум — General

Привет всем. Решил открыть свое дело. Буду использовать программу «МойСклад» . Подскажите какую купить версию Linux для магазина? Покупать хочу чтобы был сертификат на Операционку и не было проблем с нелицензионным ПО. Давно пользуюсь Linux для дома, пересадил на него несколько знакомых. Какой системой пользоваться для меня не принципиально.

 , , мойсклад

wwwdimon1
()

Не возможно построить wifi сеть 5GHz на модуле intel, история неуспеха...

Форум — Linux-hardware

Доброго времени суток всем!

Появился у меня недавно промышленный мини ПК Qotom Q150S-S08. Установлен модуль wifi Intel Corporation Wireless 3165. И решил я сделать себе из него роутер, взамен умирающего Zyxel Keenetic II. Благо и HDD можно внутрь Qotom спрятать под файлопомойку, и настроить всё что мне нужно.

Начал настройку согласно мануалу одного американского любителя, который сделал всё практически так же (часть 1, часть 2, часть 3), только я попытался все настроить на Debian 11.

Сначала я обрадовался, мой iw list выдал красивую информацию:

       Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * monitor
                 * P2P-client
                 * P2P-GO
                 * P2P-device
AP поддерживается - супер!
И с поддержкой каналов проблем нет (в отличии от автора статьи):
...
                Frequencies:
                        * 2412 MHz [1] (22.0 dBm)
                        * 2417 MHz [2] (22.0 dBm)
                        * 2422 MHz [3] (22.0 dBm)
                        * 2427 MHz [4] (22.0 dBm)
                        * 2432 MHz [5] (22.0 dBm)
                        * 2437 MHz [6] (22.0 dBm)
                        * 2442 MHz [7] (22.0 dBm)
                        * 2447 MHz [8] (22.0 dBm)
                        * 2452 MHz [9] (22.0 dBm)
                        * 2457 MHz [10] (22.0 dBm)
                        * 2462 MHz [11] (22.0 dBm)
                        * 2467 MHz [12] (22.0 dBm)
                        * 2472 MHz [13] (22.0 dBm)
                        * 2484 MHz [14] (22.0 dBm)
...

                Frequencies:
                        * 5180 MHz [36] (22.0 dBm)
                        * 5200 MHz [40] (22.0 dBm)
                        * 5220 MHz [44] (22.0 dBm)
                        * 5240 MHz [48] (22.0 dBm)
                        * 5260 MHz [52] (22.0 dBm)
                        * 5280 MHz [56] (22.0 dBm)
                        * 5300 MHz [60] (22.0 dBm)
                        * 5320 MHz [64] (22.0 dBm)
                        * 5500 MHz [100] (22.0 dBm)
                        * 5520 MHz [104] (22.0 dBm)
                        * 5540 MHz [108] (22.0 dBm)
                        * 5560 MHz [112] (22.0 dBm)
                        * 5580 MHz [116] (22.0 dBm)
                        * 5600 MHz [120] (22.0 dBm)
                        * 5620 MHz [124] (22.0 dBm)
                        * 5640 MHz [128] (22.0 dBm)
                        * 5660 MHz [132] (22.0 dBm)
                        * 5680 MHz [136] (22.0 dBm)
                        * 5700 MHz [140] (22.0 dBm)
                        * 5720 MHz [144] (22.0 dBm)
                        * 5745 MHz [149] (22.0 dBm)
                        * 5765 MHz [153] (22.0 dBm)
                        * 5785 MHz [157] (22.0 dBm)
                        * 5805 MHz [161] (22.0 dBm)
                        * 5825 MHz [165] (22.0 dBm)
...
Не надо патчить ядро, обрадовался я, и обломился.

Прежде всего проблема в том, что на 2.4GHz скорость ноута, в полуметре от железки - меньше 60Mb/s. Не будем паниковать раньше времени, переведём железку на 5GHz...

В общем, я столкнулся с проблемой, такой же как у автора статьи (только у него модуль Airetos AEX-QCA9880-NX, а у меня, напомню AC3165).
Хоть iw reg get и выдает следующий выхлоп:

global
country 00: DFS-UNSET
        (2402 - 2472 @ 40), (N/A, 20), (N/A)
        (2457 - 2482 @ 20), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (N/A, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)
iw list продолжает выдавать список каналов в 5GHz без пометки "(no IR)", но стоит попытаться стартануть hostapd, hostapd не стартует, и после этого выхлоп iw list так же меняется на следующий:
...
                Frequencies:
                        * 5180 MHz [36] (22.0 dBm) (no IR)
                        * 5200 MHz [40] (22.0 dBm) (no IR)
                        * 5220 MHz [44] (22.0 dBm) (no IR)
                        * 5240 MHz [48] (22.0 dBm) (no IR)
                        * 5260 MHz [52] (22.0 dBm) (no IR, radar detection)
                        * 5280 MHz [56] (22.0 dBm) (no IR, radar detection)
                        * 5300 MHz [60] (22.0 dBm) (no IR, radar detection)
                        * 5320 MHz [64] (22.0 dBm) (no IR, radar detection)
                        * 5500 MHz [100] (22.0 dBm) (no IR, radar detection)
                        * 5520 MHz [104] (22.0 dBm) (no IR, radar detection)
                        * 5540 MHz [108] (22.0 dBm) (no IR, radar detection)
                        * 5560 MHz [112] (22.0 dBm) (no IR, radar detection)
                        * 5580 MHz [116] (22.0 dBm) (no IR, radar detection)
                        * 5600 MHz [120] (22.0 dBm) (no IR, radar detection)
                        * 5620 MHz [124] (22.0 dBm) (no IR, radar detection)
                        * 5640 MHz [128] (22.0 dBm) (no IR, radar detection)
                        * 5660 MHz [132] (22.0 dBm) (no IR, radar detection)
                        * 5680 MHz [136] (22.0 dBm) (no IR, radar detection)
                        * 5700 MHz [140] (22.0 dBm) (no IR, radar detection)
                        * 5720 MHz [144] (22.0 dBm) (no IR, radar detection)
                        * 5745 MHz [149] (22.0 dBm) (no IR)
                        * 5765 MHz [153] (22.0 dBm) (no IR)
                        * 5785 MHz [157] (22.0 dBm) (no IR)
                        * 5805 MHz [161] (22.0 dBm) (no IR)
                        * 5825 MHz [165] (22.0 dBm) (no IR)
То есть появляется и "(no IR)", и "(no IR, radar detection)".

Пропатчить ядро способом автора не получилось.
При выполнении команды: fakeroot debian/rules binary-generic
возвратилась ошибка:

make: *** Нет правила для сборки цели «binary-generic».  Останов.

Я не силен в пересборках ядра, возможно из-за отличий в дистрибутивах нужно было что то делать немножко иначе? Подскажите, если кто знает. С другой стороны, так же нашёл другие посты на просторах инета, где у людей и на убунте не получилось повторить подвиг автора задумки.

Я не расстроился. Во первых и дистрибутив несколько другой, и модуль у автора другой. Обратил внимание, что автор упоминает, что исходный патч взял у OpenWRT. Я подумал, что OpenWRT - это же прошивка для роутера, а роутеры бывают разные, возможно есть и на intel'овских чипах, значит там всё предусмотрено, и пропатчено, как и должно быть. В принципе, я не гордый, мне как бы всё равно, что будет работать на железке, и поставил на железку OpenWRT x86-64. На OpenWRT настроил сеть, wifi... и обломался второй раз. На OpenWRT wifi так же не завелся - 5GHz молчит. Сделал на OpenWRT iw list, и увидел такую же картину, как и на Debian - и "(no IR)", и "(no IR, radar detection)" присутствуют точно так же.

А потом я все же нашел посты и на ЛОРе, где у людей были такие же проблемы с разными модулями, в том числе и от intel, и по тексту не совсем ясно, решили ли люди свои проблемы?
В частности темы:
* WiFi AP 5GHz ath10k "(no IR)", вопрошатель Miss_Burpl;
* ath10k + hostapd + 5ghz + linux 5.8 = fail, вопрошатель blind_oracle;
* Посоветуйте USB3 WiFi адаптер, вопрошатель AEP;
* Intel AX200 как точка доступа, вопрошатель post-factum.

С последней темой очень интересно, потому как у post-factum что то получилось, но из треда не понятно, что именно. И pekmop1024 в этой же теме показал свои выхлопы, из которых следует, что часть частот у него разблокированы.

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

А теперь собственно вопрошание о помощи. Как заставить работать эти грёбанные модули на каналах 5GHz?! Возможно кто-то знает какой-нибудь модуль от какого-либо производителя с разблокированными каналами, или такой, в котором их реально можно программно разблокировать? Желательно «AX»...

Спасибо, что дочитали до конца.
И отдельное спасибо всем ответившим.

 , , , ,

ivanlex
()

Посоветуйте настройки fstab для F2FS

Форум — Desktop

Собственно, накатил Линукс на SSD, выбрал в качастве ФС F2FS и почему-то не смог найти список опций для этой ФС.

Как включить сжатие в этой ФС?

Какие параметры посоветуете прописать в fstab?

Нужно ли включать discard (слыхал что у F2FS какой-то свой алгоритм дискарда, но включен ли он по умолчанию, Х/З)?

 , ,

Vochatrak-az-ezm
()

wxWidgets и cmake теперь не дружат?

Форум — Development

имеется арч, последние пакеты, желание использовать wxWidgets в своем проекте на c++.

`--> pacman -Qs cmake
local/cmake 3.22.2-1
    A cross-platform open-source make system
local/extra-cmake-modules 5.90.0-1 (kf5)
    Extra modules and scripts for CMake


`--> pacman -Qs wx
local/wxgtk-common 3.0.5.1-3
    Common libraries and headers for wxgtk2 and wxgtk3
local/wxgtk3 3.0.5.1-3
    GTK+3 implementation of wxWidgets API for GUI


при добавлении в CmakeLists.txt
find_package(wxWidgets REQUIRED gl core base )
include("${wxWidgets_USE_FILE}")

происходит
`--> cmake ..
module path is
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
  wxWidgets_INCLUDE_DIRS)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindwxWidgets.cmake:1025 (find_package_handle_standard_args)
  CMakeLists.txt:16 (find_package)


примечательно, что чуть ранее все работало — накрылся на днях диск на 2Тб — купил ssd, переставил систему, и теперь не собирается то, что собиралось на старой.

дубликат темы

Решение

 , , ,

safocl
()

Загрузка с root=UUID=... без initrd

Форум — General

Можно ли так сделать? Думал, что всё просто - заменит root=/dev/sd... на root=UUID=..., но при загрузке получаю segfault с сообщением VFS: unable to mount on unknown-block(0,0).

Я знаю, что это работает в Ubuntu и Gentoo для ядер, собранных с genkernel; и там, и там используется initrd. Так можно ли обойтись без него, или no way?

tiandrey
()

Как вы записываете звук при записи экрана

Форум — Desktop

Коллеги , на последней федоре(33) и последнем gnome (3.38.1) сломался любимый записыватель экрана https://github.com/EasyScreenCast/EasyScreenCast/issues/281#issuecomment-731557691

А штатный не пишет со звуком . Как вы решаете эту проблему ?

 , ,

pinachet
()

Захват с камеры в OpenWRT без обработки

Форум — Admin

Ищу программу для того, чтобы можно было захватывать поток с камеры и передавать его по сети на сервер. Тот, в свою очередь уже будет обрабатывать видео. Цель: уменьшение нагрузки на проц. Камера Logitech C270 HD. Даёт, само собой HD-качество. Палитра: YUYV.

`cat /dev/video0' не работает. Как я понимаю, дело в том, что на камеру нужно подавать какие-то управляющие данные или как-то правильно обрабатывать прерывания.

Для OpenWRT часто советуют mjpg_streamer, но он использует обработку видео. Без задания fps и resolution что-то получить с камеры вобще не удаётся. Самое максимальное, что потянул роутер - 320x240x10fps. Далеко от HD.

Копался в настройках motion. Но он тоже оказался с преднастройками разрешения и fps. На компе выдвал загрузку проца в 0.5%. Для моего роутера ето будет все 150%.

На компьютере пробовал захватывать поток при помощи `mencoder tv:// -ovc copy -tv noaudio -o video.dump`. В результате получался несжатый поток, который даже проигрывался Totem. Нагрузка проца чуть ли не нулевая, чего не удавалось добится другими средствами захвата. Минус в том, что нет реализации в OpenWRT.

Есть ли какие-то щё средства для того, чтобы получить необработанный raw-поток с камеры, чтобы не грузить проц?

abr_linux
()

Навеяно свежей дырой в Xorg

Форум — Development

Привет, ЛОР!

Ты, наверное, уже видел свежую дыру в Xorg, патч для которой выглядит буквально вот так:

-        else
+        else {
             free(to->button->xkb_acts);
+            to->button->xkb_acts = NULL;
+        }

В связи с этим у меня возник вопрос: а почему в стандартной библиотеке C нет макроса SAFE_FREE()?

#define SAFE_FREE(ptr) do{free(ptr);(ptr)=NULL;}while(0)

Напомню, что значение указателя после вызова free() является неопределённым согласно стандарту. Не только значение памяти, на которое он указывает, но и значение самого указателя, и работа с ним представляет собой жуткое undefined behaviour, а значит единственное что можно сделать – занулить его.

Так вот, почему даже таких банальных вещей нет? Я уже не говорю про строковый тип, а то даже Эдичка тут строки не осилил.

Моя гипотеза тут: C – это язык культа страданий во имя страданий.

 , ,

hateyoufeel
()

Переводилка для вашего ПекА

Форум — Talks

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

Обновлено.

Зависимости apt install lua xclip xsel xdotool aosd_cat translate-shell

Вопщем таксь.
Порой, нужно не просто выделить текст где угодно и увидеть его по перевод по горячей клавише,
но и получить его перевод в виде текста. К счастью в x11 есть аж три буфера обмена.
Поэтому добавил опцию copy_translated=true/false.

Суть проста:

  • вешаете скрипт, например на F7
  • выделяете произвольный текст без его копирования через контекстное меню(как и было)
  • нажимаете F7 и
  • всплывает текст перевода (как и было)
  • нажимаете среднюю кнопку мышки и в любом поле ввода вставляется оригинальный текст
  • нажимаете правую кнопку мышки и через контекстное меню делаете вставить и вставляется переведённый вариант
  • повторное нажатие F7 ещё раз покажет перевод, без повторного выделения
#! /bin/env lua
local poptrans =
{
    -- select language from lang to lang
    lang_from = "auto", --auto,en,fr,de or other
    lang_to   = "ru",
    -- copy translated text to clipboard
    -- if you select text (no use context menu textcopy)
    --   - middle mouse button paste translated text
    --   - right mouse button context menu paste original text
    --   - script used 2 levels X11 clipboard buffest of 3 levels :)
    copy_translated = true,
    -- how more seconds show you translated text
    show_timer = 3,
    -- popup translated text under mouse position
    follow_mouse = true,
    -- if follow_moise is false, set translated
    -- text position static coords
    popup_pose_x = 0,
    popup_pose_y = 0,
    -- max width message in screen, zero is auto
    popup_width  = 0,
    -- get text from system clipboard
    app_clipboard = "xclip -o 2> /dev/null",
    -- set text to system clipboard
    app_set_clipb = "xsel -b -i ",
    -- get mouse systemd coords
    app_mousepose = "xdotool getmouselocation 2> /dev/null",
    -- show text popup with translated text
    app_popup_msg = "aosd_cat -x %d -y %d -B white -R white -t 0 -p 0 -u %d -w %d"
}

function poptrans:run()
    local translated = '';
    self.previos_text = '';
    -- read clipboard
    local exec = io.popen(self.app_clipboard);
    local text = exec:read('*all');exec:close();
    -- get cursor position
    exec = io.popen(self.app_mousepose);
    if self.follow_mouse then
        self.popup_pose_x,self.popup_pose_y = exec:read("*all"):match("x:(%d+) y:(%d+)");
        self.popup_pose_x = self.popup_pose_x+3; exec:close();
    end
    -- do not translate previos text or empty or translated text
    if text ~= previos_text and text ~= '' and text ~= translated then
      local from = ''
      if self.lang_from ~= "auto" then
        from = self.lang_from;
      end
      exec = io.popen('trans   '..from..':'..self.lang_to.." -b '"..text.."'");
      translated = exec:read("*all"); exec:close();
      if self.copy_translated then
         exec = io.popen(self.app_set_clipb,'w')
         exec:write(translated:sub(1,#translated-1));
         exec:flush();
         exec:close();
      end
      previos_text = text;
      exec = io.popen(
      self.app_popup_msg:format(
      self.popup_pose_x,self.popup_pose_y,self.show_timer*1000,self.popup_width),"w");
      exec:write(translated);exec:close();
    end
end

poptrans:run()

Не используйте версию из истории правок!. Там опасный баг с кавычками, (спасибо @maxcom исправить дал)
Единственное что там полезно это пример как делать перевод через гугл API по токену.
Но раз появилась возможность правки то ::)

- ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК, Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ
- ВСЁ ПРЕДОСТАВЛЯЕТСЯ КАК ЕСТЬ, ЛЮБЫЕ СОМНЕНИЯ ДОЛЖНЫ ВЕСТИ
- К ОТКАЗУ ОТ ИСПОЛЬЗОВАНИЯ

 , , , ,

LINUX-ORG-RU
()