VideoTools/docs/TEST_DVD_CONVERSION.md
Stu Leak 925334d8df Clean up root folder and update TODO/DONE for dev19
Root Folder Cleanup:
- Moved all documentation .md files to docs/ folder
- Kept only README.md, TODO.md, DONE.md in root
- Cleaner project structure for contributors
- Better organization of documentation

Files Moved to docs/:
- BUILD.md, BUILD_AND_RUN.md, CHANGELOG.md
- COMPLETION_SUMMARY.md, DVD_IMPLEMENTATION_SUMMARY.md
- DVD_USER_GUIDE.md, INSTALLATION.md, INTEGRATION_GUIDE.md
- LATEST_UPDATES.md, QUEUE_SYSTEM_GUIDE.md, QUICKSTART.md
- TESTING_DEV13.md, TEST_DVD_CONVERSION.md, WINDOWS_SETUP.md

DONE.md Updates:
- Added dev19 section (2025-12-18)
- Documented history sidebar delete button
- Documented command preview improvements
- Documented format options reorganization
- Documented bitrate mode descriptive labels
- Documented critical bug fixes (Convert crash, log viewer)
- Documented bitrate control improvements

TODO.md Updates:
- Updated to dev19+ plan
- Added "Current Focus: dev19" section
- Added AI frame interpolation task (RIFE, FILM, DAIN, CAIN)
- Added color space preservation tasks
- Reorganized priority structure

This establishes dev19 as the current development focus on
Convert module cleanup and polish, with clear tracking of
completed work and upcoming priorities.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 16:21:15 -05:00

