From 4c3d343bb3322e06d4d402808c82a97da2fd92a3 Mon Sep 17 00:00:00 2001 From: Ramforth Date: Sat, 1 Nov 2025 13:06:52 +0100 Subject: [PATCH] Docs: Restructure development plan with new priorities --- DEVELOPMENT_PLAN.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/DEVELOPMENT_PLAN.md b/DEVELOPMENT_PLAN.md index 957411b..1ffbebd 100644 --- a/DEVELOPMENT_PLAN.md +++ b/DEVELOPMENT_PLAN.md @@ -80,7 +80,32 @@ Based on the "DaVinci Resolve 18 Supported Codec List.pdf" and web search result 6. **Error Handling:** Add `try-except` blocks for file operations, `subprocess` calls, and `ffprobe` parsing. 7. **Basic Testing:** Test with a few sample video files (e.g., H.264/AAC MP4) to ensure conversion to DNxHR/PCM MOV works. 8. **Packaging and Bundling:** (Completed) Used PyInstaller to create a standalone executable, bundling `ffmpeg` and `ffprobe` binaries. This involved switching from `ffmpeg-python` to direct `subprocess` calls to resolve bundling issues. The executable is now functional. -9. **Error Handling for Bundled Tools:** Implement checks to ensure bundled `ffmpeg`/`ffprobe` are accessible and provide clear error messages if not. +## 9. Current Status + +The core functionality of the Video Converter is complete. The script successfully converts video files to DaVinci Resolve compatible formats (DNxHD/HR video, PCM audio in .mov container) and is packaged as a standalone executable for Linux. Error handling has been strengthened, and the default quality profiles have been refined based on user feedback. + +## 10. Future Development Priorities + +Based on user feedback and project goals, the next development priorities are: + +1. **`yt-dlp` Integration:** + * **Goal:** Allow users to directly download videos from supported online platforms (e.g., YouTube) and then convert them to DaVinci Resolve compatible formats in a single workflow. + * **Details:** Integrate `yt-dlp` (a Python library) to handle video downloading. The script would prompt for a URL, download the video, and then proceed with the existing conversion process. + +2. **Quality Profile Picker (Command-Line Option):** + * **Goal:** Provide users with command-line options to select different quality/file size profiles for the output video (e.g., `--dnxhr_lb`, `--dnxhr_sq`, `--dnxhr_hq`, `--dnxhr_hqx`). + * **Details:** Add a new `argparse` argument (e.g., `--quality [low|medium|high|archive]`) that maps to specific `dnxhd` profiles. This will give users more control over the size/quality trade-off. + +3. **Graphical User Interface (GUI):** + * **Goal:** Develop a user-friendly graphical interface for the application. + * **Details:** This would involve choosing a Python GUI framework (e.g., `tkinter`, `PyQt`, `Kivy`) and designing an interface that allows users to select input/output files, choose quality profiles, view conversion progress, and manage other settings visually. This would significantly enhance the user experience for non-CLI users. + +## 11. Other Future Considerations + +* **Batch Processing:** Allow conversion of multiple files at once. +* **Refine Error Handling/Logging:** Add more detailed logging to a file for easier debugging. +* **Configuration File:** Enable users to save preferred codec/profile settings. +* **Progress Bar:** Implement a progress indicator for long conversions. ## 6. Directory and File Structure