LINUX.ORG.RU

Сообщения gobot

 

net::ERR_CONNECTION_RESET

Заметил, что часто в Chrome возникает ошибка при загрузке js скрипта(ов) net::ERR_CONNECTION_RESET. Сервер отдает с кодом 200 все нормально, далее браузер начинает качать файл (около 6MB) и в некоторый момент выдает вот эту ошибку. Кто сбрасывает соединение не понять

написал простой скрипт

for(var i=0; i < 10; i++){
  fetch("https://example.com/js/app.js?v=" + i);
}


три раза эта ошибка вылезла. В логах nginx все нормально, сервер обрабатывает все запросы с кодом 200\304.

Да, есть нюанс один, nginx отдает файл, но content-length в логах наполовину меньший, чем реальный размер (327404(варьируется) вместо 6564513)

 

gobot
()

Слетает ip адрес каждые 24 часа

На интерфейсе пропадает ровно через каждые 24 часа ipv4 адрес. После перезагрузки службы networing сеть снова работает. Все логи пересмотрел, ничего нет. Сервер debian, имел uptime 2 года, ничего не трогалось и тут такое.

systemctl status networking
● networking.service - Raise network interfaces
     Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2024-01-20 06:34:43 MSK; 1min 34s ago
       Docs: man:interfaces(5)
    Process: 1948759 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
   Main PID: 1948759 (code=exited, status=1/FAILURE)
        CPU: 52ms

Jan 20 06:34:43 ifup[1948759]: /sbin/ip -6 addr add 2001:41d0:602:4add::/56  dev eno1
Jan 20 06:34:43 ifup[1949035]: RTNETLINK answers: Permission denied
Jan 20 06:34:43 ifup[1948759]: ifup: failed to bring up eno1
Jan 20 06:34:43 ifup[1948759]: /bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/000resolvconf
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/chrony
Jan 20 06:34:43 ifup[1949038]: run-parts: executing /etc/network/if-up.d/ethtool
Jan 20 06:34:43 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jan 20 06:34:43 systemd[1]: networking.service: Failed with result 'exit-code'.
Jan 20 06:34:43 systemd[1]: Failed to start Raise network interfaces.

 , ,

gobot
()

Распознавание порно по фото

Хочу упростить модерирование путем автоматизации: автоматическое распознавание половых органов, голых частей тела и т.д. Первое что приходит какие то облака с AI, но не знаю есть ли такой сервис?

 , ,

gobot
()

Микроконтроллер wifi+ethernet в одном корпусе

Есть ли такое в одном корпусе? Нужна плата или микроконтроллер, который бы имел выход в интернет через ethernet и wifi (желательно бы ещё и через gprs). Сейчас нашел только разные модули w5500(ethernet) и esp8266 (wifi). Если такого не производят, то на ум приходит только разместить эти два модуля на одной печатной плате и связать их через другой микроконтроллер посредством UART\SPI\ХЗ. Я в этом дилетант, посоветуйте по какому пути идти.

 , ,

gobot
()

Разработать прототип макетной платы микроконтроллера

Нужно спроектировать макетную плату со следующими функциями

WiFi, Ethernet, Gprs etc (нужен tcp/ip стек для настройки устройства).
Порты ввода (будут подключаться датчики)
Порты вывода (будет подключаться нагрузка, например реле)

Подобрать популярные комплектующие, которые есть на aliexpress

По сути arduino, только нужно сделать компактней и на одной монтажной плате

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

Нужна больше консультация на первом этапе. Потом посмотрим что и как

Пока что готов заплатить 1000 руб. за небольшой ликбез в телеге, кто даст вводную. Дальше, если сойдемся, больше, по нарастающей

 

gobot
()

Сборка железки wifi + ethernet

Здравствуйте!

Занимался тут летом всякими датчиками на arduino, сейчас решил возобновить тему. Решил отказаться от компа-шлюза и сделать полноценное устройство с выходом в интернет.