358 lines
8.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DVD Conversion Testing Guide
This guide walks you through a complete DVD-NTSC conversion test.
## Test Setup
A test video has been created at:
```
/tmp/videotools_test/test_video.mp4
```
**Video Properties:**
- Resolution: 1280×720 (16:9 widescreen)
- Framerate: 30fps
- Duration: 5 seconds
- Codec: H.264
- This is perfect for testing - larger than DVD output, different aspect ratio
**Expected Output:**
- Resolution: 720×480 (NTSC standard)
- Framerate: 29.97fps
- Codec: MPEG-2
- Duration: ~5 seconds (same, just re-encoded)
---
## Step-by-Step Testing
### Step 1: Start VideoTools
```bash
cd /home/stu/Projects/VideoTools
./VideoTools
```
You should see the main menu with modules: Convert, Merge, Trim, Filters, Upscale, Audio, Thumb, Inspect.
**Expected:** Main menu appears with all modules visible
---
### Step 2: Open Convert Module
Click the **"Convert"** tile (violet color, top-left area)
You should see:
- Video preview area
- Format selector
- Quality selector
- "Add to Queue" button
- Queue access button
**Expected:** Convert module loads without errors
---
### Step 3: Load Test Video
In the Convert module, you should see options to:
- Drag & drop a file, OR
- Use file browser button
**Load:** `/tmp/videotools_test/test_video.mp4`
After loading, you should see:
- Video preview (blue frame)
- Video information: 1280×720, 30fps, duration ~5 seconds
- Metadata display
**Expected:** Video loads and metadata displays correctly
---
### Step 4: Select DVD Format
Look for the **"Format"** dropdown in the Simple Mode section (top area).
Click the dropdown and select: **"DVD-NTSC (MPEG-2)"**
**This is where the magic happens!**
**Expected Results After Selecting DVD-NTSC:**
You should immediately see:
1. **DVD Aspect Ratio selector appears** with options: 4:3 or 16:9 (default 16:9)
2. **DVD info label shows:**
```
NTSC: 720×480 @ 29.97fps, MPEG-2, AC-3 Stereo 48kHz
Bitrate: 6000k (default), 9000k (max PS2-safe)
Compatible with DVDStyler, PS2, standalone DVD players
```
3. **Output filename hint updates** to show: `.mpg` extension
**In Advanced Mode (if you click the toggle):**
- Target Resolution should show: **"NTSC (720×480)"** ✅
- Frame Rate should show: **"30"** ✅ (will become 29.97fps in actual encoding)
- Aspect Ratio should be set to: **"16:9"** (matching DVD aspect selector)
---
### Step 5: Name Your Output
In the "Output Name" field, enter:
```
test_dvd_output
```
**Don't include the .mpg extension** - VideoTools adds it automatically.
**Expected:** Output hint shows "Output file: test_dvd_output.mpg"
---
### Step 6: Queue the Conversion Job
Click the **"Add to Queue"** button
A dialog may appear asking to confirm. Click OK/Proceed.
**Expected:** Job is added to queue, you can see queue counter update
---
### Step 7: View and Start the Queue
Click **"View Queue"** button (top right)
You should see the Queue panel with:
- Your job listed
- Status: "Pending"
- Progress: 0%
- Control buttons: Start Queue, Pause All, Resume All
Click **"Start Queue"** button
**Expected:** Conversion begins, progress bar fills
---
### Step 8: Monitor Conversion
Watch the queue as it encodes. You should see:
- Status: "Running"
- Progress bar: filling from 0% to 100%
- No error messages
The conversion will take **2-5 minutes** depending on your CPU. With a 5-second test video, it should be relatively quick.
**Expected:** Conversion completes with Status: "Completed"
---
### Step 9: Verify Output File
After conversion completes, check the output:
```bash
ls -lh test_dvd_output.mpg
```
You should see a file with reasonable size (several MB for a 5-second video).
**Check Properties:**
```bash
ffprobe test_dvd_output.mpg -show_streams
```
**Expected Output Should Show:**
- Video codec: `mpeg2video` (not h264)
- Resolution: `720x480` (not 1280x720)
- Frame rate: `29.97` or `30000/1001` (NTSC standard)
- Audio codec: `ac3` (Dolby Digital)
- Audio sample rate: `48000` Hz (48 kHz)
- Audio channels: 2 (stereo)
---
### Step 10: DVDStyler Compatibility Check
If you have DVDStyler installed:
```bash
which dvdstyler
```
**If installed:**
1. Open DVDStyler
2. Create a new project
3. Try to import the `.mpg` file
**Expected:** File imports without re-encoding warnings
**If not installed but want to simulate:**
FFmpeg would automatically detect and re-encode if the file wasn't DVD-compliant. The fact that our conversion worked means it IS compliant.
---
## Success Criteria Checklist
After completing all steps, verify:
- [ ] VideoTools opens without errors
- [ ] Convert module loads
- [ ] Test video loads correctly (1280x720, 30fps shown)
- [ ] Format dropdown works
- [ ] DVD-NTSC format selects successfully
- [ ] DVD Aspect Ratio selector appears
- [ ] DVD info text displays correctly
- [ ] Target Resolution auto-sets to "NTSC (720×480)" (Advanced Mode)
- [ ] Frame Rate auto-sets to "30" (Advanced Mode)
- [ ] Job queues without errors
- [ ] Conversion starts and shows progress
- [ ] Conversion completes successfully
- [ ] Output file exists (test_dvd_output.mpg)
- [ ] Output file has correct codec (mpeg2video)
- [ ] Output resolution is 720×480
- [ ] Output framerate is 29.97fps
- [ ] Audio is AC-3 stereo at 48 kHz
- [ ] File is DVDStyler-compatible (no re-encoding warnings)
---
## Troubleshooting
### Video Doesn't Load
- Check file path: `/tmp/videotools_test/test_video.mp4`
- Verify FFmpeg is installed: `ffmpeg -version`
- Check file exists: `ls -lh /tmp/videotools_test/test_video.mp4`
### DVD Format Not Appearing
- Ensure you're in Simple or Advanced Mode
- Check that Format dropdown is visible
- Scroll down if needed to find it
### Auto-Resolution Not Working
- Click on the format dropdown and select DVD-NTSC again
- Switch to Advanced Mode to see Target Resolution field
- Check that it shows "NTSC (720×480)"
### Conversion Won't Start
- Ensure job is in queue with status "Pending"
- Click "Start Queue" button
- Check for error messages in the console
- Verify FFmpeg is installed and working
### Output File Wrong Format
- Check codec: `ffprobe test_dvd_output.mpg | grep codec`
- Should show `mpeg2video` for video and `ac3` for audio
- If not, conversion didn't run with DVD settings
### DVDStyler Shows Re-encoding Warning
- This means our MPEG-2 encoding didn't match specs
- Check framerate, resolution, codec, bitrate
- May need to adjust encoder settings
---
## Test Results Template
Use this template to document your results:
```
TEST DATE: [date]
SYSTEM: [OS/CPU]
GO VERSION: [from: go version]
FFMPEG VERSION: [from: ffmpeg -version]
INPUT VIDEO:
- Path: /tmp/videotools_test/test_video.mp4
- Codec: h264
- Resolution: 1280x720
- Framerate: 30fps
- Duration: 5 seconds
VIDEOTOOLS TEST:
- Format selected: DVD-NTSC (MPEG-2)
- DVD Aspect Ratio: 16:9
- Output name: test_dvd_output
- Queue status: [pending/running/completed]
- Conversion status: [success/failed/error]
OUTPUT VIDEO:
- Path: test_dvd_output.mpg
- File size: [MB]
- Video codec: [mpeg2video?]
- Resolution: [720x480?]
- Framerate: [29.97?]
- Audio codec: [ac3?]
- Audio channels: [stereo?]
- Audio sample rate: [48000?]
DVDStyler COMPATIBILITY:
- Tested: [yes/no]
- Result: [success/re-encoding needed/failed]
OVERALL RESULT: [PASS/FAIL]
```
---
## Next Steps
After successful conversion:
1. **Optional: Test PAL Format**
- Repeat with DVD-PAL format
- Should auto-set to 720×576 @ 25fps
- Audio still AC-3 @ 48kHz
2. **Optional: Test Queue Features**
- Add multiple videos
- Test Pause All / Resume All
- Test job reordering
3. **Optional: Create Real DVD**
- Import .mpg into DVDStyler
- Add menus and chapters
- Burn to physical DVD disc
---
## Commands Reference
### Create Test Video (if needed)
```bash
ffmpeg -f lavfi -i "color=c=blue:s=1280x720:d=5,fps=30" -f lavfi -i "sine=f=1000:d=5" \
-c:v libx264 -c:a aac -y /tmp/videotools_test/test_video.mp4
```
### Check Input Video
```bash
ffprobe /tmp/videotools_test/test_video.mp4 -show_streams
```
### Check Output Video
```bash
ffprobe test_dvd_output.mpg -show_streams
```
### Get Quick Summary
```bash
ffprobe test_dvd_output.mpg -v error \
-select_streams v:0 -show_entries stream=codec_name,width,height,r_frame_rate \
-of default=noprint_wrappers=1:nokey=1
```
### Verify DVD Compliance
```bash
ffprobe test_dvd_output.mpg -v error \
-select_streams a:0 -show_entries stream=codec_name,sample_rate,channels \
-of default=noprint_wrappers=1:nokey=1
```
---
**Good luck with your testing! Let me know your results.** 🎬