Мобильное приложение для сканирования QR-кодов с видеопотоками и одновременного воспроизведения HLS/MP4 стримов
HLS QR Scanner — это специализированное мобильное приложение для работы с видеопотоками через QR-коды. Приложение позволяет:
- 📷 Сканировать QR-коды с URL видеопотоков
- 🎬 Воспроизводить HLS/MP4 стримы в многоканальном режиме
- 🏢 Интегрироваться с Devline — системой видеонаблюдения
- 💾 Сохранять ссылки локально для быстрого доступа
- 📱 Адаптироваться под портретную и ландшафтную ориентацию
- Одновременное воспроизведение до 4 видеопотоков
- Умное управление ресурсами и буферизацией
- Автоматическая оптимизация качества (до 1280x720)
- Быстрое сканирование QR-кодов с URL
- Поддержка вставки из буфера обмена
- Автоматическое распознавание форматов
- Поддержка Basic Authentication
- Автоматическое получение списка камер
- Отображение превью изображений
- Visibility-based управление воспроизведением
- Предзагрузка видео для плавного воспроизведения
- Отключение аудио для экономии ресурсов
- Flutter
- Dart
- Material Design 3
- ExoPlayer — нативный Android плеер
- video_player — Flutter видео плагин
- mobile_scanner — QR-код сканер
- shared_preferences — локальное хранение настроек
- visibility_detector — отслеживание видимости виджетов
- http — HTTP клиент
- xml — парсинг XML ответов
- Flutter SDK (версия 3.8.1+)
- Android Studio / VS Code
- Android SDK (API 26+)
git clone <repository-url>
cd hls_qrflutter pub get# Debug режим
flutter run
# Release режим
flutter run --release- Нажмите "Сканировать QR" для сканирования QR-кода
- Или "Вставить из буфера" для вставки URL из буфера обмена
- Перейдите на вкладку "Плееры"
- Видео автоматически начнет воспроизведение
- Прокручивайте для просмотра всех потоков
- Отсканируйте QR-код с конфигурацией Devline
- Приложение автоматически подключится к серверу
- Выберите камеры для просмотра
lib/
├── main.dart # Точка входа приложения
├── app.dart # Основной виджет приложения
└── features/
├── list/ # Экран списка URL
├── scan/ # QR-сканер
├── wall/ # Видео-wall
├── urls/ # Управление URL
└── devline/ # Devline интеграция
- UrlsStore — управление списком URL
- ActivePlayers — контроль активных плееров
- PlayerTile — виджет видеоплеера
- ConcurrencyLimiter — ограничение одновременных операций
Приложение использует кастомный ExoPlayer плагин для оптимизированного воспроизведения HLS потоков.
Настраиваемые параметры буферизации:
- Минимальный буфер: 1 секунда
- Максимальный буфер: 6 секунд
- Буфер для воспроизведения: 250мс