Прототип задачи в том, чтобы собрать устройство, подключить к нему датчик и чтобы управлялось оно через интернет. То есть, соединялось с удаленным сервером и принимала от него команды. Интернет хочу в идеале Wifi+Ethernet

Нашел
WiFi
Ethernet
УЗ Датчик

Я как понимаю мне ещё нужна «базовая» плата, к которой бы все это подключалось?

Нашел также Плату с WIFI на борту. Не совсем понимаю, это Arduino UNO? Что это за комплект по такой цене..?

В общем, я запутался, дайте пинка в нужном направлении.

 

gobot
()

RAID1 ===> RAID0

Установил новый сервер, на нем raid1. Хочу raid0, чтобы больше места было.

Что было

cat /proc/mdstat
md127 : active raid1 sdb1[0] sdc1[1]
      3141632 blocks super 1.2 [2/2] [UU]


затем я сделал raid0
mdadm /dev/md127 --grow --level=0
mdadm: level of /dev/md127 changed to raid0

cat /proc/mdstat
md127 : active raid0 sdc1[1]
      3141632 blocks super 1.2 64k chunks


Ну, и, собственно, хочу добавить освободившийся раздел sdb1
mdadm /dev/md127 --add  /dev/md127 /dev/sdb1
mdadm: /dev/md127 not large enough to join array


Пишет, что диск недостаточно большой, чтобы его добавить. Что делать?

fdisk -l
Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf4f86955

Device     Boot Start     End Sectors Size Id Type
/dev/sdb1        2048 6291455 6289408   3G 83 Linux


Disk /dev/sdc: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4e1043f4

Device     Boot Start     End Sectors Size Id Type
/dev/sdc1        2048 6291455 6289408   3G 83 Linux


Disk /dev/sda: 10.6 GiB, 11380449280 bytes, 22227440 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6cc04202

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 20226047 20224000  9.6G 83 Linux
/dev/sda2       20228094 22226943  1998850  976M  5 Extended
/dev/sda5       20228096 22226943  1998848  976M 82 Linux swap / Solaris


Disk /dev/md127: 3 GiB, 3217031168 bytes, 6283264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes



П.С. Тренируюсь, конечно, пока на VirtualBox, чобы потом сделать на реальном сервере )


Короче, сам написал, сам с собой поговорил, сам решил. Слава VirtualBox! Там можно поэкспериментировать )

Как перейти с RAID1 to RAID0
//Переход на raid0, но будет 1 диск всего
mdadm /dev/md0 --grow --level=0
mdadm: level of /dev/md0 changed to raid0

//Увеличить размер массива и добавить 1 диск
mdadm /dev/md0 --grow --raid-devices=2 --add /dev/sdb1
mdadm: level of /dev/md0 changed to raid4
//тут будет делаться reshape, долго, в зависимости от объема
//потом перейдет снова на raid0
mdadm: level of /dev/md0 changed to raid0

//Далее нужно увеличить размер ФС, если без параметров, то увеличивается автоматом до всего доступного размера
resize2fs /dev/md0


 , , , ,

gobot
()

Тюнинг диска, барахлит жутко I\O

Копаюсь тута в virtualbox, шаманю с жестким диском, колдую в общем. Сама проблема в том, что на реальном сервере в некоторые моменты времени очень большая задержка отправки\приема с rabbitMQ сервера. Тама отваливаются некоторые службы из-за этого по таймауту (можно конечно выставить большие тайауты, но хочу все же оттюнинговать диск и проблему решить в корне, если получится). То есть послал сообщение в rabbitMQ, тебе ответ пришел, обычно это занимает миллисекунды, но в некоторые моменты доходит аж до 3-6 сек! Графики(zabbix) показывают iowait 5%\48% (средн.\макс. значения за месяц). В связи с этим я пришел к выводу, что причина и узкое место на сервере это I\O и из-за него такие лаги с rabbitMQ.

