Docs: Add assessment report on bundling FFmpeg to DEVELOPMENT_PLAN.md
This commit is contained in:
@@ -43,3 +43,19 @@ 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.
|
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.
|
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.
|
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.
|
||||||
|
|||||||
Reference in New Issue
Block a user