Add comprehensive DVD-Video encoding functionality: - New internal/convert package with modular architecture - types.go: Core types (VideoSource, ConvertConfig, FormatOption) - ffmpeg.go: FFmpeg codec mapping and video probing - presets.go: Output format definitions - dvd.go: NTSC-specific DVD encoding and validation - dvd_regions.go: PAL, SECAM, and multi-region support - New internal/app/dvd_adapter.go for main.go integration Features implemented: ✓ DVD-NTSC preset (720×480@29.97fps, MPEG-2/AC-3) ✓ Multi-region support (NTSC, PAL, SECAM - all region-free) ✓ Comprehensive validation system with actionable warnings ✓ Automatic framerate conversion (23.976p, 24p, 30p, 60p) ✓ Audio resampling to 48 kHz ✓ Aspect ratio handling (4:3, 16:9, letterboxing) ✓ Interlacing detection and preservation ✓ DVDStyler-compatible output (no re-encoding) ✓ PS2-safe bitrate limits (max 9000 kbps) Complete technical specifications and integration guide in: - DVD_IMPLEMENTATION_SUMMARY.md All packages compile without errors or warnings. Ready for integration with existing queue and UI systems.
10 lines
373 B
Go
10 lines
373 B
Go
package convert
|
|
|
|
// FormatOptions contains all available output format presets
|
|
var FormatOptions = []FormatOption{
|
|
{Label: "MP4 (H.264)", Ext: ".mp4", VideoCodec: "libx264"},
|
|
{Label: "MKV (H.265)", Ext: ".mkv", VideoCodec: "libx265"},
|
|
{Label: "MOV (ProRes)", Ext: ".mov", VideoCodec: "prores_ks"},
|
|
{Label: "DVD-NTSC (MPEG-2)", Ext: ".mpg", VideoCodec: "mpeg2video"},
|
|
}
|