Skip to content

ffmpeg: merge with ffmpeg-full#211834

Merged
mweinelt merged 3 commits intoNixOS:stagingfrom
Atemu:ffmpeg-ffmpeg-full-merge
Jan 27, 2023
Merged

ffmpeg: merge with ffmpeg-full#211834
mweinelt merged 3 commits intoNixOS:stagingfrom
Atemu:ffmpeg-ffmpeg-full-merge

Conversation

@Atemu
Copy link
Member

@Atemu Atemu commented Jan 20, 2023

Description of changes

Fixes #15930

Continuation of #204198

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@Atemu
Copy link
Member Author

Atemu commented Jan 20, 2023

Waiting on @trofi to merge master into staging since master contains a jami change that would conflict.

@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Jan 20, 2023
@ofborg ofborg bot requested review from Anton-Latukha, linsui and wmertens January 20, 2023 22:18
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 501-1000 This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches. labels Jan 20, 2023
@Atemu Atemu changed the base branch from master to staging January 20, 2023 22:21
@linsui
Copy link
Contributor

linsui commented Jan 21, 2023

Please also remove ffmpeg_5 from pkgs/applications/networking/instant-messengers/jami/default.nix and all-packages.nix.

@trofi
Copy link
Contributor

trofi commented Jan 21, 2023

Waiting on @trofi to merge master into staging since master contains a jami change that would conflict.

After manual resolution merges should succeed now: https://github.com/NixOS/nixpkgs/actions/runs/3973535483

@Atemu Atemu force-pushed the ffmpeg-ffmpeg-full-merge branch from 170e5ef to 2971bd7 Compare January 21, 2023 11:55
@wegank
Copy link
Member

wegank commented Jan 24, 2023

@ofborg build ffmpeg ffmpeg.passthru.tests handbrake handbrake.passthru.tests

Atemu and others added 3 commits January 27, 2023 18:19
A ton of cleanup and refactoring went into this. Too much to list.

Co-authored-by: Anderson Torres <[email protected]>
Co-authored-by: Martin Weinelt <[email protected]>
Our regular ffmpeg should have everything enabled Jami needs, if not that's a
bug we should fix in our ffmpeg rather than in jami
@Atemu Atemu force-pushed the ffmpeg-ffmpeg-full-merge branch from ebb8f2c to 79466c4 Compare January 27, 2023 17:19
Copy link
Member

@SuperSandro2000 SuperSandro2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

didn't check every line by line again but it looked good in the other PR already

@mweinelt
Copy link
Member

Let's give this a try. And please be around to fix issues during the next staging cycle!

@mweinelt mweinelt merged commit 3828565 into NixOS:staging Jan 27, 2023
@Atemu Atemu deleted the ffmpeg-ffmpeg-full-merge branch January 28, 2023 08:57
@Atemu
Copy link
Member Author

Atemu commented Jan 28, 2023

Thanks!

@vcunat
Copy link
Member

vcunat commented Feb 5, 2023

@Atemu
Copy link
Member Author

Atemu commented Feb 5, 2023

@vcunat libavresample is deprecated and has already been removed in ffmpeg_5 IIRC.

Should we mark the packages as broken?

@Atemu
Copy link
Member Author

Atemu commented Feb 5, 2023

tvheadend doesn't actually need it anymore: tvheadend/tvheadend@17a357f

@vcunat
Copy link
Member

vcunat commented Feb 5, 2023

tvheadend: maybe if we built from master instead of latest release. A quite complex patch is also needed: tvheadend/tvheadend@014bb95#diff-8b66bba512ec526b2701a5764adac0f55f955801a0089943ced3c76fcdf65088

(We still default to ffmpeg_4.)

Atemu added a commit to Atemu/nixpkgs that referenced this pull request Feb 7, 2023
As noted in
NixOS#211834 (comment), removing
the deprecated avresample causes some packages to break. Keep avresample in
ffmpeg_4 only for now (it's removed in ffmpeg_5).
@Atemu Atemu mentioned this pull request Feb 7, 2023
13 tasks
@Ericson2314
Copy link
Member

Congrats!!

msfjarvis added a commit to msfjarvis/dotfiles that referenced this pull request Feb 20, 2023
@rnhmjoj
Copy link
Contributor

rnhmjoj commented Jul 12, 2023

I'm not sure how, but this change broke the reproduction of video4linux2 streams in mpv.
If you have a webcam you simply confirm this by mpv /dev/video0. I'd like to get this back because it's very useful.

@mweinelt
Copy link
Member

V4L2 support is only in the full build right now.

@rnhmjoj
Copy link
Contributor

rnhmjoj commented Jul 12, 2023

It's a breaking change: can I re-enable it for ffmpeg or should I change mpv to build with ffmpeg_5-full?

@SuperSandro2000
Copy link
Member

quoting the comments from this PR:

  # Build with headless deps; excludes dependencies that are only necessary for
  # GUI applications. To be used for purposes that don't generally need such
  # components and i.e. only depend on libav
, withHeadlessDeps ? ffmpegVariant == "headless" || withSmallDeps

  # Dependencies a user might customarily expect from a regular ffmpeg build.
  # /All/ packages that depend on ffmpeg and some of its feaures should depend
  # on the small variant. Small means the minimal set of features that satisfies
  # all dependants in Nixpkgs
, withSmallDeps ? ffmpegVariant == "small" || withFullDeps

  # Everything enabled; only guarded behind platform exclusivity or brokeness.
  # If you need to depend on ffmpeg-full because ffmpeg is missing some feature
  # your package needs, you should enable that feature in regular ffmpeg
  # instead.
, withFullDeps ? ffmpegVariant == "full"

rnhmjoj added a commit to rnhmjoj/nixpkgs that referenced this pull request Sep 8, 2023
This is useful in some application like mpv to view the webcam stream.
It was enabled before ffmpeg and ffmpeg-full got merged in NixOS#211834.
github-actions bot pushed a commit that referenced this pull request Sep 11, 2023
This is useful in some application like mpv to view the webcam stream.
It was enabled before ffmpeg and ffmpeg-full got merged in #211834.

(cherry picked from commit 2ce1ae2)
yu-re-ka pushed a commit that referenced this pull request Sep 12, 2023
This is useful in some application like mpv to view the webcam stream.
It was enabled before ffmpeg and ffmpeg-full got merged in #211834.

(cherry picked from commit 2ce1ae2)

Co-authored-by: rnhmjoj <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501-1000 This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 2501-5000 This PR causes many rebuilds on Linux and should target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ffmpeg has two different implementations

9 participants