LINUX.ORG.RU

Сообщения gobot

 

Большие объемы данных

 , , ,

Чисто теоретический вопрос

Как некоторые компании (например яндекс или гугл) могут позволить выдавать пользователям облачные диски 1ТБ за 300 руб\мес?

Если учитывать стоимость диска 8TB - он стоит от 30 000 руб. Грубо говоря его хватит на 8 клиентов, которые в течении ГОДА заплатят 28 000 руб (8 * 300 * 12). Т.е. диск окупится за год только по себе стоимости.



Перемещено CrX из admin

gobot
()

Nginx ERR_CONNECTION_RESET

 , , , ,

Когда открываешь сайт в хроме в режиме инкогнито, то первый запрос висит около 30 сек. и потом ERR_CONNECTION_RESET. Повторная перезагрузка страницы моментально все загружает.

Снова закрываю окно, открываю в инкогнито - та же самая проблема.

Бывает по другому - не грузятся js скрипты - тоже ERR_CONNECTION_RESET

Бывает скрипт загрузится через 40 сек., сервер отдаст 200 код, но все равно браузер ERR_CONNECTION_RESET выдает

Бывает JS скрипт грузит 10 секунд

HTTP/1.1 200 OK
Server: Angie
Date: Thu, 23 Apr 2026 05:19:27 GMT
Content-Type: application/javascript
Last-Modified: Fri, 20 Mar 2026 03:13:15 GMT
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"69bcbb4b-2953ee"
Cache-Control: public, max-age=100000
Content-Encoding: gzip


Пробовал отключать chunked_transfer_encoding off

Есть особенность: виртхост - 2 домена. Первый - основной работает без проблем, а со вторым такие проблемы. В логах ничего.

С первого раза не запускается сайт. Если загружать не браузером - то любой запрос с 1 раза проходит нормально - вообще без проблем.
Пробовал с хрома, оперы, никаких расширений нет. ВПН нет. Симптомы вообще не понятны, в какую сторону копать

gobot
()

Контроллер не видит дисков после включения питания

 ,

Контроллер (pcie) Adaptec 5405 после включения питания не видит дисков

Ошибка
one or more drivers are either miss or not responding

После перезагрузки все нормально (ctrl+alt+del). Если выдернуть шнур питания и снова включить - не видит снова.

gobot
()

Adaptec греется

 ,

RAID контроллер греется даже без нагрузки. Стоит радиатор. Трогаешь рукой - жгет. Нормально ли это?

gobot
()

В минимальной Ubuntu нет ни одного текстового редактора

 ,

Установил Ubuntu, но в нем нет ни одного текстового редактора

vi, vim, nano

Ничего нет

Как править конфиги?

gobot
()

Куда слать оповещения

 

Раньше слал в телегу-бота всякие отчеты от zabbix и backen-ов, которые требуют моментального аварийного реагирования (закончилось место на диске, нагрузка аномальная, ошибки в коде и т. д.). Сейчас телега все. В максе ботов нет, только для юр. лиц.

Думаю почту сейчас. Слать на почту и...какое-то нудно мобильное приложение которое бы работало в максимально приближенном в режиме мессенджера. Пиликанье, оповещение на экран о новых письмах. Письма удалять\метить

Или может быть IRC?

Подскажите что используете

gobot
()

Аренда больШого хранилища

 

Подскажите где можно дешево арендовать сервер\сервис с большим объемом данных?

Смотрел в сторону Yandex Disk, тарифы хорошие, но заточен под домашнее использование. Если заливать через curl то скорость загрузки 128kbps - это капец.

Google Drive - не принимают оплату из РФ

Смотрел Selectel - цены кошмарские

Зарубежные хостинги предлагают хорошие цены (8TB-64TB за 30$), но, потенциальные проблемы с доступом + оплатой. В целом можно сделать проси какой-то, но опять же уткнется в трафик

Смотрю в сторону своего сервера, но упирается в доступность + скорость. Хотя пров заявляет что канал его выдерживает до 800mmps, но на деле - выдает загрузку 5mbps (не знаю пока вопрос решается, говорит что мой роутер старый - а он действительно старый)

Куда смотреть, где продолжать раскопки?

gobot
()

Сервис не стартурет

 

systemctl start mariadb.service

и...бесконечно чего то ожидает

Так запускается нормально
sudo -u mysql /usr/sbin/mariadbd

Никаких процессов mysql не запущено

Debian trixie/sid

gobot
()

Сделать картинки из видео

 

ffmpeg -i input -vf fps=1/300 -strftime 1 out%H-%M-%S.jpg

Но есть несколько нюансов:

* Первая картинка пишется не сразу, а через 5 минут
* Первая картинка записывается через 5 минут, но содержит не текущий кадр, а тот, который был 5 минут назад. Тупняк - баг ffmpeg?

Чего он ждет, почему 1 кадр пишет спустя 5 минут? Он ведь уже есть. Кеширует или что? Для чего?

Что хочу
* Певая картинка записывается немедленно!
* Последующие картинки записываются - так как и должно быть - актуальное время из видео


=================
Нашел причину, такое возникает, если указать параметр -q:v, т.е. если включить сжатие JPEG, то картинка будет делаться с отставанием которое указано в FPS. Новая картинка записывается со старым видеокадром

BUG FFMPEG
=================

gobot
()

Делаю кластер: нужна система обновления барахла

 

Кластер будет объединен redis как брокер + http\rest

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

Сейчас работает так: на мастере собираются в папку все конфиги для всех узлов, потом делается git push на bare, с него обновляется головной сервер git pull, затем я тяну через rsync (pull или push) c мастера конфиги, НО! Нужно ещё тянуть с другого git отдельные репы (типа микросервисы). Получается нужно конфиги обновлять (для angle etc) + свои сервисы по git обновлять. Короче такой уже мини-зоопарк образовывается.

И я подумал, а может есть какие то специальные системы сборки всего этого барахла, чтобы велосипед не делать. ИИ ссылается на системы оркестрирования, далее идет Kubernetes

Kubernetes - очень сложно для меня - не осилю

Посоветуйте варианты дрльнейшего развития

1) Какие то другие системы «обновления барахла»
2) Делать на мастере отдельный GIT, пихать в него все предварительное барахло, делать COMMIT и потом пушить на все узлы
3) Обновлять по rsyn
4) ещё варианты?

gobot
()

Два входа - два выхода - проблемы со звуком

 

Хочу
rtsp + aac ==> rtmp + image every 5 sec (упростил до минимума)

aac добавляю потому что 1) Хочу 2) Без звука rtmp не заводится вообще

Проблемка в том, что если картинка пишется раз в 5 минут, то rtmp не проигрывается

ffplay пишет ошибку (после задумывания около минуты) при проигрывании rtmp, но после этого все равно начинает играть

Could not find codec parameters for stream 0 (Audio: aac, 44100 Hz, stereo, 127 kb/s): unspecified sample format


Если картинка пишется 1 раз в сек - то нормально

Так не работает
ffmpeg -i rtsp:// -i sample.aac -c:v copy -c:a copy -f flv rtmp://  -vf select='eq(pict_type,I)',fps=1/300' -update 1 -f image2 \tmp\key.jpg

Так работает
ffmpeg -i rtsp:// -i sample.aac -c:v copy -c:a copy -f flv rtmp://  -vf select='eq(pict_type,I)',fps=1' -update 1 -f image2 \tmp\key.jpg


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

изгуглился уже весь, гении помогите



Input #0, rtsp, from 'rtsp://x.x.x.x:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif':
  Metadata:
    title           : RTSP Session/2.0
  Duration: N/A, start: 0.730000, bitrate: N/A
  Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 1280x720, 10 fps, 100 tbr, 90k tbn, start 0.730000
  Stream #0:1: Data: none
[aac @ 000001cdfe470340] Estimating duration from bitrate, this may be inaccurate
Input #1, aac, from 'sample.aac':
  Duration: 00:04:14.81, bitrate: 127 kb/s
  Stream #1:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
  Stream #0:0 -> #1:0 (h264 (native) -> mjpeg (native))
Output #0, flv, to 'rtmp://x.x.x.x/live':
  Metadata:
    title           : RTSP Session/2.0
    encoder         : Lavf62.3.100
  Stream #0:0: Video: h264 (Baseline) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720, q=2-31, 10 fps, 100 tbr, 1k tbn
  Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 127 kb/s
Press [q] to stop, [?] for help


