forked from Leak_Technologies/VideoTools
Update README with comprehensive project overview
Completely rewrote README.md to reflect current state: New Contents: • Professional video processing suite description • Key features (DVD-NTSC/PAL, batch processing, smart features) • Quick start (one-time setup and run) • Step-by-step DVD creation workflow • Documentation guide • System architecture overview • Build and run commands • Troubleshooting guide • Professional use cases • Quality specifications for NTSC and PAL Highlights: • DVDStyler compatible (no re-encoding) • PS2 compatible • Professional MPEG-2 encoding • AC-3 Dolby Digital audio • Batch processing support • Region-free format Perfect entry point for new users!
This commit is contained in:
parent
0bd704d7dc
commit
3f4ad59fcd
161
README.md
161
README.md
|
|
@ -1,32 +1,151 @@
|
|||
# VideoTools Prototype
|
||||
# VideoTools - Professional Video Processing Suite
|
||||
|
||||
## Requirements
|
||||
- Go 1.21+
|
||||
- Fyne 2.x (pulled automatically via `go mod tidy`)
|
||||
- FFmpeg (not yet invoked, but required for future transcoding)
|
||||
## What is VideoTools?
|
||||
|
||||
## Running
|
||||
Launch the GUI:
|
||||
VideoTools is a professional-grade video processing application with a modern GUI. It specializes in creating **DVD-compliant videos** for authoring and distribution.
|
||||
|
||||
## Key Features
|
||||
|
||||
### DVD-NTSC & DVD-PAL Output
|
||||
- **Professional MPEG-2 encoding** (720×480 @ 29.97fps for NTSC, 720×576 @ 25fps for PAL)
|
||||
- **AC-3 Dolby Digital audio** (192 kbps, 48 kHz)
|
||||
- **DVDStyler compatible** (no re-encoding warnings)
|
||||
- **PS2 compatible** (PS2-safe bitrate limits)
|
||||
- **Region-free format** (works worldwide)
|
||||
|
||||
### Batch Processing
|
||||
- Queue multiple videos
|
||||
- Pause/resume jobs
|
||||
- Real-time progress tracking
|
||||
- Job history and persistence
|
||||
|
||||
### Smart Features
|
||||
- Automatic framerate conversion (23.976p, 24p, 30p, 60p, VFR → 29.97fps)
|
||||
- Automatic audio resampling (any rate → 48 kHz)
|
||||
- Aspect ratio preservation with intelligent handling
|
||||
- Comprehensive validation with helpful warnings
|
||||
|
||||
## Quick Start
|
||||
|
||||
### One-Time Setup
|
||||
```bash
|
||||
go run .
|
||||
cd /home/stu/Projects/VideoTools
|
||||
source scripts/alias.sh
|
||||
```
|
||||
|
||||
Run a module via CLI:
|
||||
### Run VideoTools
|
||||
```bash
|
||||
go run . convert input.avi output.mp4
|
||||
go run . combine file1.mov file2.wav / final.mp4
|
||||
VideoTools
|
||||
```
|
||||
|
||||
## How to Create a Professional DVD
|
||||
|
||||
1. **Start VideoTools** → `VideoTools`
|
||||
2. **Load a video** → Drag & drop into Convert module
|
||||
3. **Select format** → Choose "DVD-NTSC (MPEG-2)" or "DVD-PAL (MPEG-2)"
|
||||
4. **Choose aspect** → Select 4:3 or 16:9
|
||||
5. **Name output** → Enter filename (without .mpg)
|
||||
6. **Queue** → Click "Add to Queue"
|
||||
7. **Encode** → Click "View Queue" → "Start Queue"
|
||||
8. **Export** → Use the .mpg file in DVDStyler
|
||||
|
||||
Output is professional quality, ready for:
|
||||
- DVDStyler authoring (no re-encoding needed)
|
||||
- DVD menu creation
|
||||
- Burning to disc
|
||||
- PS2 playback
|
||||
|
||||
## Documentation
|
||||
|
||||
**For Users:**
|
||||
- **BUILD_AND_RUN.md** - How to build and run VideoTools
|
||||
- **DVD_USER_GUIDE.md** - Complete guide to DVD encoding
|
||||
|
||||
**For Developers:**
|
||||
- **DVD_IMPLEMENTATION_SUMMARY.md** - Technical specifications
|
||||
- **INTEGRATION_GUIDE.md** - System architecture and integration
|
||||
- **QUEUE_SYSTEM_GUIDE.md** - Queue system reference
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Go 1.21+** (for building)
|
||||
- **FFmpeg** (for video encoding)
|
||||
- **X11 or Wayland display server** (for GUI)
|
||||
|
||||
## System Architecture
|
||||
|
||||
VideoTools has a modular architecture:
|
||||
- `internal/convert/` - DVD and video encoding
|
||||
- `internal/queue/` - Job queue system
|
||||
- `internal/ui/` - User interface components
|
||||
- `internal/player/` - Media playback
|
||||
- `scripts/` - Build and run automation
|
||||
|
||||
## Commands
|
||||
|
||||
### Build & Run
|
||||
```bash
|
||||
# One-time setup
|
||||
source scripts/alias.sh
|
||||
|
||||
# Run the application
|
||||
VideoTools
|
||||
|
||||
# Force rebuild
|
||||
VideoToolsRebuild
|
||||
|
||||
# Clean build artifacts
|
||||
VideoToolsClean
|
||||
```
|
||||
|
||||
### Legacy (Direct commands)
|
||||
```bash
|
||||
# Build
|
||||
go build -o VideoTools .
|
||||
|
||||
# Run
|
||||
./VideoTools
|
||||
|
||||
# Run with debug logging
|
||||
VIDEOTOOLS_DEBUG=1 ./VideoTools
|
||||
|
||||
# View logs
|
||||
go run . logs
|
||||
```
|
||||
|
||||
Add `-debug` or `VIDEOTOOLS_DEBUG=1` for verbose stderr logs.
|
||||
## Troubleshooting
|
||||
|
||||
## Logs
|
||||
- All actions log to `videotools.log` (override with `VIDEOTOOLS_LOG_FILE=/path/to/log`).
|
||||
- CLI command `videotools logs` (or `go run . logs`) prints the last 200 lines.
|
||||
- Each entry is tagged (e.g. `[UI]`, `[CLI]`, `[FFMPEG]`) so issues are easy to trace.
|
||||
- See **BUILD_AND_RUN.md** for detailed troubleshooting
|
||||
- Check **videotools.log** for detailed error messages
|
||||
- Use `VIDEOTOOLS_DEBUG=1` for verbose logging
|
||||
|
||||
## Notes
|
||||
- GUI requires a running display server (X11/Wayland). In headless shells it will log `[UI] DISPLAY environment variable is empty`.
|
||||
- Convert screen accepts drag-and-drop or the "Open File…" button; ffprobe metadata populates instantly, the preview box animates extracted frames with simple play/pause + slider controls (and lets you grab cover art), and the "Generate Snippet" button produces a 20-second midpoint clip for quick quality checks (requires ffmpeg in `PATH`).
|
||||
- Simple mode now applies smart inverse telecine by default—automatically skipping it on progressive footage—and lets you rename the target file before launching a convert job.
|
||||
- Other module handlers are placeholders; hook them to actual FFmpeg calls next.
|
||||
## Professional Use Cases
|
||||
|
||||
- Home video archival to physical media
|
||||
- Professional DVD authoring workflows
|
||||
- Multi-region video distribution
|
||||
- Content preservation on optical media
|
||||
- PS2 compatible video creation
|
||||
|
||||
## Professional Quality Specifications
|
||||
|
||||
### DVD-NTSC
|
||||
- **Resolution:** 720 × 480 pixels
|
||||
- **Framerate:** 29.97 fps (NTSC standard)
|
||||
- **Video:** MPEG-2 codec, 6000 kbps
|
||||
- **Audio:** AC-3 stereo, 192 kbps, 48 kHz
|
||||
- **Regions:** USA, Canada, Japan, Australia
|
||||
|
||||
### DVD-PAL
|
||||
- **Resolution:** 720 × 576 pixels
|
||||
- **Framerate:** 25.00 fps (PAL standard)
|
||||
- **Video:** MPEG-2 codec, 8000 kbps
|
||||
- **Audio:** AC-3 stereo, 192 kbps, 48 kHz
|
||||
- **Regions:** Europe, Africa, Asia, Australia
|
||||
|
||||
## Getting Help
|
||||
|
||||
1. Read **BUILD_AND_RUN.md** for setup issues
|
||||
2. Read **DVD_USER_GUIDE.md** for how-to questions
|
||||
3. Check **videotools.log** for error details
|
||||
4. Review documentation in project root
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user