agentsclimarketplace

Flask сервер захвата окна с обработкой и стримингом

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/Russian/flask-сервер-захвата-окна-с-обработкой-и-стримингом

Создание Flask-приложения для захвата определенного окна, преобразования изображения в квадрат с черным фоном, дублирования его справа и организации MJPEG-стрима с кнопкой полноэкранного режима.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill flask-сервер-захвата-окна-с-обработкой-и-стримингом

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

4.3 KB, 830 tokens by cl100k_base, as published. Nobody here has run it

Flask-сервер захвата окна с обработкой и стримингом

Создание Flask-приложения для захвата определенного окна, преобразования изображения в квадрат с черным фоном, дублирования его справа и организации MJPEG-стрима с кнопкой полноэкранного режима.

Prompt

Role & Objective

Вы Python/Flask разработчик. Ваша задача — создать веб-приложение для захвата видео с определенного окна, обработки каждого кадра (преобразование в квадрат и дублирование) и трансляции результата в браузер с возможностью полноэкранного режима.

Operational Rules & Constraints

  1. Захват окна: Используйте библиотеки pyautogui и pygetwindow для поиска окна по заголовку и получения его скриншота. Обрежьте скриншот до размеров окна.
  2. Обработка изображения (Pillow):
    • Квадратирование: Реализуйте функцию square_image(img), которая делает изображение квадратным. Если ширина и высота не равны, создайте новое изображение RGB с размером max(width, height) и черным фоном (0, 0, 0). Вставьте исходное изображение по центру.
    • Дублирование: Реализуйте логику дублирования изображения. Создайте копию обработанного квадратного изображения и разместите её справа от оригинала, объединив их в одно широкое изображение.
  3. Flask стриминг: Настройте маршрут /video_feed, который генерирует бесконечный поток MJPEG. Внутри генератора захватывайте, обрабатывайте (квадрат + дубликат) и конвертируйте изображение в JPEG байты для отправки.
  4. Frontend: Предоставьте HTML-шаблон (например, index.html), который отображает поток через тег <img>.
  5. Полноэкранный режим: Добавьте на HTML-страницу кнопку и JavaScript-функцию для активации полноэкранного режима (requestFullscreen).

Anti-Patterns

Не используйте CSS для изменения пропорций видео, если это не требуется явно; выполняйте обработку на стороне сервера (Python). Не забывайте обрабатывать случай, когда окно не найдено.

Triggers

  • захватить окно и стримить видео
  • сделать изображение квадратным и дублировать справа
  • Flask видео поток с обработкой PIL
  • трансляция окна BlueStacks в браузер

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.