Я делаю так:
ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:1 -c:v copy -c:a copy -f matroska - | ffplay -autoexit -f matroska -
matroska
может запаковать RAW/YUV/RGB данные, поэтому она. MPEG-TS не может, поэтому не подходит.
Или не менее наркоманский вариант, используя только FFMPEG:
ffmpeg -f v4l2 -i /dev/video0 -f alsa -i hw:1 -vcodec rawvideo -pix_fmt yuv420p -c:a copy -f sdl2 default -f alsa default
Конвертация в yuv420p нужна для SDL2.
Памятка:
Т.е. используя std::tie()
вполне, без труда и пыли, можно сделать операторы сравнения для сложных структур. Сложности могут возникнуть, если нужно переопределить операторы сравнения для отдельных элементов (например: критерии сравнения строк).
Почему tie
, а не напрямую tuple
? tie
захватывает аргументы по ссылке - экономия на копировании.
Когда PulseAudio стартует, оно захватывает устройства и если пробуем запустить какое-то приложение, которое может только ALSA, то получим сообщение о невозможности открыть устройство, так как оно уже занято.
Что бы решить проблему нужна пара простых (по факту, но не по пути, которым к ним пришёл) шагов. Но для начала нужно посмотреть соответствующий раздел в вики Арчика:
https://wiki.archlinux.org/index.php/PulseAudio#ALSA.2Fdmix_without_grabbing_hardware_device
Идея проста: сказать пульсе работать через dmix для воспроизведения и через dsnoop для записи.
Собственно - сабж!
…и не нужные никакому пакету.
На случай, если что-то удалялось как pacman -R пакет
вместо pacman -Rs пакет
:
DEL:
pacman -Qd | awk '{print $1}' | xargs -I{} bash -c 'cnt=$(LANG=C pacman -Qi {} | grep "Required By<br/>|Optional For" | grep None | wc -l); (test $cnt -eq 2 && echo "{}")' | xargs -I{} bash -c '(pacman -Qi {};pacaur -Sii {};echo ================:simple_smile:' 2>&1 | less -R
Спасибо Романычу, просто список пакетов:
и с описанием, как в уродстве выше (без запроса к Sync базе или AUR можно просто: pacman -Qtdqi
):
pacman -Qtdq | xargs -I{} bash -c '(pacman -Qi {};pacaur -Sii {};echo ================:simple_smile:' 2>&1 | less -R
pacaur используется, что бы запросить информацию для AUR пакетов.
Если какой-то пакет в этом списке уже нужен как самостоятельная единица, то можно снять пометку:
pacman -S --asexplicit пакет
Теперь вопрос: а как проще?
ЗЫ пакеты, которые не требуются никаким другим пакетом можно получить просто выполнив pacman -Qt
Вроде не делал анонс…
Серия старых скринкастов, описывающая процесс разбора формата файлов локализации игр Boishock 1 и 2, создания библиотеки для распаковки/паковки и графического кросс-платформенного архиватора.
Залито на ютуб, что бы не занимало место на диске. Плюс ценность сомнительная, что бы делать более правильный бекап :wink:
Ссыль:
https://www.youtube.com/playlist?list=PLUrplWzJ_-EupzIVpgfRlarNjN0zcarpr
Используется для распределения и контроля количества клея по поверхности плитки. Хотя можно и для распределения других смесей использовать.
Хорошая статья которая описывает нюансы:
Если коротко, то эта связка криво работает. Поймано на ARM GDB 8.0, но воспроизводится и на 7.12.1. При наличии на борту устройства какой-либо RTOS. У меня это ThreadX. Хотя, возможно, для других всё отработает нормально. Но это мало что меняет: на старом GDB 7.7.1 тот же OpenOCD работает.
Суть проблемы и способ её решения без вмешивания в код под катом.
Проблема на ядрах 4.12 и 4.13 в Manjaro. На ядре 4.11 проблема не наблюдается. Засыпание в память, не на диск.
Пока окончательного решения не найдено. Ниже ссылки, которые будут определять направление движения:
-
https://forum.manjaro.org/t/linux-4-12/27111/74
* тут много чего: и отказ от blk-mq и игра с модулями ядра для virtualbox host и рекомендация остановить tlp (не мой случай).
* Отказ от blk-mq:
-
https://forum.manjaro.org/t/kernel-4-12-crashes-when-resuming-from-suspending/28435/52
* название говорит само за себя:
- отказ от blk-mq
- замена bfq-mq на bfq-sq
- отказ от bfq в пользу deadline или cfq
-
https://digi-merc.org/blog/2017-05-16-archlinux-freeze-resume/ и
https://www.reddit.com/r/archlinux/comments/4ytogl/suspend_to_ram_would_randomly_freeze_the_computer/
* замена асинхронного засыпания, последовательным. Возможно может решить часть проблем связанhttps://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issuesные с железом и гонками.
После пары перезагрузок, включения bfq-mq на HDD вместо mq-deadline и установки не-DKMS версии virtualbox host, проблему не получается решить.
Для отладки использую следующую методику:
- логин на первой консоли и:
while true; do dmesg | tail -n 30; sleep 1; done
- логин на второй консоли и:
sudo tail -f /var/log/everything | grep -v 'Tor<br/>['
- логин на третьей консоли, ничего не вводим, используем как дисплей, но SysRq командой повышаем уровень логирования до максимального:
Alt+SysRq+9
(для T530: Alt+Fn[press]+S[press]+S[release]+Fn[release]+9
)
После чего работает в обычном режиме.
Прочее полезное:
Собственно полезно при отладке и разборе:
Запросов - подразумевается SETUP. Разбирает только стандартные запросы. Специфичные для интерфейсов, даже стандартных функций - нет.
Умеет:
- разбор дескрипторов
- разбор SETUP запросов
- разбор HID дескрипторов (не проверял)
Чумовой особенностью этого парсера является:
The page uses Javascript, so it must be enabled. This page can be downloaded and used offline, because it does not depend on any external or online resources.
Так что…
Чисто декларативная заметка.
- Добавляем в загрузку сервисы:```
sudo rc-update add consolefont boot
sudo rc-update add keymaps boot
1. Для настройки шрифта правим `/etc/conf.d/consolefont`, устанавливаем параметр `consolefont=`, остальное не трогаем:```
consolefont="UniCyr_8x16"
* Прочие варианты шрифтов можно посмотреть:```
ls /usr/share/kbd/consolefonts
* Поиграться с установкой шрифта можно при помощи команды `sudo setfont <FontName>`.
1. Для настройки раскладки и переключателя правим `/etc/conf.d/keymaps`, устанавливаем параметр `keymap=`, остальное - по желанию:```
keymap="ruwin_cplk-UTF-8"
* Прочие варианты раскладки можно посмотреть:```
ls /usr/share/kbd/keymaps/i386/qwerty
* Поиграться с установкой раскладки можно при помощи команды `sudo loadkeys <KeymapName>`
Опционально можно перезагрузиться или запустить сервисы вручную:
sudo service consolefont restart
sudo service keymaps restart
Недавно случилась беда: грохнул о бетонный пол свою Platinum Balance F. Пером. Которое сломалось. Осталась такая же ручка с пером M, которая, вроде, всем хороша, но сильно большая подача у неё.
На момент покупки превалировало желание попробовать F перо этого производителя, так как перья F того же Pilot показались слишком уж тонкими и цепкими к бумаге, поэтому вариантов ответа на вопрос: “как уменьшить подачу чернил?” особо не искал. Плюс в голове упорно витала мысль, что таких способов нет.
Но когда не стало ручки, чьё письмо меня более чем устраивало, пришлось выводить из резерва M-ку. И вопрос уменьшения подачи чернил стал очень остро.
Спека PKGBUILD позволяет сделать финт ушами и автоматически сгенерировать пакет с отладочной информацией, которую можно ставить, а можно и не ставить (занимает приличное количество места в распакованном виде).
Ещё эта спека позволяет в один проход создать несколько пакетов. Допустим разделить на основную часть и документацию или общие библиотеки, которые могут использоваться другими приложениями и бинарники.
Всё это становится очень интересным в контексте использования с AUR. Когда я ушёл с Arch Linux, разделённые (split) пакеты в нём были роскошью. Сейчас они поддерживаются. А вот как обстоят дела с помощниками (helpers, далее по тексту: хелперы), которые собирают и устанавливают в систему?
Можно сделать при помощи Netifrc:
Три шага:
- правим /etc/conf.d/net, настраиваем свой интерфейс
IFACE
.
- для нужного сетевого интерфейса (
IFACE
) делаем симлинк:ln -s /etc/init.d/net.lo /etc/init.d/net.IFACE
- если нужно стартовать автоматом:
rc-update add net.IFACE default
* вручную: service net.IFACE start/stop/restart
Собственно вот такое обновление:
[2017-05-28 10:33] [ALPM] upgraded libelogind (228.3-1 -> 229.3-1)
[2017-05-28 10:34] [ALPM] upgraded elogind (227.2-1 -> 229.3-1)
Самый простой вариант: откатиться. Прочие смотрятся тут:
Прицепом:
UPD: Последнее
обновление (2017-06-20) починило проблему:
- elogind -> 229.6-1
- libelogind -> 229.6-1