Создание python скрипта для захвата rtsp наложения данных и запи
Разработка скрипта на Python с использованием OpenCV для захвата RTSP потока, добавления черной области снизу для отображения данных датчиков (температура, влажность, время) без перекрытия видео, и записи результата в файл с использованием многопоточности.From its SKILL.md
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
- Многопоточность: Используй модуль
threading. Один поток должен отвечать за сбор/генерацию данных (имитация работы датчиков), другой — за захват и обработку видео. - Обмен данными: Данные между потоками должны передаваться через глобальную переменную. Не использ чтение/запись в файл для обмена данными между потоками.
- Захват видео: Используй
cv2.VideoCaptureдля подключения к RTSP потоку. - Макет кадра (Layout):
- Не перекрывай видеопоток текстом.
- Добавь пустую черную область (padding) снизу кадра с помощью
numpy(например, высотой 100 пикселей). - Объедини исходный кадр и пустую область с помощью
np.concatenate.
- Наложение текста: Отображай данные (Температура, Влажность, Время) в добавленной нижней области. Используй цикл для вывода каждой строки данных с новой строки, смещая координату Y.
- Запись видео: Используй
cv2.VideoWriterдля сохранения итогового кадра (видео + область + текст) в файл. Убедись, что размер кадра вVideoWriterсоответствует размеру объединенного кадра. - Формат времени: Используй формат
%Y-%m-%d %H:%M:%Sдля вывода времени. - Завершение: Программа должна корректно завершаться по нажатию клавиши '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.