Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Accessible Video Editor

An Android video editing application designed with accessibility as a top priority. Built for users who rely on screen readers (TalkBack, NVDA, JAWS) and keyboard navigation.

🌟 Features

Core Editing

  • Cut & Trim: Precise video cutting with accessible marker controls
  • Live Split Mode: Real-time video segmentation while playing
  • Multi-Video Merge: Combine multiple video clips seamlessly
  • Speed Control: Adjust playback speed (0.5x, 1x, 2x)
  • Audio Mute: Remove audio from video clips

Audio Management

  • Music Mixing: Add background music with volume controls
  • Auto-Ducking: Automatically lower music when speech is detected
  • Fade In/Out: Smooth audio transitions (0-10 seconds)
  • Audio Extraction: Export audio as MP3/M4A
  • Loop Music: Repeat background music throughout the video

Export Options

  • Multiple Formats: MP4, WebM, MKV
  • Quality Settings: High, Medium, Low
  • Background Processing: Export operations run in the background, allowing you to use other apps or features.
  • Robust Encoding: Standardized H264 (Video) and AAC (Audio) encoding for maximum compatibility.
  • Fast Export: Optimized export for compatible formats
  • Audio-Only Export: Extract audio without video processing

Accessibility Features

  • Full TalkBack Support: Every UI element is properly labeled
  • Custom TTS Engine: Choose your preferred Text-to-Speech engine (System, Google, Vocalizer, etc.) from Settings.
  • Keyboard Navigation: Complete keyboard control
  • Custom TalkBack Actions: Context-specific actions in video player
  • Focus Mode: Hide tabs for distraction-free editing
  • Haptic & Audio Feedback: Vibration and beep notifications
  • Detailed Announcements: Verbose mode for screen reader users

🎯 Target Users

  • Visually impaired content creators
  • Screen reader users (TalkBack, NVDA, JAWS)
  • Keyboard-only navigation users
  • Anyone seeking an accessible video editing solution

🛠️ Technical Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Video Processing: Media3 Transformer API
  • Audio Processing: Custom processors (Fade, Ducking, Stereo)
  • Architecture: MVVM with Hilt dependency injection
  • Minimum SDK: 26 (Android 8.0)
  • Target SDK: 34 (Android 14)

📋 Requirements

  • Android 8.0 (API 26) or higher
  • Recommended: Android 10+ for best performance
  • Storage permission for media access

🚀 Installation

From Source

  1. Clone the repository:

    git clone https://github.com/YOUR_USERNAME/AccessibleVideoEditor.git
  2. Open in Android Studio (Hedgehog or later)

  3. Sync Gradle and build the project

  4. Run on device or emulator

APK Release

(Coming soon - check Releases page)

📖 Usage Guide

Basic Workflow

  1. Select Media: Choose video or audio file from gallery
  2. Edit: Use Cut/Trim or Live Split mode
  3. Add Music (optional): Mix background audio
  4. Export: Choose format and quality, then save

Live Split Mode

  1. Open Cut/Trim tab
  2. Tap "OPEN LIVE SPLIT MODE"
  3. Play video and double-tap "SPLIT" to create segments
  4. Review segments and mark for deletion/mute
  5. Tap "Merge and Save" to finalize

Keyboard Shortcuts (TalkBack Custom Actions)

  • Seek Forward/Backward: Navigate timeline
  • Set Start/End Marker: Define cut points
  • Play Selection: Preview selected area
  • Go to Start/End: Jump to video boundaries

🎨 Accessibility Design Principles

  1. Semantic HTML/Compose: Proper roles and labels
  2. Logical Focus Order: Tab navigation follows visual flow
  3. State Announcements: Changes are announced to screen readers
  4. Error Handling: Clear, actionable error messages
  5. Consistent Patterns: Predictable UI behavior

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Accessibility Guidelines

When contributing, please ensure:

  • All UI elements have contentDescription
  • Custom actions are properly labeled
  • Focus management is maintained
  • Test with TalkBack enabled

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Media3 library by Google
  • Android accessibility team for TalkBack
  • The blind and visually impaired community for feedback

📧 Contact

For questions, suggestions, or accessibility feedback:

  • Open an issue on GitHub
  • Email: [Your Email]

🗺️ Roadmap

  • Video filters and effects
  • Text overlay support
  • Cloud storage integration
  • Collaborative editing
  • iOS version

Made with ❤️ for accessibility

About

Android video editor with full accessibility support - TalkBack optimized UI - Live Split mode, audio mixing, speed control

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages