Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffmpeg: add librist #353473

Merged
merged 1 commit into from
Nov 4, 2024
Merged

ffmpeg: add librist #353473

merged 1 commit into from
Nov 4, 2024

Conversation

randomizedcoder
Copy link
Contributor

Things done

Add Reliable Internet Stream Transport (RIST) protocol to ffmpeg: librist
https://code.videolan.org/rist/librist

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • NixOS Tested on NixOS
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 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
  • Fits CONTRIBUTING.md. ( I hope so )

To test building this I did a local override of the NIXPKGS:

export NIXPKGS=~/Downloads/pkg2/nixpkgs

nix-build $NIXPKGS -A ffmpeg

[das@t:~/Downloads/pkg2/nixpkgs]$ /nix/store/9mb44n85dv2c9glsqmshwbg1lnrmw9r4-ffmpeg-7.1-bin/bin/ffmpeg 
ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.3.0 (GCC)
  configuration: --disable-static --prefix=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1 --target_os=linux --arch=x86_64 --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-nonfree --disable-static --enable-shared --enable-pic --disable-thumb --disable-small --enable-runtime-cpudetect --disable-gray --enable-swscale-alpha --enable-hardcoded-tables --enable-safe-bitstream-reader --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-pixelutils --datadir=/nix/store/7kxrn9y0qwbyz92ji9x6z9k6rr932cf2-ffmpeg-7.1-data/share/ffmpeg --enable-ffmpeg --enable-ffplay --enable-ffprobe --bindir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-bin/bin --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avutil --enable-postproc --enable-swresample --enable-swscale --libdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-lib/lib --incdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-dev/include --enable-doc --enable-htmlpages --enable-manpages --mandir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-man/share/man --enable-podpages --enable-txtpages --docdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-doc/share/doc/ffmpeg --enable-alsa --enable-amf --enable-libaom --disable-appkit --disable-libaribb24 --disable-libaribcaption --enable-libass --disable-audiotoolbox --disable-avfoundation --disable-avisynth --disable-libbluray --disable-libbs2b --enable-bzlib --disable-libcaca --disable-libcdio --enable-libcelt --disable-chromaprint --disable-libcodec2 --disable-coreimage --disable-cuda --disable-cuda-llvm --disable-cuda-nvcc --enable-cuvid --enable-libdav1d --disable-libdc1394 --enable-libdrm --disable-libdvdnav --disable-libdvdread --disable-libfdk-aac --enable-ffnvcodec --disable-libflite --enable-fontconfig --enable-libfontconfig --enable-libfreetype --disable-frei0r --disable-libfribidi --disable-libgme --enable-gnutls --disable-libgsm --enable-libharfbuzz --enable-iconv --disable-libilbc --disable-libjack --disable-libjxl --disable-ladspa --disable-lcms2 --enable-lzma --disable-metal --disable-libmfx --disable-libmodplug --enable-libmp3lame --disable-libmysofa --disable-libnpp --enable-nvdec --enable-nvenc --disable-openal --disable-opencl --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-opengl --disable-libopenh264 --enable-libopenjpeg --disable-libopenmpt --enable-libopus --disable-libplacebo --enable-libpulse --disable-libqrencode --disable-libquirc --disable-librav1e --enable-librist --disable-librtmp --disable-librubberband --disable-libsmbclient --enable-sdl2 --disable-libshaderc --disable-libshine --disable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --disable-librsvg --enable-libsvtav1 --disable-libtensorflow --enable-libtheora --disable-libtwolame --enable-libv4l2 --enable-v4l2-m2m --enable-vaapi --enable-vdpau --disable-libvpl --disable-videotoolbox --enable-libvidstab --disable-libvmaf --disable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-vulkan --enable-libwebp --enable-libx264 --enable-libx265 --disable-libxavs --disable-libxcb --disable-libxcb-shape --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxevd --disable-libxeve --disable-xlib --disable-libxml2 --enable-libxvid --enable-libzimg --enable-zlib --disable-libzmq --disable-libzvbi --disable-debug --enable-optimizations --disable-extra-warnings --disable-stripping
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.100 / 61. 19.100
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Universal media converter
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Add a 👍 reaction to pull requests you find important.

@randomizedcoder
Copy link
Contributor Author

I tried to do the nixpkgs-review thing, but it doesn't seem to do anything. Sorry. ??

[das@t:~/Downloads/pkg2/nixpkgs]$ nix-shell -p nixpkgs-review --run "nixpkgs-review pr 353473"
$ git -c fetch.prune=false fetch --no-tags --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/353473/head:refs/nixpkgs-review/1

@Atemu
Copy link
Member

Atemu commented Nov 3, 2024

Please adjust your commit messages to follow the commit conventions where you prefix the commit message with the name of the component you changed followed by a column.

e.g. component: change x about it in order to y or package: 0.1.0 -> 0.2.0

Reword your commits using an interactive rebase and then force-push them to your branch.

@Atemu Atemu requested review from emilazy and jopejoe1 November 3, 2024 23:07
@Atemu
Copy link
Member

Atemu commented Nov 3, 2024

I'm not quite sure why nixpkgs-review isn't working for you but you shouldn't attempt to run it anyways because ffmpeg will cause thousands of package rebuilds that will take multiple days to perform on even a quite fast machine. It's enough if you can show that all versions of ffmpeg build and that the thing you intended to change works as it should.

Speaking of which, could you summarise for us what RIST is useful for and how we could test that it works as expected?

I'd also like to know whether this fits the criteria for being in the headless variant; is this something you'd customarily expect a distro's ffmpeg to ship or is this a niche thing that ffmpeg technically supports but barely anyone needs?

@randomizedcoder randomizedcoder changed the title ffmpeg librist ffmpeg: add librist Nov 3, 2024
@randomizedcoder
Copy link
Contributor Author

Thanks for the quick feedback!

Commit message updated

RIST is primarily used for packet loss recovery for multicast RTP streams

https://en.wikipedia.org/wiki/Reliable_Internet_Stream_Transport

RIST video
https://youtu.be/_vS7tpO_R1w?si=GgsoS2XS3O04tmwD

RIST verse SRT video
https://youtu.be/EDNlxN1VaBM?si=TFrcN4j-koyMgStl

Honestly, I haven't been able to compile ffmpeg with rist before (after a lot of trying), so I'm excited to be able to try it out

@Atemu
Copy link
Member

Atemu commented Nov 3, 2024

Please do actually test this and share with us a command or setup with which we can easily convince ourselves that this works as expected.

Please also answer my second question.

Please also note that most of us don't really have time to look into every feature in detail, so summaries are preferable to deep-dives.

@emilazy
Copy link
Member

emilazy commented Nov 4, 2024

FWIW, OBS supports RIST. I don’t know if it’s The Future of Streaming (I remember hearing about some up‐and‐coming protocol recently that was meant to be, and it may have been RIST), but it’s definitely not irrelevant. Arch do not compile their FFmpeg with RIST support, but Fedora do. I do not know how mature FFmpeg’s RIST support is, or the code quality of the librist library, but I certainly think it would be reasonable in principle to enable this.

@randomizedcoder
Copy link
Contributor Author

G'day.

Thanks for the continued feedback.

Sorry, I thought you might have been interested to understand more about RIST, and hope the links help others searching the Internets.

RIST is mostly for improved resilience for multicast transport, and is in a lot of way an alternative to SRT. SRT is unicast only.

RIST support was added to ffmpeg ~4 years ago. I don't know entirely how much testing was performed, but certainly enough for the ffmpeg core team. The commit is here:
https://code.videolan.org/rist/ffmpeg/-/commit/d2765591220d2bc6230617246c64ac482410fb57

ffmpeg rist protocol documentation is here
https://ffmpeg.org/ffmpeg-protocols.html#rist

RIST is definitely a headless candidate, in that essentially to use this, you would receive or generate a stream, and add the RIST buffer on a "server" side. Then the RTP packets will traverse the network, and the downstream clients can send NACKs.

Example command to send a udp MPEGTS stream with RIST buffer of 10seconds:

/nix/store/9mb44n85dv2c9glsqmshwbg1lnrmw9r4-ffmpeg-7.1-bin/bin/ffmpeg -loglevel info -re -f lavfi -i "smptehdbars=rate=30:size=1920x1080" -f lavfi -i sine=frequency=1000:sample_rate=48000 -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf:timecode=\'01\:00\:00\;00\':r=30:x=(sin(t)+1)/2*(W-tw):y=(cos(t/0.625)+1)/2*(H-th):fontsize=(h/10):fontcolor=blue:box=1:boxcolor=0x00000099:textfile=textfile" -c:v libx264 -r 30 -profile:v high -g 30 -pix_fmt yuv420p -preset ultrafast -tune zerolatency -crf 30 -c:a aac -ac 2 -map 0 -map 1 -f mpegts -fec prompeg=l=8:d=8 rist://232.0.0.1:6666?pkt_size=1490\&buffer_size=10s

