{"id":27312305,"url":"https://github.com/d-oit/video-audible","last_synced_at":"2025-06-17T06:35:36.257Z","repository":{"id":286975291,"uuid":"962896645","full_name":"d-oit/video-audible","owner":"d-oit","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-09T08:53:26.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T06:39:55.992Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d-oit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-08T20:59:04.000Z","updated_at":"2025-04-09T08:53:30.000Z","dependencies_parsed_at":"2025-04-09T11:30:13.325Z","dependency_job_id":null,"html_url":"https://github.com/d-oit/video-audible","commit_stats":null,"previous_names":["d-oit/video-audible"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/d-oit/video-audible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-oit%2Fvideo-audible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-oit%2Fvideo-audible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-oit%2Fvideo-audible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-oit%2Fvideo-audible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-oit","download_url":"https://codeload.github.com/d-oit/video-audible/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-oit%2Fvideo-audible/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260308107,"owners_count":22989804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-12T06:39:39.321Z","updated_at":"2025-06-17T06:35:36.248Z","avatar_url":"https://github.com/d-oit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Video Audible\n\n## Overview\nVideo Audible is a project designed to convert video content into audible formats. This tool aims to make video content accessible to visually impaired individuals by providing audio descriptions and transcriptions.\n\n## Features\n\n- **Video to Audio Conversion**: Converts video files into audio files.\n  - Direct MP4 to MP3 extraction\n  - Batch processing support\n- **Transcription**: Generates text transcriptions of video content.\n- **Audio Descriptions**: Provides audio descriptions for visual content.\n- **Voice Detection**: Identifies voice segments in audio.\n- **Non-Voice Segment Analysis**: Generates reports of silent or non-voice segments.\n\n## Requirements\n\n- Python 3.x\n- FFmpeg (required for audio/video processing)\n- Dependencies listed in `requirements.txt`\n\n## Installation\n\nTo get started with Video Audible, follow these steps:\n\n1. Install Python 3.x:\n   - **Windows**: Download from [python.org](https://www.python.org/downloads/)\n     - ⚠️ Important: Check \"Add Python to PATH\" during installation\n     - After installation, you may need to disable the Python App Installer in Windows:\n       1. Open Windows Settings\n       2. Go to Apps \u003e Advanced app settings \u003e App execution aliases\n       3. Turn off \"python.exe\" and \"python3.exe\"\n   - **Linux/Mac**: Use your system's package manager or download from python.org\n\n2. Install FFmpeg:\n   - **Windows**: `choco install ffmpeg` (using Chocolatey)\n   - **macOS**: `brew install ffmpeg` (using Homebrew)\n   - **Ubuntu/Debian**: `sudo apt update \u0026\u0026 sudo apt install ffmpeg`\n   - Or download from [ffmpeg.org](https://ffmpeg.org/download.html)\n\n3. Clone the repository:\n   ```bash\n   git clone https://github.com/d-oit/video-audible.git\n   ```\n\n4. Navigate to the project directory:\n   ```bash\n   cd video-audible\n   ```\n\n5. Install the required dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Usage\n\n### Quick Audio Extraction\n\n#### Windows Users\nUse the batch file:\n```cmd\nextract_audio.bat input.mp4 [output.mp3]\n```\n\n#### Linux/Mac Users\nUse the shell script:\n```bash\n./extract_audio.sh input.mp4 [output.mp3]\n```\n\nExamples:\n```bash\n# Windows\nextract_audio.bat video/movie.mp4              # Creates video/movie.mp3\nextract_audio.bat video/movie.mp4 audio.mp3    # Creates audio.mp3\n\n# Linux/Mac\n./extract_audio.sh video/movie.mp4             # Creates video/movie.mp3\n./extract_audio.sh video/movie.mp4 audio.mp3   # Creates audio.mp3\n```\n\n### Full Pipeline Processing\n\nTo use the complete Video Audible pipeline with all features:\n\n```bash\n# Windows/Linux/Mac\npython -m src path/to/video.mp4\n```\n\nOr use the provided shell script:\n\n```bash\n# Linux/Mac\n./run_pipeline.sh path/to/video.mp4\n\n# Windows (Git Bash or similar)\n./run_pipeline.sh path/to/video.mp4\n```\n\n### Complete Audio Description Workflow\n\nFor a guided, interactive workflow that takes you through all steps of creating audio descriptions:\n\n```bash\n# Linux/Mac/Windows (Git Bash)\n./movie_audio_workflow.sh path/to/video.mp4\n```\n\nThis all-in-one script will:\n1. Extract audio from the video\n2. Identify non-voice segments\n3. Help you create descriptions\n4. Generate AI voiceovers\n5. Combine everything into a final audio file\n6. Optionally merge with the original video\n\nThe processed audio and analysis reports will be saved in a timestamped project directory.\n\n### Extract Non-Voice Segments\n\nTo analyze a video/audio file and generate a report of non-voice segments:\n\n```bash\n# Linux/Mac\n./extract_segments.sh path/to/audio.mp3 [output_report.md]\n```\n\n## Configuration\n\n### Environment Variables\n\nThe application uses environment variables for configuration. You can set these in a `.env` file:\n\n- `ENABLE_SILENCE_DETECTOR`: Enable/disable silence detection (default: true)\n- `ENABLE_SPEECH_DETECTOR`: Enable/disable speech detection (default: true)\n- `ENABLE_MUSIC_DETECTOR`: Enable/disable music detection (default: true)\n- `ENABLE_BACKGROUND_DETECTOR`: Enable/disable background noise detection (default: true)\n- `NON_VOICE_DURATION_THRESHOLD`: Minimum duration (seconds) for non-voice segments\n\n### Configuration File\n\nYou can also configure the tool by modifying the `config.json` file. The configuration options include:\n\n- `input_directory`: The directory where input video files are stored.\n- `output_directory`: The directory where output audio files will be saved.\n- `transcription_enabled`: Enable or disable transcription.\n- `audio_description_enabled`: Enable or disable audio descriptions.\n\n## Testing\n\nThe project uses pytest for testing. To run tests:\n\n```bash\npytest\n```\n\nFor test coverage reports:\n\n```bash\npytest --cov=src --cov-report=html\n```\n\nCoverage reports will be generated in the `htmlcov` directory.\n\n## Troubleshooting\n\n### Python Not Found\n\nIf you get a \"Python was not found\" error:\n1. Make sure Python is installed and added to PATH\n2. Disable Windows Python App Installer aliases (see Installation instructions)\n3. Try using the full Python path: `C:\\Python3x\\python.exe extract_audio.py`\n\n### Audio Extraction Failed\n\n1. Verify the input video file exists and is readable\n2. Ensure you have write permissions in the output directory\n3. Check that MoviePy and its dependencies are properly installed\n4. Try using an absolute path for input/output files\n\n### FFmpeg Issues\n\nIf you encounter FFmpeg-related errors:\n1. Verify FFmpeg is installed and available in your PATH\n2. On Windows, you may need to restart your terminal after installing FFmpeg\n3. Try reinstalling the ffmpeg-python package: `pip install --upgrade ffmpeg-python`\n\n## License\n\nThis project is licensed under the Apache License 2.0. See the `LICENSE` file for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-oit%2Fvideo-audible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-oit%2Fvideo-audible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-oit%2Fvideo-audible/lists"}