LINUX.ORG.RU

Сообщения accountnujen

 

Как оптимизировать запрос при конвертации dav в mp4?

Форум — General

Камера снимает в dav h265 (изменить нельзя) и мне нужно конвертировать видео в любой формат, который телеграм воспринимает как видео (mp4, avi и т.д.). В сети есть похожий вопрос, где решение:

ffmpeg -y -i input-file.dav -c:v libx264 -crf 24 output-file.mp4

однако данный код при конвертации 16-и секундного видео на 6и ядерном xeon выполняется за 13 секунд, а на 4ёх ядерном ARM Ampere 23 секунды. И можно было бы говорить, что я упираюсь в производительность серверов, однако при декодинге высвечиваются такие параметры видео:

Input #0, dhav, from '111.dav':

Video: hevc (Main), yuv420p(tv), 1920x1080, 25 fps, 100 tbr, 1k tbn

и конвертируются они вот в это

Output #0, mp4, to '111.mp4':

Video: h264 (libx264) (avc1 / 0x31637661),yuv420p, 1920x1080, q=-1--1, 100 fps, 12800 tbn, 100 tbc

То есть с нифига он берёт и меняет параметры видео. Если я в запросе изменю fps со 100 до родных 25, то получу на Ampere уже 9 секунд вместо 23. FPS это базовое и примитивное, что бросается в глаза, но также здесь есть параметры tbn, tbc и ещё наверняка что-то, о чём я не знаю, но оно зачем-то изменилось. FFMPEG как-то не очень оптимально использует ресурсы, которые у него есть.

Поэтому вопрос: как можно оптимизировать запрос, чтобы получить максимально быстрый результат? p.s. меня не столько волнует размер файла, сколько время его кодирования.

 

accountnujen
()

Должен ли Trigers быть красным или почему ничего не работает?

Форум — General

Хотел сделать доступность камеры на каждые 10 минут. Создаю сам скрипт: nano chckcam.sh


TOKEN="bot123123";
CHAT="123";
IP="123";
nc -z -v -w2 $IP 123
STATUS=$?;
if [ $STATUS -ne 0 ]; then
        curl "https://api.telegram.org/$TOKEN/sendMessage?text=Не удалось соединиться с камерой&chat_id=$CHAT"
        nc -z -v -w2 $IP 8080
        STATUS2=$?;
        if [ $STATUS2 -ne 0 ]; then
                curl "https://api.telegram.org/$TOKEN/sendMessage?text=Не удалось соединиться с роутером&chat_id=$CHAT"
        else
                curl "https://api.telegram.org/$TOKEN/sendMessage?text=но доступ к роутеру есть&chat_id=$CHAT"
        fi
fi

Затем создаю сервис nano /etc/systemd/system/chckcam.service

Description=Check cam online

[Service]
Type=simple
ExecStart=/root/chckcam.sh

и сам timer nano /etc/systemd/system/chckcam.timer

Description=Run every 1 minutes

[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
Unit=chckcam.service

[Install]
WantedBy=multi-user.target

и затем делаю systemctl enable chckcam.timer systemctl start chckcam.timer

и ничего не работает…

По сути, я должен получить в телеграм сообщение, что камера недоступна, а роутер доступен и если я сделаю bash chckcam.sh, то оно произойдёт, а как сервис оно не работает.

И ещё один момент, который меня смутил: https://habrastorage.org/webt/61/6c/1f/616c1f25852f6177141222.jpeg

Triggers должен быть красным?

 

accountnujen
()

Ошибка «pid does not exist. Daemon not running?»

Форум — General

Хочу воспользоваться этим скриптом. https://github.com/greggoryhz/Watcher

Мои действия: Устанавливаю питон apt-get install python python-pyinotify python-yaml Закидываю в папку root файл watcher.py выполняю команду chmod +x watcher.py и ./watcher.py start

и ничего не происходит. Но если запустить команду ./watcher.py restart то выйдет ошибка pidfile /root/.watcher/watcher.pid does not exist. Daemon not running?

Подскажите, что нужно сделать, чтобы завёлся скрипт?

 

accountnujen
()

incron автоматически выключается

Форум — General

Здравствуйте. Я поставил incron, прописал команду на отслеживание папки, чтобы новые файлы в ней отправлялись мне в телеграм. Запустил, работает и минут через ~10 перестаёт работать. Если выполнить команду incrontab -d , то он опять начнёт работать, но снова минут на 10. С чем связано? Как лечить? Мне нужно, чтобы оно с системой стартовало и работало 24/7

 

accountnujen
()

Как получить список всех файлов в каталоге и пройтись по ним циклом?

Форум — General

Камера отправляет скриншоты мне на sftp сервер. Грузятся они не в основную папку, а хитровы*бано и имеют путь: /folder/camera1/23.09.21/случайное число/jpg/screenshoot19:57.jpg. Зависимости случайных чисел я не нашел. Нет там ни привязки ни ко времени, ни к дате, ни к событию. Может быть и 1, может быть и 14, а может быть и 7. Я хочу все эти скриншоты отправлять в телегу, а затем удалять. Моя логика такая: поставить cron на каждую минуту и проверять - есть ли скриншоты в папке, и если скриншоты есть, то выполнять curl, а затем сносить. Мне нужно как-то получить список всех файлов, которые имеют расширение jpg (то есть, заранее подпапку я знать не буду) и затем по каждому запускать отдельный curl запрос. Curl и cron заводить умею, проблем нет, а с остальным - да.

Вопрос: на сколько мой подход верен? Вопрос 2: как получить список файлов и затем отдельно по каждому выполнить curl?

 

accountnujen
()

Какие права нужно выдавать на Oracle free и как подключаться без private key?

Форум — General

Здравствуйте. Я взял бесплатный сервак на Oracle (про последствия слышал, сейчас не об этом). С линуксом вообще не дружу, поэтому нуждаюсь в вашей помощи.

Я поставил туда Ubuntu. Мне выдали два файла private key и public key. Каким-то чудом я сумел подключиться через Putty по ssh (очень долго сношался с ключом private key). Подключаюсь через пользователя Ubuntu (это дефолтный пользователь, который выдан ораклом).

Теперь вопрос:

  1. возможно ли как-нибудь организовать подключение без файла private key? Я создал пользователя, но filezilla шлёт меня на 3 буквы: «Ошибка: FATAL ERROR: No supported authentication methods available (server sent: publickey)»

  2. как дать пользователю ubuntu права на запись во всём каталоге? я сделал usermod -aG sudo ubuntu, но всё равно не могу ничего записать через sftp: «Ошибка: /var/bckp/33: open for write: permission denied»

 , ,

accountnujen
()

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