Example output

[das@t:~]$ /nix/store/9mb44n85dv2c9glsqmshwbg1lnrmw9r4-ffmpeg-7.1-bin/bin/ffmpeg -loglevel info -re -f lavfi -i "smptehdbars=rate=30:size=1920x1080" -f lavfi -i sine=frequency=1000:sample_rate=48000 -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf:timecode=\'01\:00\:00\;00\':r=30:x=(sin(t)+1)/2*(W-tw):y=(cos(t/0.625)+1)/2*(H-th):fontsize=(h/10):fontcolor=blue:box=1:boxcolor=0x00000099:textfile=textfile" -c:v libx264 -r 30 -profile:v high -g 30 -pix_fmt yuv420p -preset ultrafast -tune zerolatency -crf 30 -c:a aac -ac 2 -map 0 -map 1 -f mpegts -fec prompeg=l=8:d=8 rist://232.0.0.1:6666?pkt_size=1490\&buffer_size=10s 
ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.3.0 (GCC)
  configuration: --disable-static --prefix=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1 --target_os=linux --arch=x86_64 --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-nonfree --disable-static --enable-shared --enable-pic --disable-thumb --disable-small --enable-runtime-cpudetect --disable-gray --enable-swscale-alpha --enable-hardcoded-tables --enable-safe-bitstream-reader --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-pixelutils --datadir=/nix/store/7kxrn9y0qwbyz92ji9x6z9k6rr932cf2-ffmpeg-7.1-data/share/ffmpeg --enable-ffmpeg --enable-ffplay --enable-ffprobe --bindir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-bin/bin --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avutil --enable-postproc --enable-swresample --enable-swscale --libdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-lib/lib --incdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-dev/include --enable-doc --enable-htmlpages --enable-manpages --mandir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-man/share/man --enable-podpages --enable-txtpages --docdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-7.1-doc/share/doc/ffmpeg --enable-alsa --enable-amf --enable-libaom --disable-appkit --disable-libaribb24 --disable-libaribcaption --enable-libass --disable-audiotoolbox --disable-avfoundation --disable-avisynth --disable-libbluray --disable-libbs2b --enable-bzlib --disable-libcaca --disable-libcdio --enable-libcelt --disable-chromaprint --disable-libcodec2 --disable-coreimage --disable-cuda --disable-cuda-llvm --disable-cuda-nvcc --enable-cuvid --enable-libdav1d --disable-libdc1394 --enable-libdrm --disable-libdvdnav --disable-libdvdread --disable-libfdk-aac --enable-ffnvcodec --disable-libflite --enable-fontconfig --enable-libfontconfig --enable-libfreetype --disable-frei0r --disable-libfribidi --disable-libgme --enable-gnutls --disable-libgsm --enable-libharfbuzz --enable-iconv --disable-libilbc --disable-libjack --disable-libjxl --disable-ladspa --disable-lcms2 --enable-lzma --disable-metal --disable-libmfx --disable-libmodplug --enable-libmp3lame --disable-libmysofa --disable-libnpp --enable-nvdec --enable-nvenc --disable-openal --disable-opencl --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-opengl --disable-libopenh264 --enable-libopenjpeg --disable-libopenmpt --enable-libopus --disable-libplacebo --enable-libpulse --disable-libqrencode --disable-libquirc --disable-librav1e --enable-librist --disable-librtmp --disable-librubberband --disable-libsmbclient --enable-sdl2 --disable-libshaderc --disable-libshine --disable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --disable-librsvg --enable-libsvtav1 --disable-libtensorflow --enable-libtheora --disable-libtwolame --enable-libv4l2 --enable-v4l2-m2m --enable-vaapi --enable-vdpau --disable-libvpl --disable-videotoolbox --enable-libvidstab --disable-libvmaf --disable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-vulkan --enable-libwebp --enable-libx264 --enable-libx265 --disable-libxavs --disable-libxcb --disable-libxcb-shape --disable-libxcb-shm --disable-libxcb-xfixes --disable-libxevd --disable-libxeve --disable-xlib --disable-libxml2 --enable-libxvid --enable-libzimg --enable-zlib --disable-libzmq --disable-libzvbi --disable-debug --enable-optimizations --disable-extra-warnings --disable-stripping
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.100 / 61. 19.100
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, lavfi, from 'smptehdbars=rate=30:size=1920x1080':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 30 tbn
Input #1, lavfi, from 'sine=frequency=1000:sample_rate=48000':
  Duration: N/A, start: 0.000000, bitrate: 768 kb/s
  Stream #1:0: Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s
