claude-home/media-tools/troubleshooting.md
Cal Corum ceb4dd36a0 Add docker scripts, media-tools, VM management, and n8n workflow docs
Add CONTEXT.md for docker and VM management script directories.
Add media-tools documentation with Playwright scraping patterns.
Add Tdarr GPU monitor n8n workflow definition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:26:10 -06:00

196 lines
3.8 KiB
Markdown

# Media Tools Troubleshooting
## Common Issues
### Playwright Issues
#### "playwright not installed" Error
```
ERROR: playwright not installed. Run: pip install playwright && playwright install chromium
```
**Solution:**
```bash
pip install playwright
playwright install chromium
```
#### Browser Launch Fails
```
Error: Executable doesn't exist at /home/user/.cache/ms-playwright/chromium-xxx/chrome-linux/chrome
```
**Solution:**
```bash
playwright install chromium
```
#### Timeout Errors
```
TimeoutError: Timeout 30000ms exceeded
```
**Causes:**
- Slow network connection
- Site is blocking automated access
- Page structure has changed
**Solutions:**
1. Increase timeout in script
2. Try without `--headless` flag
3. Check if site is up manually
---
### yt-dlp Issues
#### "yt-dlp not found" Error
```
yt-dlp not found. Install with: pip install yt-dlp
```
**Solution:**
```bash
pip install yt-dlp
```
#### Download Fails for Specific Host
```
ERROR: Unsupported URL: https://somehost.com/...
```
**Solution:**
```bash
# Update yt-dlp to latest version
pip install -U yt-dlp
```
If still failing, the host may be unsupported. Check [yt-dlp supported sites](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md).
#### Slow Downloads
**Causes:**
- Video host throttling
- Network issues
**Solutions:**
- Downloads are typically limited by the source server
- Try at different times of day
---
### Scraping Issues
#### No Episodes Found
```
No episodes found!
```
**Causes:**
- Site structure has changed
- Page requires authentication
- Cloudflare protection triggered
**Solutions:**
1. Run without `--headless` to see what's happening
2. Check if the URL is correct and accessible manually
3. Site may have updated their HTML structure - check selectors in script
#### Video URL Not Found
```
No video URL found for episode X
```
**Causes:**
- Video is on an unsupported host
- Page uses non-standard embedding method
- Anti-bot protection on video player
**Solutions:**
1. Run with `--verbose` to see what URLs are being tried
2. Open episode manually and check Network tab for video requests
3. May need to add new iframe selectors for the specific host
#### 403 Forbidden on Site
**Cause:** Site is blocking automated requests
**Solutions:**
1. Ensure you're NOT using `--headless`
2. Increase random delays
3. Clear browser cache/cookies (restart script)
4. Try from a different IP
---
### Resume Issues
#### Resume Not Working
```
# Should skip downloaded episodes but re-downloads them
```
**Check:**
1. Ensure `download_state.json` exists in output directory
2. Verify the `--resume` flag is being used
3. Check that episode numbers match between runs
#### Corrupt State File
```
JSONDecodeError: ...
```
**Solution:**
```bash
# Delete the state file to start fresh
rm /path/to/season/download_state.json
```
---
## Debug Mode
Run with verbose output:
```bash
python pokeflix_scraper.py --url "..." --output ~/Pokemon/ --verbose
```
Run dry-run to test URL extraction:
```bash
python pokeflix_scraper.py --url "..." --dry-run --verbose
```
Watch the browser (non-headless):
```bash
python pokeflix_scraper.py --url "..." --output ~/Pokemon/
# (headless is off by default)
```
---
## Manual Workarounds
### If Automated Extraction Fails
1. **Browser DevTools method:**
- Open episode in browser
- F12 → Network tab → filter "m3u8" or "mp4"
- Play video, copy the stream URL
- Download manually: `yt-dlp "URL"`
2. **Check iframe manually:**
- Right-click video player → Inspect
- Find `<iframe>` element
- Copy `src` attribute
- Use that URL with yt-dlp
### Known Video Hosts
These hosts are typically supported by yt-dlp:
- Streamtape
- Vidoza
- Mp4upload
- Doodstream
- Filemoon
- Voe.sx
If the video is on an unsupported host, check if there's an alternative server/quality option on the episode page.