[PR #5834] tools.func: add ffmpeg + minor improvement #6129

Closed
opened 2025-11-20 07:09:13 -05:00 by saavagebueno · 0 comments
Owner

Original Pull Request: https://github.com/community-scripts/ProxmoxVE/pull/5834

State: closed
Merged: Yes


✍️ Description

This PR introduces a new shell function setup_ffmpeg to the helper framework, enabling native installation of FFmpeg on Debian/Ubuntu systems.

🔧 Features

  • Supports source and binary installation:

    • FFMPEG_TYPE=binary: Uses static builds from johnvansickle.com.
    • FFMPEG_TYPE=minimal|medium|full: Compiles from source with corresponding codec sets.
  • Custom versioning:

    • Specify a version using FFMPEG_VERSION=n7.1.1
    • If omitted or set to latest, the script queries GitHub API for the latest tag.
  • Configurable build profiles:

    • minimal: Only x264, vpx, mp3
    • medium: Adds subtitles, fonts, opus, vorbis
    • full: Adds AV1 (dav1d, svt-av1), zlib, numa

🧪 Example Usage

FFMPEG_TYPE=full setup_ffmpeg

Installs FFmpeg with full feature set (AV1, libass, fonts, x264, etc.)

FFMPEG_VERSION=n7.1.1 FFMPEG_TYPE=medium setup_ffmpeg

Installs a specific version with a medium feature set.

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.
**Original Pull Request:** https://github.com/community-scripts/ProxmoxVE/pull/5834 **State:** closed **Merged:** Yes --- ## ✍️ Description This PR introduces a new shell function `setup_ffmpeg` to the helper framework, enabling native installation of FFmpeg on Debian/Ubuntu systems. ## 🔧 Features - **Supports source and binary installation:** - `FFMPEG_TYPE=binary`: Uses static builds from `johnvansickle.com`. - `FFMPEG_TYPE=minimal|medium|full`: Compiles from source with corresponding codec sets. - **Custom versioning:** - Specify a version using `FFMPEG_VERSION=n7.1.1` - If omitted or set to `latest`, the script queries GitHub API for the latest tag. - **Configurable build profiles:** - `minimal`: Only x264, vpx, mp3 - `medium`: Adds subtitles, fonts, opus, vorbis - `full`: Adds AV1 (dav1d, svt-av1), zlib, numa ## 🧪 Example Usage ```bash FFMPEG_TYPE=full setup_ffmpeg ``` Installs FFmpeg with full feature set (AV1, libass, fonts, x264, etc.) ```bash FFMPEG_VERSION=n7.1.1 FFMPEG_TYPE=medium setup_ffmpeg ``` Installs a specific version with a medium feature set. ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [x] **Tested thoroughly** – Changes work as expected. - [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [x] ✨ **New feature** – Adds new, non-breaking functionality. - [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs.
saavagebueno added the pull-request label 2025-11-20 07:09:13 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/ProxmoxVE#6129