Мне нужно в проекте https://github.com/ant-media/Ant-Media-Server изменить пару строчек и пересобрать все это дело. Опыт был только с проектами Android, но там сырой Java и вроде как с maven. Недолго думая установил IntelliJ Idea, скачал репозиторий, распаковал папку и сделал импорт Maven project из idea. Вроде как все импортировал, проиндексировал, но когда нажимаю Rebuild Project, то вылазит куча ошибок непонятных мне. Типа таких
Error:(21, 33) java: cannot find symbol
symbol: class IScope
location: package org.red5.server.api.scope
import org.red5.server.api.scope.IScope;
Документации по сборке вообще нет никакой. Хочу понять правильно ли я вообще начал его собирать и тем ли софтом. Подскажите с чего вообще начать
Хочу заливать APK на сервер после сборки релиза. Сделал в gradle срипт, работает все нормально, но мне нужно заливать его не после каждой сборки, а только если выбрал в студии через меню Build -> Build bundles -> Build APK.
Есть ли какое то свойство типа android.buildAPKFomMenu по которому можно будет определять как именно вызывалась сборка? Ну или какой то может макрос сделать, чтобы по кнопке на сервер заливалось?
Иногда, сами по себе, как то рэндомно, бывает раз в месяц, бывает раз в 4 месяца, некоторые процессы(nginx, php-fpm) переходят в nice = 1. Что может быть, кто их заставляет понижать свой приоритет? Например, сегодня был переход в nice=1 php-fpm после возросшего iowait(делался бэкап). Может как то с этим связано?
Купил сертификат у которого корневой USERTrust RSA Certification Authority, выданный 01.02.2010 и столкнулся с проблемой, что в некоторых андроидах его нет в доверенных. Есть похожий, но там дата стоит 1999 год и кончается в 2019. Поэтому браузер ругается на сайт с этим сертификатом. Правильно ли я понимаю, что решить эту проблему можно только заменой сертификата, у которого корневой есть в старых андроидах?
На старых(тестил на 4.3) андроид не работает cайт по https.
Браузер пишет:
this certificate isn't from a trusted authority
Вроде как не хватает промежуточного сервера(или о корневом не знает?) в цепочке сертификатов. Сертификат покупал, все цепочки запихал в файлик и скормил nginx.
openssl s_client -connect site.com:443
CONNECTED(00000003)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = site.com
verify return:1
---
Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=site.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
2 s:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
соответсвенно генерируется исключение, которое попадает в Thread.UncaughtExceptionHandler
D/AndroidRuntime: Shutting down VM
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ProgressDialog.setTitle(java.lang.CharSequence)' on a null object reference
тут обработка uncaughtException
Application terminated
Вроде как строго типизированный язык, как с++ и ошибки сведены к 0 теоретически. Какие подводные камни будут при написании крупного(относительно) приложения на андроид?
Пытаюсь через MSE фрагментированный mp4 проиграть, подготовленный спец. способом через ffmpeg, но иногда проскакивает такая ошибка. Ошибка бывает периодически. В формате не особо силен, может есть спец кто даст наводку куда копать?
video frame with PTS 0us has negative DTS -83000us after applying timestampOffset, handling any discontinuity, and filtering against append window
Хочу сделать задержки пакетов входящего трафика на сервер на 443 порт. Делаю как тут https://wiki.linuxfoundation.org/networking/netem но добавил только «ip sport 443 0xffff» в match. Почему то задержки идут на весь трафик
dev="eno1"
echo $dev
tc qdisc del dev $dev root
tc qdisc del dev ifb0 root
tc qdisc add dev $dev ingress
tc filter add dev $dev parent ffff: protocol ip u32 match ip sport 443 0xffff flowid 1:1 action mirred egress redirect dev ifb0
tc qdisc add dev ifb0 root netem delay 400ms
Как сгенерировать пакет tcp, какие есть инструменты для этого? Nping и hping3 не подходят, так как в конце полысают пакет с флагом RST и соединение рвется. Нужно все это чтобы постестить syn half open ddos
Установил деб с образа у хостера, установщик создал RAID6 и добавил туда все диски(2 ssd и 2 sata), но в таком раскладе диск сильно тормозит(замерял hdparm). Хочу изменить тип на RAID1 с 2мя SSD
Пишет что hot remove failed for /dev/sda3: Device or resource busy Хотя делаю в rescue mode и разделы эти не смонтированы. Потом делаю mdadm -S /dev/md2 Остановился Создаю новый
Создался нормально. Но не могу его примонтировать, пишет wrong fs type, bad option, bad superblock
Перезагрузился снова в обычный режим, смотрю
md2 : active raid6 sdb3[1] sda3[0]
220674048 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [UU__]
bitmap: 1/1 pages [4KB], 65536KB chunk
md127 : active raid1 sdc3[0] sdd3[1]
110337472 blocks super 1.2 [2/2] [UU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md0 : active (auto-read-only) raid1 sdb1[1] sda1[0] sdc1[2] sdd1[3]
6287360 blocks super 1.2 [4/4] [UUUU]
md1 : active raid1 sdb2[1] sda2[0] sdd2[3] sdc2[2]
523712 blocks super 1.2 [4/4] [UUUU]
Добавился md127 и в md2 удалились 2 диска ssd Как же сделать то по нормальному? C raid ранее не работал. разбить диск при установке Debian не могу, выбора вообще нет, только одна кнопка «Установить Linux Debian 9.5»
Как заставить <video> производить бесконечный поток? Ставил video.duration = Infinity не помогает. Использую MSE через websocket. Смотрел в некоторых плеерах video.duration = Infinity.
То есть когда буфер заполняется проматываю в конец. Проблема в том, что иногда поток отстает(по нарастающей), приходится делать вручную промотку. Если вручную сделать video.currentTime = video.duration то все нормально синхронизируется