Видео транскрипциялау қолданбасы Whisper AI арқылы. Минималистік, көп тілді (қазақша, орысша, ағылшынша) интерфейспен жасалған.
API-сыз, толық локалды жұмыс істейді!
- ✅ Модельдер автоматты жүктеледі
- ✅ Желісіз жұмыс (алғашқы қолданудан кейін)
- ✅ Толық құпиялық
- ✅ FFmpeg арқылы аудио шығару
📖 Құжаттама:
- ⚡ Жылдам басталу (QUICKSTART.md) - Қолданбаны іске қосу
- 📚 Толық нұсқаулық (WHISPER_LOCAL_SETUP.md) - Егжей-тегжейлі мәлімет
- 🔧 Интеграция жиынтығы (INTEGRATION_SUMMARY.md) - Техникалық мәліметтер
- ✅ Локалды 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 интеграциясы үшін)
flutter pub get# Desktop (macOS/Linux/Windows)
flutter run -d macos # немесе windows/linux
# Web
flutter run -d chrome
# Mobile
flutter run -d ios # немесе androidBackend API үшін WHISPER_PROMPT.md файлында толық нұсқаулық бар.
- POST /api/transcribe - Видео жүктеу және транскрипциялау бастау
- GET /api/transcribe/{job_id}/status - Статусты тексеру
- GET /api/transcribe/{job_id}/result - Дайын нәтижені алу
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(жасыл)
- 🌐
language- Тіл таңдау - ☁️
cloud_upload- Видео қосу ▶️ play_arrow- Preview- ⚙️
settings- Параметрлер - 📤
send- Транскрипцияға жіберу - 📥
download- JSON жүктеу - ⏳
hourglass- Өңделуде - ❌
error- Қате
Әр иконка үш тілде tooltip-пен жабдықталған:
aria-labelжәнеtitleатрибуттары- Keyboard navigation қолдау
- Screen reader compatibility
Үш тілді қолдау:
- 🇰🇿 Қазақша (kk_KZ) - Default
- 🇷🇺 Русский (ru_RU)
- 🇬🇧 English (en_US)
Жаңа тіл қосу үшін lib/l10n/app_localizations.dart файлында _localizedValues картасына қосыңыз.
Толық 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-да міндетті)
MIT License
Pull request-тер қош келдіңіз! Үлкен өзгерістер үшін алдымен issue ашыңыз.
Сұрақтар немесе ұсыныстар үшін issue ашыңыз.
QazNat VT - Видео транскрипциялау жеңіл және қолайлы! 🎬✨