Job Status Details
DETECTED
- What it means: File found during library scan
- User action: None (automatic)
- Duration: Milliseconds
- Next step: Health check runs automatically
HEALTH_CHECK
- What it means: BitBonsai is validating file integrity with FFmpeg
- Checks performed:
- File exists and is readable
- Container format is valid (MP4, MKV, AVI, etc.)
- Video/audio streams are decodable
- Duration and metadata are accessible
- No critical corruption in file structure
- User action: None (automatic)
- Duration: 1-5 seconds per file
- Next step:
- Healthy files → NEEDS_DECISION
- Corrupted files → CORRUPTED (hourly auto-requeue for re-validation)
NEEDS_DECISION
- What it means: File is healthy and ready to encode
- User action: Select codec (HEVC/AV1) and click “Queue Selected”
- Where to find: Encoding tab → filter by NEEDS_DECISION
- Filters available:
- Codec (find H.264 videos to upgrade)
- Resolution (1080p, 4K, etc.)
- Bitrate (target high-bitrate files)
- File size (prioritize large files)
QUEUED
- What it means: Job is waiting for an available worker node
- User action: None (automatic)
- Duration: Seconds to minutes (depends on queue depth)
- Priority: First-in, first-out (FIFO)
- Next step: Starts encoding when worker is free
Queue depth is visible in the Encoding tab header: “3 queued, 2 encoding”. Add more worker
nodes to process queued jobs faster.
TRANSFERRING
- What it means: (Multi-node only) NFS sync is in progress before encoding begins
- User action: None (automatic)
- Duration: Usually seconds; longer if NFS mount is slow or recovering
- Why this happens: The worker node is confirming the source file is accessible via the shared NFS mount before starting FFmpeg. This is a brief sync check, not a file copy.
- Next step: Encoding starts immediately after the file is confirmed accessible
ENCODING
- What it means: FFmpeg is actively encoding the video
- User action: Monitor progress, or pause/cancel if needed
- Duration: Minutes to hours (depends on codec, resolution, and hardware acceleration)
- What you see:
- Progress percentage (0-100%)
- Estimated time remaining
- Encoding speed (FPS)
- Output file size estimate
- Current vs. target bitrate
Progress Bar Breakdown
Encoding Speed (FPS)
| Speed | Hardware | Codec | Notes |
|---|---|---|---|
| 5-15 FPS | CPU (Intel i5) | HEVC | Typical for 1080p movies |
| 20-40 FPS | CPU (Intel i7/i9) | HEVC | Fast encoding |
| 40-80 FPS | GPU (NVIDIA GTX 1660+) | HEVC | Hardware acceleration |
| 1-5 FPS | CPU | AV1 | Very slow but best quality |
PAUSED
- What it means: User manually paused encoding
- User action: Click Resume to continue
- Duration: Indefinite (until user resumes)
- Progress saved: Yes, resumes from exact frame
- Use case: Free up CPU/GPU for other tasks temporarily
VERIFYING
- What it means: Encoded file is being validated for corruption
- Checks performed:
- User action: None (automatic)
- Duration: 1-3 seconds
- Next step:
- Healthy output → COMPLETED
- Corrupted output → CORRUPTED (hourly auto-requeue for re-validation)
COMPLETED
- What it means: Encoding succeeded and file replaced
- User action: None (automatic)
- What happened:
- File location: Same path as original (in-place replacement)
- Backup location:
[library-path]/.bitbonsai/originals/[relative-path]
File Size Comparison
Typical savings after encoding:| Original Codec | Target Codec | File Size Reduction |
|---|---|---|
| H.264 (1080p) | HEVC | 40-50% smaller |
| H.264 (1080p) | AV1 | 50-60% smaller |
| H.264 (4K) | HEVC | 50-60% smaller |
| H.264 (4K) | AV1 | 60-70% smaller |
FAILED
- What it means: Encoding encountered an error
- User action:
- Check error message in job details
- Click Retry to manually retry
- Auto-retries 3x before stopping
- Common causes:
- Corrupted source file (skip it)
- Insufficient disk space (free up space)
- FFmpeg crash (bug in codec)
- Hardware encoder failure (try CPU fallback)
- Auto-retry behavior:
- 1st retry: Immediate
- 2nd retry: 5 minutes later
- 3rd retry: 15 minutes later
- After 3 failures: Stops, requires manual retry
Error Categories
| Error Type | Cause | Fix |
|---|---|---|
| Source Corrupted | Original file unreadable | Skip file or re-download |
| Disk Full | No space for output file | Free up space, job auto-retries |
| Codec Error | FFmpeg crash or unsupported stream | Try different codec (HEVC → AV1) |
| Hardware Failure | GPU encoder crash | Disable hardware acceleration in Settings |
| Permission Denied | Docker volume permissions | Fix with chmod -R 777 /media |
View detailed error message
View detailed error message
- Go to Encoding tab
- Filter by Failed status
- Click job row to expand details
- Error message shows FFmpeg output with:
- Error category
- Root cause analysis
- Suggested fix
- Full FFmpeg stderr log
CANCELLED
- What it means: User manually cancelled encoding
- User action: Job is removed from queue
- Progress lost: Yes, cannot resume cancelled jobs
- Use case: Queued wrong file or changed mind about codec
Job Details Panel
Click any job in the Encoding tab to view detailed information:| Field | Description |
|---|---|
| Source File | Full file path in library |
| Target Codec | HEVC (H.265), AV1, or VP9 |
| Progress | Percentage complete (0-100%) |
| Speed | Encoding speed in FPS |
| Time Remaining | ETA based on current speed |
| Original Size | File size before encoding |
| Output Size | Estimated file size after encoding |
| Original Codec | Source codec (usually H.264) |
| Resolution | Video resolution (1080p, 4K, etc.) |
| Original Bitrate | Source video bitrate (Mbps) |
| Target Bitrate | Output video bitrate (Mbps) |
| Worker Node | Which node is processing this job |
| Started At | When encoding began |
| Error Message | (FAILED jobs only) FFmpeg error details |
Pro tip: Sort jobs by “Time Remaining” to see which jobs finish soonest. Large 4K movies may
take hours, while 1080p TV episodes finish in 5-10 minutes.