Войти

Интеграция видеоплеера ExoPlayer (Flutter video_player) в Python-фреймворк Flet

Компания Кыргызтелеком
Тип Проект
Оклад 1000 USD за проект
Описание вакансии

У нас есть приложение, разработанное на Python с использованием фреймворка Flet, который построен на основе Flutter. В данный момент для воспроизведения видео мы используем плеер, основанный на библиотеке media_kit и ядре MPV, интегрированной через библиотеку flet-video.


Однако, поведение текущего видеоплеера вызывает проблемы на некоторых устройствах. Мы хотим перейти на более стабильное и нативное решение — ExoPlayer, который используется в официальной Flutter-библиотеке video_player. Для управления интерфейсом плеера мы также рассматриваем использование chewie.


🧩 Цель задачи:

Интегрировать video_player (и опционально chewie) в наше приложение на Python через кастомный контрол Flet, как это сделано в проекте flet-video.


📌 Что нужно сделать:

Flutter (Dart) часть:


Создать Flutter-виджет на основе video_player, возможно с использованием chewie для UI-управления.


Виджет должен принимать параметры (видеоисточник, управление, автозапуск и т.п.).


Подготовить его для встраивания в Flet как Platform Control.


Python (Flet) часть:


Создать Python-обёртку (аналогично video.py).


Связать Python и Flutter-части через структуру кастомных контролов Flet.


Убедиться, что управление воспроизведением и события (onPlay, onPause, onComplete) обрабатываются корректно.


Тестирование:


Проверить работоспособность плеера на Android-устройствах.


Убедиться, что новый плеер работает стабильнее, чем текущий MPV-based плеер.


📁 Примеры для изучения:

https://github.com/flet-dev/flet-video


https://pub.dev/packages/video_player


https://github.com/fluttercommunity/chewie


🎯 Ожидаемый результат:

Готовый кастомный контрол ExoVideo() (или подобный), который можно использовать в Python-приложении на Flet точно так же, как текущий Video() из flet-video.


Поддержка базовых функций: воспроизведение, пауза, остановка, fullscreen, onComplete event и т.п.

Telegram @elmira2508e
Телефон +996 990 999 239