Unknown or invalid parameter pkt_size
Unknown or invalid parameter buffer_size
Stream mapping:
  Stream #0:0 -> #0:0 (wrapped_avframe (native) -> h264 (libx264))
  Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x3f439500] using SAR=1/1
[libx264 @ 0x3f439500] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x3f439500] profile Constrained Baseline, level 4.0, 4:2:0, 8-bit
Output #0, mpegts, to 'rist://232.0.0.1:6666?pkt_size=1490&buffer_size=10s':
  Metadata:
    encoder         : Lavf61.7.100
  Stream #0:0: Video: h264, yuv420p(tv, bt470bg/unknown/unknown, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 90k tbn
      Metadata:
        encoder         : Lavc61.19.100 libx264
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
      Metadata:
        encoder         : Lavc61.19.100 aac
[out#0/mpegts @ 0x3f451740] Error closing file: Generic error in an external librarypeed=1.05x    
[out#0/mpegts @ 0x3f451740] video:2343KiB audio:170KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 5.840865%
frame=  316 fps= 31 q=23.0 Lsize=    2660KiB time=00:00:10.53 bitrate=2068.4kbits/s speed=1.05x    
[libx264 @ 0x3f439500] frame I:11    Avg QP:20.27  size: 29894
[libx264 @ 0x3f439500] frame P:305   Avg QP:22.50  size:  6789
[libx264 @ 0x3f439500] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x3f439500] mb P  I16..4:  2.8%  0.0%  0.0%  P16..4:  3.6%  0.0%  0.0%  0.0%  0.0%    skip:93.5%
[libx264 @ 0x3f439500] coded y,uvDC,uvAC intra: 9.9% 16.2% 12.8% inter: 0.9% 2.9% 2.7%
[libx264 @ 0x3f439500] i16 v,h,dc,p: 67% 16% 17%  1%
[libx264 @ 0x3f439500] i8c dc,h,v,p: 72% 14% 14%  0%
[libx264 @ 0x3f439500] kb/s:1822.29
[aac @ 0x3f481680] Qavg: 448.378
Exiting normally, received signal 2.

Highlighting key output line:

Output #0, mpegts, to 'rist://232.0.0.1:6666?pkt_size=1490&buffer_size=10s':          <--- woot woot!

Thanks again,
Dave

Copy link
Member

@Atemu Atemu left a comment

Choose a reason for hiding this comment

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

Sounds good to me then.

The only thing left is to target staging because this will cause a ton of rebuilds as mentioned previously. I confirmed that the merge-base is in staging already, so no rebases are necessary. I'll simply switch it over for you.

@Atemu Atemu changed the base branch from master to staging November 4, 2024 01:03
@randomizedcoder
Copy link
Contributor Author

Awesome! Thanks very much

@Atemu
Copy link
Member

Atemu commented Nov 4, 2024

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 353473 --checkout commit


x86_64-linux

✅ 21 packages built:
  • ffmpeg_4-headless
  • ffmpeg_4-headless.bin (ffmpeg_4-headless.bin.bin ,ffmpeg_4-headless.bin.data ,ffmpeg_4-headless.bin.dev ,ffmpeg_4-headless.bin.doc ,ffmpeg_4-headless.bin.lib ,ffmpeg_4-headless.bin.man)
  • ffmpeg_4-headless.data (ffmpeg_4-headless.data.bin ,ffmpeg_4-headless.data.data ,ffmpeg_4-headless.data.dev ,ffmpeg_4-headless.data.doc ,ffmpeg_4-headless.data.lib ,ffmpeg_4-headless.data.man)
  • ffmpeg_4-headless.dev (ffmpeg_4-headless.dev.bin ,ffmpeg_4-headless.dev.data ,ffmpeg_4-headless.dev.dev ,ffmpeg_4-headless.dev.doc ,ffmpeg_4-headless.dev.lib ,ffmpeg_4-headless.dev.man)
  • ffmpeg_4-headless.doc (ffmpeg_4-headless.doc.bin ,ffmpeg_4-headless.doc.data ,ffmpeg_4-headless.doc.dev ,ffmpeg_4-headless.doc.doc ,ffmpeg_4-headless.doc.lib ,ffmpeg_4-headless.doc.man)
  • ffmpeg_4-headless.lib (ffmpeg_4-headless.lib.bin ,ffmpeg_4-headless.lib.data ,ffmpeg_4-headless.lib.dev ,ffmpeg_4-headless.lib.doc ,ffmpeg_4-headless.lib.lib ,ffmpeg_4-headless.lib.man)
  • ffmpeg_4-headless.man (ffmpeg_4-headless.man.bin ,ffmpeg_4-headless.man.data ,ffmpeg_4-headless.man.dev ,ffmpeg_4-headless.man.doc ,ffmpeg_4-headless.man.lib ,ffmpeg_4-headless.man.man)
  • ffmpeg_6-headless
  • ffmpeg_6-headless.bin (ffmpeg_6-headless.bin.bin ,ffmpeg_6-headless.bin.data ,ffmpeg_6-headless.bin.dev ,ffmpeg_6-headless.bin.doc ,ffmpeg_6-headless.bin.lib ,ffmpeg_6-headless.bin.man)
  • ffmpeg_6-headless.data (ffmpeg_6-headless.data.bin ,ffmpeg_6-headless.data.data ,ffmpeg_6-headless.data.dev ,ffmpeg_6-headless.data.doc ,ffmpeg_6-headless.data.lib ,ffmpeg_6-headless.data.man)
  • ffmpeg_6-headless.dev (ffmpeg_6-headless.dev.bin ,ffmpeg_6-headless.dev.data ,ffmpeg_6-headless.dev.dev ,ffmpeg_6-headless.dev.doc ,ffmpeg_6-headless.dev.lib ,ffmpeg_6-headless.dev.man)
  • ffmpeg_6-headless.doc (ffmpeg_6-headless.doc.bin ,ffmpeg_6-headless.doc.data ,ffmpeg_6-headless.doc.dev ,ffmpeg_6-headless.doc.doc ,ffmpeg_6-headless.doc.lib ,ffmpeg_6-headless.doc.man)
  • ffmpeg_6-headless.lib (ffmpeg_6-headless.lib.bin ,ffmpeg_6-headless.lib.data ,ffmpeg_6-headless.lib.dev ,ffmpeg_6-headless.lib.doc ,ffmpeg_6-headless.lib.lib ,ffmpeg_6-headless.lib.man)
  • ffmpeg_6-headless.man (ffmpeg_6-headless.man.bin ,ffmpeg_6-headless.man.data ,ffmpeg_6-headless.man.dev ,ffmpeg_6-headless.man.doc ,ffmpeg_6-headless.man.lib ,ffmpeg_6-headless.man.man)
  • ffmpeg_7-headless
  • ffmpeg_7-headless.bin (ffmpeg_7-headless.bin.bin ,ffmpeg_7-headless.bin.data ,ffmpeg_7-headless.bin.dev ,ffmpeg_7-headless.bin.doc ,ffmpeg_7-headless.bin.lib ,ffmpeg_7-headless.bin.man)
  • ffmpeg_7-headless.data (ffmpeg_7-headless.data.bin ,ffmpeg_7-headless.data.data ,ffmpeg_7-headless.data.dev ,ffmpeg_7-headless.data.doc ,ffmpeg_7-headless.data.lib ,ffmpeg_7-headless.data.man)
  • ffmpeg_7-headless.dev (ffmpeg_7-headless.dev.bin ,ffmpeg_7-headless.dev.data ,ffmpeg_7-headless.dev.dev ,ffmpeg_7-headless.dev.doc ,ffmpeg_7-headless.dev.lib ,ffmpeg_7-headless.dev.man)
  • ffmpeg_7-headless.doc (ffmpeg_7-headless.doc.bin ,ffmpeg_7-headless.doc.data ,ffmpeg_7-headless.doc.dev ,ffmpeg_7-headless.doc.doc ,ffmpeg_7-headless.doc.lib ,ffmpeg_7-headless.doc.man)
  • ffmpeg_7-headless.lib (ffmpeg_7-headless.lib.bin ,ffmpeg_7-headless.lib.data ,ffmpeg_7-headless.lib.dev ,ffmpeg_7-headless.lib.doc ,ffmpeg_7-headless.lib.lib ,ffmpeg_7-headless.lib.man)
  • ffmpeg_7-headless.man (ffmpeg_7-headless.man.bin ,ffmpeg_7-headless.man.data ,ffmpeg_7-headless.man.dev ,ffmpeg_7-headless.man.doc ,ffmpeg_7-headless.man.lib ,ffmpeg_7-headless.man.man)

@Atemu Atemu merged commit d2e8dbc into NixOS:staging Nov 4, 2024
15 of 16 checks passed
@alyssais
Copy link
Member

librist doesn't build for musl, which means this regressed building ffmpeg for musl. Fix is #355235.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants