# Interactive Audio Stream Selection ## Overview The conversion tool now supports **interactive audio stream selection**, allowing you to manually choose which audio tracks to keep during encoding rather than relying on automatic filtering. ## Usage ### Enable Interactive Mode Use both `--filter-audio` and `--interactive` flags together: ```bash python main.py "C:\path\to\videos" --filter-audio --interactive ``` ### What Happens When encoding each file with multiple audio streams: 1. **Audio Stream Display** - The tool displays all available audio streams with details: ``` 🎵 AUDIO STREAM SELECTION ================================================================================ Stream #0: 2ch | Lang: eng | Bitrate: 128kbps Stream #1: 6ch | Lang: eng | Bitrate: 448kbps Stream #2: 2ch | Lang: spa | Bitrate: 128kbps Stream #3: 2ch | Lang: comment | Bitrate: 64kbps ``` 2. **User Prompt** - You're asked to select which streams to keep: ``` ──────────────────────────────────────────────────────────────────────────── Enter stream numbers to keep (comma-separated, e.g.: 1,2 or just 2) Leave blank to keep all streams ──────────────────────────────────────────────────────────────────────────── ➜ Keep streams: 1,3 ``` 3. **Encoding ** - Only selected streams are included in the encoded output - Other streams are removed - Selection is logged for reference ## Input Format - **Multiple streams**: `0,1,3` or `0, 1, 3` (spaces optional) - **Single stream**: `1` or `2` - **Keep all**: Press Enter without typing anything ## Example Scenarios ### Scenario 1: Keep Main Audio Only ``` Streams: Stream #0: 2ch (English, 128kbps) Stream #1: 6ch (English Surround, 448kbps) ← Best quality Stream #2: 2ch (Spanish, 128kbps) Input: 1 Result: Only Stream #1 (6ch English Surround) is encoded ``` ### Scenario 2: Keep Multiple Languages ``` Streams: Stream #0: 2ch (English, 128kbps) Stream #1: 6ch (English Surround, 448kbps) Stream #2: 2ch (Spanish, 128kbps) Stream #3: 2ch (Commentary, 64kbps) Input: 1,2,3 Result: Streams #1, #2, and #3 are encoded (English Surround, Spanish, Commentary) ``` ## Comparison with Automatic Filtering ### Automatic Mode (--filter-audio only) - Keeps: Best English audio + all Commentary tracks - No user interaction - Faster batch processing ### Interactive Mode (--filter-audio --interactive) - Shows all streams and asks user to choose - Per-file control - Better for selective archiving/organization - Useful when automatic filtering doesn't match your preferences ## Logging All user selections are logged to the conversion log for reference: ``` User selected 2 audio stream(s): [1, 3] Removed 1 audio stream(s): [2] ``` ## Notes - Interactive mode requires `--filter-audio` to be enabled - If you use `--interactive` without `--filter-audio`, filtering is automatically enabled - Invalid input (non-existent stream numbers) falls back to keeping all streams - Empty input keeps all audio streams unchanged - The prompt appears for each file being encoded, allowing different selections per file