8000
Skip to content

naravid19/N_m3u8DL_RE_GUI

Repository files navigation

.NET WPF C# License


Logo

N_m3u8DL-RE GUI

A modern, user-friendly Windows GUI wrapper for the powerful N_m3u8DL-RE CLI tool.
View Original CLI Tool

View Demo | Report Bug | Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Features
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

Product Screenshot

N_m3u8DL-RE GUI provides a graphical interface for the N_m3u8DL-RE command-line tool, making it easier to download DASH, HLS, and MSS streams without memorizing complex command-line arguments.

Main benefits:

  • No command-line memorization - Common options are available through UI controls
  • Batch processing - Download multiple streams from text files or folders with one click
  • Configuration persistence - Your settings are automatically saved between sessions

(back to top)

Built With

  • .NET
  • WPF
  • C#

(back to top)

Getting Started

This section explains how to set up and run the application locally as an end user.

Prerequisites

Before using this application, ensure you have the following:

  • N_m3u8DL-RE - The core download engine
    # Download from: https://github.com/nilaoda/N_m3u8DL-RE/releases
  • FFmpeg - Required for muxing and processing
    # Download from: https://ffmpeg.org/download.html

Installation

  1. Download the latest release of N_m3u8DL-RE GUI.
  2. Extract the archive to your preferred location.
  3. Place required executables in the same directory:
    N_m3u8DL_RE_GUI/
    |- N_m3u8DL_RE_GUI.exe
    |- N_m3u8DL-RE.exe      <- Required
    |- ffmpeg.exe           <- Optional, for muxing
    
  4. Launch N_m3u8DL_RE_GUI.exe.

( 8000 back to top)

Usage

Quick Start

  1. Enter URL - Paste your .m3u8, .mpd, or stream URL in the URL field
  2. Configure Options - Select desired options (Audio Only, Sub Only, etc.)
  3. Click GO - The application generates and executes the command

Input Methods

Method Description
Direct URL Paste a stream URL directly
Drag & Drop Drag .m3u8, .mpd, or .txt files
Batch File Use a .txt file with multiple URLs
Folder Drop a folder containing stream files

Custom Headers

Add custom headers in the Headers field using this format:

Cookie: your_cookie_value|User-Agent: Mozilla/5.0

For more examples, refer to the N_m3u8DL-RE Documentation.

(back to top)

Features

Core Features

  • Intuitive Interface - Easy-to-use graphical interface for major options
  • Full RE Support - Compatible with N_m3u8DL-RE command-line arguments
  • Batch Downloads - Process multiple URLs from text files or folders
  • Config Persistence - Settings saved automatically between sessions
  • Collapsible Sections - Reduce clutter while keeping advanced controls available

Stability and Quality

  • Safe Config Handling - Backward-compatible config.txt parsing with safe fallbacks
  • Deterministic Tests - Cross-machine stable unit tests for args/config/parser/batch services
  • Batch Service Layer - Batch script generation moved out of heavy UI event code
  • Safe Startup Validation - Null-safe validation refresh at startup
  • Windows-safe Argument Quoting - Command arguments now safely handle trailing \ paths and embedded quotes
  • Safer Batch Titles - Batch TITLE lines are escaped for CMD context and directory mode uses predictable file-based titles
  • Safe Clipboard Access - Clipboard-read failures are handled gracefully without crashing startup/UI flows

Download Options

  • Concurrent Downloads - Download multiple streams simultaneously
  • Audio/Subtitle Selection - Download audio-only or subtitles-only
  • Stream Selection (Regex) - Select/drop video/audio/subtitle streams by regex
  • Time Range - Download specific portions of a stream
  • Speed Limit - Set maximum download speed
  • Custom Proxy - Support for HTTP and SOCKS5 proxies

Muxing and Output

  • Mux After Done - Automatically mux to mp4/mkv with ffmpeg or mkvmerge
  • Mux Import - Import external media files during muxing
  • Subtitle Format - Choose between SRT and VTT output

Live Recording

  • Perform as VOD - Treat live streams as VOD for full download
  • Realtime Merge - Merge segments in real time
  • Pipe Mux - Direct pipe to muxer
  • Record Limit - Set maximum recording duration

Decryption

  • Engine Selection - MP4DECRYPT, SHAKA_PACKAGER, or FFMPEG
  • HLS Method Override - Custom HLS decryption method
  • Real-Time Decryption - Decrypt MP4 segments on the fly
  • Key Text File - Load decryption keys from file

Advanced Features

  • Custom Headers - Add HTTP headers (Cookie, User-Agent, etc.)
  • Thread Control - Customize thread count, retry count, and timeouts
  • Auto Subtitle Fix - Automatically fix subtitle synchronization issues
  • Save Pattern - Custom naming pattern for downloaded files
  • Log Level - Control output verbosity (OFF/ERROR/WARN/INFO/DEBUG)
  • Readable Dropdowns - High-contrast ComboBox dropdown list behavior

(back to top)

Roadmap

  • Full N_m3u8DL-RE argument support
  • Batch download from text files
  • UTF-8 batch file encoding
  • Multi-language UI (EN/CN/TW)
  • Dark theme with collapsible sections
  • Mux After Done with format/muxer selection
  • Live recording options
  • Stream selection with regex
  • Decryption engine selection
  • Advanced settings (Log Level, Save Pattern, etc.)
  • Safe config parser and backward compatibility hardening
  • Batch generation moved to service layer
  • Encoding detector/parser/core hardening with automated tests
  • Download progress visualization
  • Queue management

See the open issues for a full list of proposed features and known issues.

(back to top)

Contributing

Contributions are welcome. To contribute:

  1. Fork the project
  2. Create your 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

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/naravid19/N_m3u8DL_RE_GUI

(back to top)

Acknowledgments

(back to top)


Disclaimer

This application is a GUI wrapper only. All downloading and processing is handled by N_m3u8DL-RE and FFmpeg. For issues related to downloading or media processing, refer to their respective repositories.

0