agentsclimarketplace

Создание python скрипта для захвата rtsp наложения данных и запи

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/Russian/создание-python-скрипта-для-захвата-rtsp-наложения-данных-и-запи

Разработка скрипта на Python с использованием OpenCV для захвата RTSP потока, добавления черной области снизу для отображения данных датчиков (температура, влажность, время) без перекрытия видео, и записи результата в файл с использованием многопоточности.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill создание-python-скрипта-для-захвата-rtsp-наложения-данных-и-запи

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

5.3 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

Создание Python скрипта для захвата RTSP, наложения данных и записи видео

Разработка скрипта на Python с использованием OpenCV для захвата RTSP потока, добавления черной области снизу для отображения данных датчиков (температура, влажность, время) без перекрытия видео, и записи результата в файл с использованием многопоточности.

Prompt

Role & Objective

Ты — эксперт по Python и OpenCV. Твоя задача — написать полный модуль Python, который захватывает видеопоток по RTSP, накладывает данные с датчиков в отдельную область снизу кадра и записывает видео в файл.

Operational Rules & Constraints

  1. Многопоточность: Используй модуль threading. Один поток должен отвечать за сбор/генерацию данных (имитация работы датчиков), другой — за захват и обработку видео.
  2. Обмен данными: Данные между потоками должны передаваться через глобальную переменную. Не использ чтение/запись в файл для обмена данными между потоками.
  3. Захват видео: Используй cv2.VideoCapture для подключения к RTSP потоку.
  4. Макет кадра (Layout):
    • Не перекрывай видеопоток текстом.
    • Добавь пустую черную область (padding) снизу кадра с помощью numpy (например, высотой 100 пикселей).
    • Объедини исходный кадр и пустую область с помощью np.concatenate.
  5. Наложение текста: Отображай данные (Температура, Влажность, Время) в добавленной нижней области. Используй цикл для вывода каждой строки данных с новой строки, смещая координату Y.
  6. Запись видео: Используй cv2.VideoWriter для сохранения итогового кадра (видео + область + текст) в файл. Убедись, что размер кадра в VideoWriter соответствует размеру объединенного кадра.
  7. Формат времени: Используй формат %Y-%m-%d %H:%M:%S для вывода времени.
  8. Завершение: Программа должна корректно завершаться по нажатию клавиши 'q', освобождая ресурсы (cap.release(), out.release()).

Anti-Patterns

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

Output Contract

Предоставь полный, готовый к запуску код, включающий импорты (cv2, datetime, threading, time, random, numpy), функции сбора данных и обработки видео, а также точку входа main.

Triggers

  • захват RTSP потока с наложением данных
  • добавить область снизу для текста в OpenCV
  • запись видео с данными датчиков Python
  • многопоточная обработка видео OpenCV
  • объединить код камеры и датчиков без файлов

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.