[aist#1:0/aac @ 000002674d0f0dc0] Resumed reading at pts 0.000 with rate 1.050 after a lag of 0.500s
[vist#0:0/h264 @ 000002674ceeed80] Resumed reading at pts 2.080 with rate 1.050 after a lag of 0.500s
[vost#0:0/copy @ 000002674ceb9b00] Non-monotonic DTS; previous: 9200, current: 9150; changing to 9200. This may result in incorrect timestamps in the output file.
[vost#0:0/copy @ 000002674ceb9b00] Non-monotonic DTS; previous: 49210, current: 49160; changing to 49210. This may result in incorrect timestamps in the output file.
[vist#0:0/h264 @ 000002674ceeed80] Resumed reading at pts 80.000 with rate 1.050 after a lag of 1.012s
[vost#0:0/copy @ 000002674ceb9b00] Non-monotonic DTS; previous: 94210, current: 94150; changing to 94210. This may result in incorrect timestamps in the output file.
[mjpeg @ 000002674ce3dcc0] bitrate tolerance 4000000 too small for bitrate 200000, overriding

ТУТ пауза где то 2 минуты

Output #1, image2, to '\tmp\key.jpg':
  Metadata:
    title           : RTSP Session/2.0
    encoder         : Lavf62.3.100
  Stream #1:0: Video: mjpeg, yuv420p(pc, progressive), 1280x720, q=2-31, 200 kb/s, 0.0033 fps, 0.0033 tbn
    Metadata:
      encoder         : Lavc62.11.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A

gobot
()

Google Play нашел какие то права которых нет у меня

 

При публикации в GPM

В приложении используется необъявленное разрешение android.permission.MANAGE_EXTERNAL_STORAGE


Но у меня нет заявленных прав в манифесте, нигде в проекте это не используется. Где он вы...взял? Нигде в либах нет таких прав... я уже все перекопал не могу найти, но при загрузке bundle упорно требует объяснить ЗАЧЕМ оно мне. Да не зачем оно мне! Че он гонит?

Вот все что используется

    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
    <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" />
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.external" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />



РЕШЕНО
Слияние манифестов из зависимых ЛИБ. Оказывается любая либа может подпихнуть свой пермишн в финальный манифест и ты ОБ ЭТОМ НЕ УЗНАЕШЬ

Нужно смотреть логи какая именно либа подпихивает
app/build/outputs/logs/manifest-merger-debug-report.txt

А потом в своем манифесте удалить эти зависимости

    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:node="remove" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />


ГОТОВО

gobot
()

Поворот камеры

 ,

Возможно ли в Android настроить камеру, чтобы она снимала в альбомном формате в портретном режиме?

Сейчас мне приходится обязательно переворачивать телефон, чтобы он снимал в формате 16\9, но это неудобно

CameraX

gobot
()

Микрофон в Android как читать его с нескольких потоков

 

https://developer.android.com/reference/android/media/AudioRecord

Хочу немного, читать микрофон AudioRecord.read и визуализировать его в виде Wave. Один поток читает и записывает в сеть или на диск другой...тоже его читает и... приложение вылетает. Не понятно из-за чего, каких внятных ошибок нет в логах, какие андроивские потроха сыпятся на уровне ядра.

Там сам вызов блокирующий, но есть параметр readMode=READ_BLOCKING, READ_NON_BLOCKING. Один тред читает с блокировкой - другой - пробовал и так и сяк, все равно вылетает. Если читает один только тред, то работает нормально

В общем нормально ли я вообще затеял это все или нужно один читальщик? Но дело в том, что буферы разные, для визуализации нужно побольше прочитать, а для записи там буфер мелкий совсем.


Один тред создается через new Thread, а второй - это тред UI. Но я пробовал в треде UI создавать новый тред, но все равно что-то не идет.

Вообще конечно по логике если разобраться, то так нельзя. Звук же будет прерываться, если например кусочек прочитаешь, то в файле уже этого кусочка не будет, будет пердеть, заикаться. Хотя нет. Многие приложения ведь используют один микрофон. Или нет?

Не знаю как быть, подскажите вообще не понимаю

gobot
()

Переход по путям и вот

 , ,

Хочу собрать libx264 под Android с NDK-29

Делаю вот
https://stackoverflow.com/questions/61056127/when-i-build-x264-with-android-n...

Там в папочке $TOOLCHAIN/bin/aarch64-linux-android21-clang
лежит вот что

aarch64-linux-android21-clang

#!/usr/bin/env bash
bin_dir=`dirname "$0"`
if [ "$1" != "-cc1" ]; then
    "$bin_dir/clang" --target=aarch64-linux-android21 "$@"
else
    # Target is already an argument.
    "$bin_dir/clang" "$@"
fi


Потом переходит по clang, а там вот
cat clang
clang-21


Ну и собственно clang-21 это бинарь 145095072 байта

А потом пишет в конце что

clang-21: error: no input files


Я так понимаю, что до clang-21 не доходят параметры

/android-ndk-r29/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang x264.c


clang-21: error: no input files


Если запустить напрямую
/android-ndk-r29/toolchains/llvm/prebuilt/linux-x86_64/bin/clang-21 x264.c

То нормально видит файл и начинает его компилить

Какая-то непонятная связка и переходы по скриптам. Ничего не пойду что намудрили разработчики Android


РЕШЕНО

Там были symlink, но архив разжимался на Windows, поэтому ссылки исчезли

РЕШЕНИЕ
Нужно скачать заново Android-NDK и распаковать ZIP архив на linux

gobot
()

Есть ли такая настройка у nginx

 

Есть проксирование. Хочу чтобы, если от прокси в течении 1 сек. не поступили заголовки ответа (любые), то соединение рвалось со статусом 404. Есть proxy_read_timeout но это не совсем то, в середине передачи например может быть задержка 5с. и это нормально, а для заголовков нужно меньший таймаут. Или может какой-то workarround есть?

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

Но если данных нет в самом начале он и заголовки не шлет. Этот момент нужно ловить и не заставлять клиента ждать бесконечно.

gobot
()

Отваливается UDP

 

Передаю по ffmpeg поток по UDP на другой сервер, возникает постоянно ошибка «Failed to write packet=1194B, ret=-11p»

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

Какие могут быть потенциальные причины?

Ошибка вызывается тут ffurl_write()
https://github.com/FFmpeg/FFmpeg/blob/ed007ad427a659667fd3b20e6b7bfebc2844c83...

Как я понимаю это не ошибка конкретного муксера, а глобальная функция отправки в сеть.

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

U> Такое происходит если передавать ОТ сервера и К этому серверу. То есть входящий\исходящий трафик без разницы

gobot
()

nping генерация пакетов > 1000pps

 nping

Хочу потестить сервис на UDP, хочу отправлять 20000 пакетов в сек. Ни меньше ни больше. Меньше 1000 можно, но если устанавливать --delay 0.5 то nmap убирает задержку вовсе и использует всю пропускную способность сети, что делает тест не корректным. Погуглил, посмотрел код nmap и пришел к выводу, что меньше 1ms задержку не поставить.

https://github.com/nmap/nmap/issues/1751

https://security.stackexchange.com/questions/136313/maximum-limit-of-nping-ra...

Какой-то странный инструмент, с одной стороны создавался для тестирования, но и тестировать нельзя. Что посоветуете, чем ещё можно тестить? Порбовал trafgen, но там какие-то сложные конфиги надо писать, оч. не удобный

Вобщем мне нужно как-то напрячь udp порт и посмотреть как ведет себя сервис

gobot
()

Как заставить ffmpeg менять выходное разрешение у картинок

 

Если входное разрешение изменится, то ffmpeg продолжит писать картинки с исходным размером

ffmpeg -i "rtmp://example.com/live/stream" -f image2 -update 1 C:\tmp\stream.jpg


Сам он видит, что разрешение меняется, пишет

Reconfiguring filter graph because video parameters changed to yuv420p(unknown, unknown), 640x480

Reconfiguring filter graph because video parameters changed to yuv420p(unknown, unknown), 320x240

Reconfiguring filter graph because video parameters changed to yuv420p(unknown, unknown), 1280x960

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


  Metadata:
    |RtmpSampleAccess: true
  Duration: N/A, start: 631336.102000, bitrate: N/A
  Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(progressive), 320x240, 15 fps, 15 tbr, 1k tbn, start 631336.125000
  Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, start 631336.102000
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'C:\tmp\stream.jpg':
  Metadata:
    |RtmpSampleAccess: true
    encoder         : Lavf62.3.100
  Stream #0:0: Video: mjpeg, yuv420p(pc, progressive), 320x240, q=2-31, 200 kb/s, 1 fps, 1 tbn
    Metadata:
      encoder         : Lavc62.11.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A

gobot
()

Каждую неделю все перезагружается

 

Как я понял это apt-daily-upgrade.service балуется, зараза. Какие то секурные обновления там или что... Все бы ничего, но у меня некоторые сервисы вообще нежелательно перезагружать. Стоит ли его отключить или как то ограничить в его желании все ПЕРЕЗАГРУЖАТЬ? Кто как это чудо настраивает? Раньше просто такого не было на старых версиях убунты, а сейчас что-то пошло не так...

Ubuntu 24.04.3 LTS

gobot
()

RSS подписка на новые темы