Потом я начал грешить на raid1. Ядренный процесс jbd (в моем случае это jbd2/md2-8) который отвечает за журнализацию ext4, постоянно, без остановки, чем то занят, iotop этого процесса постоянно скачет 5..10...99%! Хотя, по сути, должен отрабатывать каждые 15 сек., ибо в параметрах монтирования raid1 я указал commit=15. То есть каждые 15 сек. должен записывать в журнал. Ещё я заметил, что если отключить zabbix-server, то процесс этот запускается как положено через каждые 15 сек. Почему так?

Посмотрел iotop ещё раз, нет других процессов с большим %, ну mysql промелькивает 0.05%, nginx и прочие потроха.

Что пробовал (три раза запуск)

dd if=/dev/zero of=/tmp/output.img bs=16k count=30k
838860800 bytes (839 MB, 800 MiB) copied, 1.05715 s, 794 MB/s
838860800 bytes (839 MB, 800 MiB) copied, 0.442051 s, 1.9 GB/s
838860800 bytes (839 MB, 800 MiB) copied, 9.11132 s, 92.1 MB/s

Скорость записи скачет в 10 раз...какие-то блокировки ужасные

А вот если больший count поставить 70k, но уже rabbitMQ идет с задержкой и все потроха валятся из-за timeout и процессу jbd2/md2-8 сносит голову до 99% I\O
dd if=/dev/zero of=/tmp/output.img bs=16k count=70k
1174405120 bytes (1.2 GB, 1.1 GiB) copied, 6.25328 s, 188 MB/s


cat /etc/fstab
/dev/md3        /       ext4    commit=15,errors=remount-ro,relatime    0       1
/dev/md2        /boot   ext4    errors=remount-ro,relatime      0       1
/dev/sda4       swap    swap    defaults        0       0
/dev/sdb4       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0

mount | grep "/dev/md3"
/dev/md3 on / type ext4 (rw,relatime,errors=remount-ro,commit=15,data=ordered) 

cat /proc/mdstat
md2 : active raid1 sdb2[1] sda2[0]
      523200 blocks [2/2] [UU]

md3 : active raid1 sdb3[1] sda3[0]
      1952461760 blocks [2/2] [UU]
      bitmap: 15/15 pages [60KB], 65536KB chunk

unused devices: <none>


df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.8T  1.4T  312G  83% /
devtmpfs        7.9G     0  7.9G   0% /dev
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           7.9G  772M  7.1G  10% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/md2        487M   23M  435M   5% /boot
overlay         1.8T  1.4T  312G  83% /var/lib/docker/overlay2/29d42b8f520821ac9c12919a53c6eb7f4b1cf25c63cd03fe7f2a3341e547a42f/merged
shm              64M     0   64M   0% /var/lib/docker/containers/c1d856a4dce5aeb0d0e67e4bdb1e2123a1a2fbecfbb4c4fdfe91b1d75bf0b8a8/mounts/shm




Выхлоп iotop
Total DISK READ :      68.09 K/s | Total DISK WRITE :       9.27 M/s
Actual DISK READ:      68.09 K/s | Actual DISK WRITE:     594.86 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN      IO    COMMAND
  313 be/3 root        0.00 B/s  426.44 K/s  0.00 % 73.82 % [jbd2/md3-8]
13682 be/4 bib       0.00 B/s  215.01 K/s  0.00 % 43.27 % nginx: worker process
15381 be/4 mysql       0.00 B/s    3.58 K/s  0.00 %  0.61 % mysqld
15396 be/4 mysql       0.00 B/s    3.58 K/s  0.00 %  0.02 % mysqld
15401 be/4 mysql       0.00 B/s    7.17 K/s  0.00 %  0.02 % mysqld
13678 be/4 bib       0.00 B/s  630.70 K/s  0.00 %  0.00 % nginx: worker process
13679 be/4 bib       0.00 B/s    3.58 K/s  0.00 %  0.00 % nginx: worker process
13680 be/4 bib       0.00 B/s  207.84 K/s  0.00 %  0.00 % nginx: worker process
13681 be/4 bib      64.50 K/s  731.03 K/s  0.00 %  0.00 % nginx: worker process
13684 be/4 bib       0.00 B/s  111.09 K/s  0.00 %  0.00 % nginx: worker process
13685 be/4 bib       0.00 B/s  723.87 K/s  0.00 %  0.00 % nginx: worker process
11076 be/4 root        0.00 B/s    3.58 K/s  0.00 %  0.00 % python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf


На сервере два HDD HGST HUS726020AL по 1.8TB, RAID1

Куда копать в первую очередь? Отчего так просто загрузить IO у сервера? Диск поменять не предлагать

UDP! Не redis, а rabbitMQ )) Перепутал

 , , ,

gobot
()

Увеличение синхронизации ext4 не работает

Хочу уменьшит время commit в ext4. Прописал в fstab commit=15, но в итоге процесс «jbd2/md3-8» постоянно что-то пишет, iotop показывает (10..90%). iowait у процессора все все время > 3. Почему так?

cat /etc/fstab
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md3        /       ext4    commit=15,errors=remount-ro,relatime    0       1
/dev/md2        /boot   ext4    errors=remount-ro,relatime      0       1
/dev/sda4       swap    swap    defaults        0       0
/dev/sdb4       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0



vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 1046520 5579576 115856 1263852    0    0     4   649    0    0 12  7 78  3  0


iostat
Linux 4.9.87-xxxx-std-ipv6-64 (3.livacha.com)   11/28/2022      _x86_64_        (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.17    0.00    6.74    3.10    0.00   77.99

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              47.06       769.66      5122.38 99346518945 661184744638
sdb              48.08       744.96      5122.43 96157784098 661192082738
md3             209.01        31.80      5104.15 4105132710 658832017368
md2               0.00         0.01         0.00     861337         22

 , ,

gobot
()

Как убить соединение mysql после «upstream timed out»

В настройках nginx стоит
fastcgi_read_timeout 3s;

fpm соединение принудительно закрывается, но mysql запросы, которые были отправлены ранее, продолжают выполняться, потому что соединение не было закрыто в конце скрипта как положено. Я как понимаю в коде никак нельзя определить что тебя грохнул nginx? Хотелось бы закрывать соединение, прежде чем... Или в самом mysql что подкрутить? Пока что на ум приходят всякие wait_timeout...max_execution_time(которое не работает в сессии и глобально)

 ,

gobot
()

Тестирование сайта с разных IP

Хочу потестировать сайт на дос-атаку. Нужно как то симулировать много запросов с разных IP(для проверки всяких limit модулей ngix, iptables и самого сайта). Пока что делаю черех ab(apache bench).

Сейчас на ум приходит только добавить на интерфейс много (ну, хотелось бы хотя бы 5000) IP, но как потом заставить ab брать случайные IP...

Да, делаю это с той же машины с которой тестирую... Хотя идеально с удаленной, но тогда нужны реальные IP

 , ,

gobot
()

Как сделать чтобы php|c|node не запускал оболочку в новом процессе

Стартую процесс exec, proc_open или через Symfony\Process, но пых запускает его всегда через оболочку (в моем случае это sh -с ffmpeg). Собственно проблема в том, что когда сам пых процесс завершается или убивается через kill, то дочерний процесс (если он работает), не убивается. Да, можно определять дочерний ПИД и гасить его, но хотелось бы без лишнего гемора. Помню на 7.0 версии, оболочка эта не создавалась, запускался напрмяую, но обновил до 7.4 и снова стало такое. хочу понять зачем пых запускает оболочку. Гугление ничего не дало, тема давняя

По теме
https://github.com/symfony/symfony/issues/5030

Если перез командой написать exec(«exec ffmreg») то оболочка не создается и все нормально завершается. Как бы такое сделать по умолчанию

 , , , ,

gobot
()

Слетел IP на интерфейсе

Внезапно пропал доступ к серверу по сети. Зашел через KVM, смотрю ifconfig, а адреса то нет IPv4. Просто пропал, исчез сам по себе. Остался только IPv6. Ничего не пойму куда копать. Ну первое что на ум приходит это dhcp. Но такого никогда не было на других серверах у этого провайдера(OVH). Что может быть ещё?


Debian 11

Помогло только
/etc/init.d/network restart

Но боюсь ещё раз слетит

/etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet dhcp
    accept_ra 0

 , ,

gobot
()

Определение температуры в бане

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

Сейчас хочу просто получить температуру воздуха, с помощью термистора (NTC MF52 10K). Подключаю в аналоговый порт arduino (verba), делаю как написано тут. Подключаю по схеме делителя напряжения

Фото схема (желтый +5, корич. - GRN, зеленый - анал. вход)
https://ibb.co/1ZCS6kK

// к какому аналоговому пину мы подключены
#define THERMISTORPIN A0
// сопротивление при 25 градусах по Цельсию
#define THERMISTORNOMINAL 10000
// temp. для номинального сопротивления (практически всегда равна 25 C)
#define TEMPERATURENOMINAL 25
// сколько показаний используем для определения среднего значения
#define NUMSAMPLES 5
// бета коэффициент термистора (обычно 3000-4000)
#define BCOEFFICIENT 3950
// сопротивление второго резистора
#define SERIESRESISTOR 10000
int samples[NUMSAMPLES];

void setup(void) {

  Serial.begin(9600);
  analogReference(EXTERNAL);

}

void loop(void) {

uint8_t i;
float average;

// сводим показания в вектор с небольшой задержкой между снятием показаний

for (i=0; i< NUMSAMPLES; i++) {

  samples[i] = analogRead(THERMISTORPIN);
  delay(10);

}

// рассчитываем среднее значение

average = 0;

for (i=0; i< NUMSAMPLES; i++) {
  average += samples[i];

}

average /= NUMSAMPLES;
Serial.print("Average analog reading ");
Serial.println(average);
// конвертируем значение в сопротивление
average = 1023 / average - 1;
average = SERIESRESISTOR / average;
Serial.print("Thermistor resistance ");
Serial.println(average);
float steinhart;

steinhart = average / THERMISTORNOMINAL; // (R/Ro)

steinhart = log(steinhart); // ln(R/Ro)
steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)
steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
steinhart = 1.0 / steinhart; // инвертируем
steinhart -= 273.15; // конвертируем в градусы по Цельсию
Serial.print("Temperature ");
Serial.print(steinhart);
Serial.println(" *C");
delay(1000);

}


Первый баг - температура определялась минусовая, то есть -27..-23 и при нагревании росла к 0, о есть -20..-10. Исправил я это скобочками

вместо
average = 1023 / average - 1;

написал
average = 1023.0f / (average -  1.0);


Не где ошибка, но температура стала положительная и корректная

Большая погрешность в температуре, больше на 4 градуса, чем показания спиртового термометра и термопары (почти совпадают). Резистор выпаял со схемы старой, замерял прибор показывает 9.7K, ну номинал 10K. С теристором тоже вроде все ясно 10K. До платы тянется провод метровый, но он не должен влиять на рассчеты вроде как, сопротивления килоомные а провод по замерам 0.5 ома. Подлючал и через 3 вольта AREF(типа убрать шумы от USB питания) и через 5 на результат никак не влияет.

Можно конечно тупо сгладить, вычитанием из результата - 4 градусов, но возможно это не линейно все и вообще...хз

Такими делами впервые занимаюсь, даже не знаю куда копать. Может сам теристор плохого качества, может резистор не тот, провода, сам АЦП, либо в рассчетах ошибка. Вообще может погрешность в 4 гр. это норма? Помогите понять

 , ,

gobot
()

Как подать напряжение на LPT

Хочу сделать, чтобы автоматически включался обогреватель, теплый пол и может быть ещё кое-что. Управление удаленное, через интернет. По расписанию, например в 5 утра каждый день, либо вручную через команду. Ну купил arduino платку (verba) за 800 руб.На выход подключил реле 5 вольтовое 10 ампер. На плате нет сети и даже часов, поэтому накидал программку на c++, в которой вся логика (http сервер для удаленных команд, включение по расписанию и т.д.). Общатся программа с arduino через serial порт.

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

