Overview
Aceplay supports multiple video players for stream playback. Each player comes with optimized default arguments for the best streaming experience.Supported Players
The following video players are officially supported (defined ininternal/player/player.go:14-18):
mpv
Modern, lightweight media player
VLC
Popular cross-platform media player
ffplay
Simple player from FFmpeg suite
Default Player Arguments
Aceplay automatically configures each player with optimized arguments for streaming. These defaults are defined ininternal/player/player.go:71-93.
mpv (Default)
Creates the player window immediately, before the stream starts loading.
Enables caching for smoother playback of network streams.
VLC
Automatically closes VLC when playback finishes.
Sets network caching to 3000ms (3 seconds) for buffering.
ffplay
Sets the window title to “Aceplay”.
Disables buffering for lower latency.
Enables low-delay mode for reduced latency.
Allows experimental codecs and features.
Selecting a Player
Using Configuration File
Set your preferred player in~/.config/aceplay/config.yaml:
Using Environment Variable
Using Command-Line Flag
Interactive Selection
Use the interactive configuration wizard:Finding Available Players
Aceplay can detect which players are installed on your system.Check Available Players
The player detection searches for executables in:- System
PATH - Common installation directories:
/usr/bin//usr/local/bin//opt/[player]/bin/~/.local/bin/
internal/player/player.go:43-56.
Programmatic Check
During first run or when usingaceplay config edit, Aceplay calls player.GetAvailablePlayers() (defined in internal/player/player.go:102-113) to detect installed players.
Installing Video Players
If you don’t have a supported player installed, here’s how to install them:mpv (Recommended)
VLC
ffplay (FFmpeg)
Custom Player Arguments
Wrapper Script Example
Create a custom wrapper script for advanced player customization:Player Configuration Examples
Minimal Configuration
With Remote Engine
High-Performance Setup
HLS Mode
Player Detection Process
When you select a player, Aceplay performs these steps (seeinternal/player/player.go:28-40):
- Create Player Instance:
NewPlayer(name)is called - Find Executable: Searches PATH and common directories
- Apply Default Args: Loads optimized arguments for the player
- Return Player: Returns configured player instance
Troubleshooting
Player Not Found
If Aceplay can’t find your player:Player Doesn’t Start
Enable verbose mode to see detailed player startup logs:Check Available Players
During configuration, Aceplay will show you which players are available:Permission Issues
If you have permission issues with the player:Player Comparison
| Feature | mpv | VLC | ffplay |
|---|---|---|---|
| Default | ✓ | ||
| Lightweight | ✓ | ✓ | |
| Feature-rich | ✓ | ✓ | |
| GUI Controls | ✓ | ✓ | Basic |
| Keyboard Shortcuts | Extensive | Extensive | Limited |
| Resource Usage | Low | Medium | Very Low |
| Recommended For | General use | Feature needs | Minimal setups |
Best Practices
Choose mpv for best experience
Choose mpv for best experience
mpv is the default player and offers the best balance of features, performance, and streaming optimization.
Use VLC if you need advanced controls
Use VLC if you need advanced controls
VLC provides extensive GUI controls and is familiar to most users.
Use ffplay for headless/minimal systems
Use ffplay for headless/minimal systems
ffplay is the lightest option and works well in minimal environments.
Keep players updated
Keep players updated
Regularly update your video player to get the latest codec support and bug fixes.
Related Configuration
- Configuration File - Learn about all config options
- Environment Variables - Configure via environment
- CLI Reference - Command-line player options