Skip to content

Infiniti151/ffmpeg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

106 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ffmpeg

Build Status FFmpeg Version Fedora Version License GPG Signed

Builds the latest stable FFmpeg for the latest Fedora Linux release with complete Nvidia support. The primary reason why this repo exists is RPM Fusion doesn't provide the latest FFmpeg as soon as it's released. Also, there is no COPR repo which provides FFmpeg with proprietary codecs.

Enabled Codecs

1. Hardware Accelerated Video Codecs (NVIDIA/Vulkan)

Codec Encoder: NVIDIA Encoder: Vulkan Decoder: NVIDIA Decoder: Vulkan
AV1 av1_nvenc av1_vulkan av1_nvdec -hwaccel vulkan
HEVC hevc_nvenc hevc_vulkan hevc_nvdec -hwaccel vulkan
H.264 h264_nvenc h264_vulkan h264_nvdec -hwaccel vulkan
VP9 vp9_cuvid -hwaccel vulkan
VP8 vp8_cuvid

2. Software Video Codecs (CPU)

  • AV1: libsvtav1 (Optimized), libaom-av1 (Reference), libdav1d (Decoder)
  • HEVC / H.264: libx265 and libx264 (including RGB/10-bit support)
  • VP9 / VP8: libvpx-vp9 and libvpx-vp8

3. High-Fidelity Audio Codecs

  • AAC: libfdk_aac (Industry-leading quality)
  • MP3: libmp3lame
  • Opus: libopus (Web and low-latency standard)

4. Advanced Processing & Graphics

  • Vulkan & Placebo: GPU-based scaling and HDR tone mapping
  • Subtitles: libass (Advanced SSA/ASS)
  • Networking: gnutls for HTTPS streaming support
  • Runtime: runtime-cpudetect for cross-CPU optimization

Installation

1. Add this repo

sudo dnf config-manager addrepo --from-repofile=https://infiniti151.github.io/ffmpeg/infiniti151-ffmpeg.repo

2. Exclude ffmpeg from rpmfusion-free (if you have it enabled)

sudo dnf config-manager setopt \
  rpmfusion-free.excludepkgs="$(grep -Po '^excludepkgs=\K.*' /etc/yum.repos.d/rpmfusion-free.repo | sed 's/$/ ffmpeg*/' || echo "ffmpeg*")" \
  rpmfusion-free-updates.excludepkgs="$(grep -Po '^excludepkgs=\K.*' /etc/yum.repos.d/rpmfusion-free-updates.repo | sed 's/$/ ffmpeg*/' || echo "ffmpeg*")"

3. Add rpmfusion-free-rawhide repo

cat <<EOF | sudo tee /etc/yum.repos.d/rpmfusion-free-rawhide.repo > /dev/null
[rpmfusion-free-rawhide]
name=RPM Fusion for Fedora Rawhide - Free
mirrorlist=https://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-rawhide&arch=x86_64
enabled=0
gpgcheck=1
metadata_expire=7d
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-rawhide
priority=90
excludepkgs=ffmpeg*
EOF

4. Install ffmpeg

Current System State Command
Fedora Default (ffmpeg-free) sudo rpm -e --nodeps ffmpeg-free $(rpm -qa 'libav*-free' 'libsw*-free')
sudo dnf in ffmpeg --enablerepo=rpmfusion-free-rawhide
Standard RPM Fusion (ffmpeg) sudo dnf swap ffmpeg ffmpeg --allowerasing --enablerepo=rpmfusion-free-rawhide
No FFmpeg installed sudo dnf in ffmpeg --enablerepo=rpmfusion-free-rawhide

Update

sudo dnf up --refresh

If the update fails due to

Problem: conflicting requests
  - nothing provides xxx(64bit) needed by ffmpeg-xxx.fcxx.x86_64 from infiniti151-ffmpeg

update ffmpeg with

sudo dnf up ffmpeg --enablerepo=rpmfusion-free-rawhide

and then do sudo dnf up --refresh to update other packages.

About

Builds the latest stable FFmpeg for the latest Fedora Linux release

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors