Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dffc6a2bbc | ||
|
|
5ad7eb2ea1 | ||
|
|
5f1363f335 | ||
|
|
0b1816a310 | ||
|
|
d62742ef00 | ||
|
|
841bbac9d4 |
@@ -43,3 +43,25 @@ Develop a user-friendly, standalone Python tool to convert video files into form
|
||||
Since one of the limitations of this project is the requirement of ffmpeg-full for encoding videos for Davinci Resolve use we should investigate the proposition of implementing the necessary ffmpeg-full into the project release file.
|
||||
I do not know, currently if this is viable or even possible. But I think that a fully precompiled program with built in encoders and tools would be more attractive to most users.
|
||||
We should also see if there are other tools that would be considered natural for this project.
|
||||
|
||||
**Assessment Report: Bundling FFmpeg and Other Tools**
|
||||
|
||||
**1. Bundling `ffmpeg-full`:**
|
||||
* **Viability:** Technically viable and possible. PyInstaller (and similar tools) can include external binaries like `ffmpeg` in the final executable. The Python script would then call this bundled binary.
|
||||
* **User Attractiveness:** Highly attractive. A self-contained executable eliminates the need for users to manually install `ffmpeg`, especially specific versions like `ffmpeg-full` with custom codecs, significantly improving user experience and simplifying setup.
|
||||
* **Challenges:**
|
||||
* **Cross-Platform Complexity:** Requires separate `ffmpeg` binaries for each target OS (Linux, Windows, macOS), increasing build complexity.
|
||||
* **Licensing:** Must comply with `ffmpeg`'s LGPLv2.1/GPLv2 licensing terms (e.g., providing source code).
|
||||
* **Maintenance:** Keeping bundled `ffmpeg` updated for security and features requires re-bundling.
|
||||
* **Executable Size:** Bundling `ffmpeg` will increase the overall size of the application executable.
|
||||
|
||||
**2. Other Natural Tools for Consideration:**
|
||||
* **`ffprobe`:** (Already implicitly used) Part of the `ffmpeg` suite, essential for media analysis (e.g., video duration). Would be bundled alongside `ffmpeg`.
|
||||
* **`mediainfo`:** A powerful command-line tool for detailed media file information. Could be integrated for advanced diagnostics or user-facing metadata display.
|
||||
* **`exiftool`:** For comprehensive metadata handling. Relevant if "Metadata Preservation" becomes a core feature.
|
||||
|
||||
### Questions for Challenges with bundling
|
||||
* Cross platform development is currently delayed until after final stages of Linux project.
|
||||
Reason is, among other things, that Windows do not see the same restrictions as Linux users meet in this actual field. So converting video files in this manner is mostly a Linux theme.
|
||||
* Licensing: Will the entire source code have to be provided along side the downloadable package - or can it remain available as a Gitea repository for reference?
|
||||
* Size of executable: We will have to test numerous iterations to lower the size of the finished product. However, I am also confident that Linux users that face the challenge of editing videos and recoding videos at a semi-regular rate will have enough storage space to handle a sizeable application if it solves the actual problem.
|
||||
|
||||
@@ -23,7 +23,9 @@ For instructions on how to use the application, please refer to the [HOW-TO.md](
|
||||
|
||||
The application's graphical user interface has been updated to use `customtkinter` as of November 2, 2025. This provides a modern and customizable look and feel.
|
||||
|
||||
<!-- Screenshot of the GUI will be placed here -->
|
||||
<p align="center">
|
||||
<img src="images/video_converter.png" alt="Video Converter GUI" style="display: block; margin: 0 auto;">
|
||||
</p>
|
||||
|
||||
## Setup Notes for Arch Linux / CachyOS
|
||||
|
||||
|
||||
2
gui.py
2
gui.py
@@ -48,7 +48,7 @@ class VideoConverterGUI:
|
||||
self.progress.set(0)
|
||||
|
||||
# --- Mode Switch (packed into main_frame) ---
|
||||
self.mode_switch = customtkinter.CTkSwitch(self.main_frame, command=self.toggle_mode)
|
||||
self.mode_switch = customtkinter.CTkSwitch(self.main_frame, text="", command=self.toggle_mode)
|
||||
self.mode_switch.pack(pady=10, padx=20, anchor="w")
|
||||
self.mode_switch.select()
|
||||
|
||||
|
||||
BIN
images/video_converter.png
Normal file
BIN
images/video_converter.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 37 KiB |
Reference in New Issue
Block a user