Skip to content

ehlas777/d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QazNat VT - Video Transcription App

Видео транскрипциялау қолданбасы Whisper AI арқылы. Минималистік, көп тілді (қазақша, орысша, ағылшынша) интерфейспен жасалған.

🎉 Жаңалық: Толық локалды Whisper интеграциясы!

API-сыз, толық локалды жұмыс істейді!

  • ✅ Модельдер автоматты жүктеледі
  • ✅ Желісіз жұмыс (алғашқы қолданудан кейін)
  • ✅ Толық құпиялық
  • ✅ FFmpeg арқылы аудио шығару

📖 Құжаттама:

🎯 Мүмкіндіктері

🚀 Негізгі функциялар

  • Локалды Whisper: Толық offline жұмыс, API-сыз
  • Көп тілді интерфейс: Қазақша, Орысша, Ағылшынша
  • Иконка-негізді UI: Минималистік дизайн, accessibility-мен
  • Видео жүктеу: Drag & drop немесе файл таңдау
  • Видео preview: Қарап көру мүмкіндігі

🎙️ Транскрипция

  • Автоматты модель жүктеу: Алғашқы қолданғанда
  • Көп модельдер: tiny, base, small, medium
  • Транскрипция опциялары:
    • Тіл таңдау (auto-detect, kk, ru, en, zh және т.б.)
    • Timestamps (уақыт белгілері)
    • Speaker diarization
    • Көптеген басқа опциялар
  • JSON нәтиже: Толық JSON viewer және жүктеу
  • Прогресс tracking: Нақты уақытта прогресс

📱 Скриншоттар

Видео жүктеу беті

Drag & drop зонасы, минималистік иконкалармен

Транскрипция опциялары

Тіл таңдау, timestamps, speaker diarization және басқа параметрлер

Нәтиже көру

JSON viewer және толық мәтін форматында

🚀 Орнату

Талаптар

  • Flutter SDK 3.7.0+
  • Dart 3.0+
  • (Опциялы) Backend API (Whisper интеграциясы үшін)

1. Dependencies орнату

flutter pub get

2. Қолданбаны іске қосу

# Desktop (macOS/Linux/Windows)
flutter run -d macos  # немесе windows/linux

# Web
flutter run -d chrome

# Mobile
flutter run -d ios  # немесе android

🔧 Backend қосу

Backend API үшін WHISPER_PROMPT.md файлында толық нұсқаулық бар.

Backend Endpoints қажет:

  1. POST /api/transcribe - Видео жүктеу және транскрипциялау бастау
  2. GET /api/transcribe/{job_id}/status - Статусты тексеру
  3. GET /api/transcribe/{job_id}/result - Дайын нәтижені алу

Backend URL-ді өзгерту:

lib/services/transcription_service.dart файлында:

static const String baseUrl = 'https://your-backend-api.com/api';

📚 Құрылым

lib/
├── config/
│   └── app_theme.dart              # Түс палитрасы, theme
├── l10n/
│   └── app_localizations.dart      # Локализация (kk, ru, en)
├── models/
│   ├── transcription_options.dart  # Транскрипция параметрлері
│   └── transcription_result.dart   # JSON нәтиже моделі
├── providers/
│   └── locale_provider.dart        # Тіл ауыстыру state
├── screens/
│   └── home_screen.dart            # Негізгі экран
├── services/
│   └── transcription_service.dart  # API интеграциясы
├── widgets/
│   ├── video_dropzone.dart         # Drag & drop виджеті
│   ├── video_preview.dart          # Видео қарау
│   ├── transcription_settings_panel.dart  # Параметрлер панелі
│   └── json_viewer.dart            # JSON көрсету
└── main.dart                       # Қолданба кірісі

🎨 Дизайн принциптері

Түс палитрасы

  • Фон: #F7F7F8 (нейтрал сұр)
  • Карт: #FFFFFF (ақ)
  • Акцент: #2563EB (көк)
  • Мәтін: #1F2937 (қара)
  • Қателік: #EF4444 (қызыл)
  • Табыс: #10B981 (жасыл)

Иконкалар (Material Icons)

  • 🌐 language - Тіл таңдау
  • ☁️ cloud_upload - Видео қосу
  • ▶️ play_arrow - Preview
  • ⚙️ settings - Параметрлер
  • 📤 send - Транскрипцияға жіберу
  • 📥 download - JSON жүктеу
  • hourglass - Өңделуде
  • error - Қате

Accessibility

Әр иконка үш тілде tooltip-пен жабдықталған:

  • aria-label және title атрибуттары
  • Keyboard navigation қолдау
  • Screen reader compatibility

🌍 Локализация

Үш тілді қолдау:

  • 🇰🇿 Қазақша (kk_KZ) - Default
  • 🇷🇺 Русский (ru_RU)
  • 🇬🇧 English (en_US)

Жаңа тіл қосу үшін lib/l10n/app_localizations.dart файлында _localizedValues картасына қосыңыз.

📋 Whisper Integration

Толық Whisper промпт және API integration нұсқаулығы WHISPER_PROMPT.md файлында.

Қысқа мысал:

# 1. Аудио шығару
ffmpeg -i video.mp4 -ac 1 -ar 16000 -vn audio.wav

# 2. Whisper API
curl -X POST "https://api.openai.com/v1/audio/transcriptions" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "model=whisper-1" \
  -F "file=@audio.wav" \
  -F "response_format=json" \
  -F "language=kk"

🧪 Тестілеу

# Анализ
flutter analyze

# Unit тесттер
flutter test

# Integration тесттер
flutter test integration_test

🔒 Қауіпсіздік

  • ✅ Файл өлшемін шектеу (500 MB)
  • ✅ Форматты тексеру (.mp4, .mkv, .avi, .mov)
  • ✅ CORS конфигурациясы
  • ✅ API Key қорғау
  • ⚠️ HTTPS қолдану (production-да міндетті)

📄 License

MIT License

🤝 Қатысу

Pull request-тер қош келдіңіз! Үлкен өзгерістер үшін алдымен issue ашыңыз.

📞 Байланыс

Сұрақтар немесе ұсыныстар үшін issue ашыңыз.


QazNat VT - Видео транскрипциялау жеңіл және қолайлы! 🎬✨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors