37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
# Draft: Anime-Sama Player Fallback System
|
|
|
|
## Requirements
|
|
- **Mode**: Automatique - essayer tous les players jusqu'à en trouver un qui fonctionne
|
|
- **Success Criterion**: Test téléchargement (télécharger un petit chunk pour vérifier)
|
|
- **Workflow**: Si le player détecté échoue, essayer VidMoly, SendVid, Sibnet, etc. automatiquement
|
|
|
|
## Technical Decisions
|
|
|
|
### Player Priority Order (for Anime-Sama fallback)
|
|
1. VidMoly - most reliable
|
|
2. SendVid - second most reliable
|
|
3. Sibnet - third
|
|
4. Lpayer - last (requires Playwright, slower)
|
|
|
|
### Success Detection
|
|
- Download first 10KB of the video
|
|
- If successful (200 OK, valid data), consider player working
|
|
- Cache which player works for future episodes
|
|
|
|
### Implementation Approach
|
|
1. Add `get_download_link_with_fallback()` method in `AnimeSamaDownloader`
|
|
2. Test each player by downloading first 10KB
|
|
3. Use first player that returns valid data
|
|
4. Cache working player per anime URL/series
|
|
|
|
## Scope
|
|
- INCLUDE: Anime-Sama downloader with automatic player fallback
|
|
- INCLUDE: Video URL validation via chunk download test
|
|
- INCLUDE: Player caching for performance
|
|
- EXCLUDE: Frontend UI changes (backend only)
|
|
- EXCLUDE: Other anime sites (Anime-Sama only for now)
|
|
|
|
## Files to Modify
|
|
- `app/downloaders/anime_sites/animesama.py` - Add fallback logic
|
|
- `app/downloaders/base.py` - May need base helper method
|