Как я могу в компе активировать какую-либо ножку на плате, чтобы на ней появилось напряжение 5 вольт? LPT порт? Там есть DATA ножки, их можно использовать для подключения нагрузки (реле)? Или ещё как?

 , , ,

gobot
()

Просмотр памяти процесса \ Найти строку в памяти

У меня есть nodejs-скрипт, запущенный около месяца и он в один момент начал «течь» (rss ~ 6GB). Хочу понять что там за данные накопились в нем. Возможно какой то массив\объект растет или ещё что-то.

Вытащил (gdb --pid 343 ... dump memory...) для начала через GDB сырые данные запущеного процесса в папку.

Что теперь с ними делать не понимаю. Погрепал эти файлы, ничего от этого не получил.

Каким образом код в скрипте трансформируется в память, в байты\биты?

Например есть в коде

class Abc{
  constructor() {
     this.prop = "abc"
  }
}


Можно ли потом в памяти найти строку «abc»?

 ,

gobot
()

Как узнать реальный размер памяти процесса

У меня на сервере 32 гига памяти. Хочу подсчитать какие процессы занимают память

Делаю сначала

ps -o pid,user,rss,comm ax |  sort  -k3 -n | awk '{sum+=$3; } END{print "Total mem usage: " sum;}'
34218336

Итого процессы занимают 34GB RSS. Иногда выдавал 42GB. Читал про этот RSS, так и не понял. Мне кажется, что никак точно нельзя определить сколько же памяти реально занимает процес?

 , ,

gobot
()

Перестало работать бесплатное обновление. Где, как обновлять?

Пришло письмо от maxmind

Dear GeoLite User,

In order to maintain compliance with US sanctions against certain Russian entities, MaxMind is exercising its right to terminate your free access to the GeoLite2 Databases or Web Services per Section 10.(b) of the GeoLite2 End User License Agreement.

Пишут, что бесплатное обновление для «определенных российских организаций» прекращено

Вопроса 2
1) Как они определили что я являюсь российской организацией? Я использую базу для своего сайтика
2) Как теперь обновлять базу? Как вы обновляете? Платить 25 бачей в месяц, а главное КАК их платить? VISA\Master не работает.

 ,

gobot
()

Ускорить видео в 100 раз

Хочу уменьшить в размерах и ускорить в 100 раз исходный mp4(h264) 640x480. Собственно хочу сделать версию для быстрого предосмотра всего файла.

Делаю по офф. инструкции | Speeding up/slowing down video


Делаю так

ffmpeg -i input.mp4 -vcodec libx264 -vf "scale=300:-2,setpts=0.01*PTS" -an xxx.mp4

[mp4 @ 0x4d04a80] Frame rate very high for a muxer not efficiently supporting it.

Please consider specifying a lower framerate, a different muxer or -vsync 2

[libx264 @ 0x4ce7e80] MB rate (25650000) > level limit (16711680)

[libx264 @ 0x4ce7e80] profile High, level 6.2




Все хорошо, файлы размером получаются порядка 20K и быстро проигрываются

Но на некоторых исходных файлах (ещё пока не понял закономерности) пооучается огромный FPS 90090 (90K) и размер какой то аномальный получается большой. Плееры на таких файлах виснут

Отчего такое может быть? Может какой-нибудь другой способ, более эффективный есть ускорить?

 

gobot
()

Взаимный require A из B и B из A

Есть файл A.js и есть B.js

В A require(«B»)
В B require(«A»)

Получается бред. Что делать? Разве A не может пользоваться функциями из B и наоборот?

 ,

gobot
()

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