I am the packager for wf-recorder (a wl-roots/wayland screen recorder) which presently resides in rpmfusion - it uses proprietary ffmpeg codecs by default (libx246).
Now that we have ffmpeg-free we have an opportunity to move wf-recorder to the mainstream and change the default codec to the non-proprietary libopenh264. This woud be in rawhide/f38 and on.
This all works fine in testing on f37. The fly in the ointment is that if ffmpeg/rpmfusion is installed in place of ffmpeg-free, then wf-recorder can no longer access libopenh264 and fails with an error. There is a workaround in the use of the option -c libx264.
Several solutions occur to me and I'm looking for guidance on which path to take:
0. leave wf-recorder where it is, in rpmfusion as in f37 and earlier.
A. compile wf-recorder as shipped by upstream with the default libx264 - the '-c libopenh264' workaround would be needed if ffmpeg-free is installed. This annoys users who install stock fedora.
B. compile wf-recorder with libopenh264 as the default - the '-c libx264' workaround would be needed if ffmpeg/rpmfusion is installed and would annoy those users.
C. leave wf-recorder in rpmfusion and create a wf-recorder-free package by analogy to ffmpeg (this might be obscure as it's not likely to get much publicity - and annoy everyone sooner or later)
D. the best option might be to choose a codec common to both ffmpeg and ffmpeg-free. I'm not terribly au fait with the various codecs so which would I choose? These codecs appear to be in both packages:
h263_v4l2m2m V4L2 mem2mem H.263 encoder wrapper (codec h263)
h264_amf AMD AMF H.264 Encoder (codec h264)
h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
h264_vaapi H.264/AVC (VAAPI) (codec h264)
hevc_amf AMD AMF HEVC encoder (codec hevc)
hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
hevc_qsv HEVC (Intel Quick Sync Video acceleration) (codec hevc)
hevc_v4l2m2m V4L2 mem2mem HEVC encoder wrapper (codec hevc)
hevc_vaapi H.265/HEVC (VAAPI) (codec hevc)
libaom-av1 libaom AV1 (codec av1)
h264_amf AMD AMF H.264 Encoder (codec h264)
h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
h264_v4l2m2m V4L2 mem2mem H.264 encoder wrapper (codec h264)
h264_vaapi H.264/AVC (VAAPI) (codec h264)
hevc_amf AMD AMF HEVC encoder (codec hevc)
hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
hevc_qsv HEVC (Intel Quick Sync Video acceleration) (codec hevc)
hevc_v4l2m2m V4L2 mem2mem HEVC encoder wrapper (codec hevc)
hevc_vaapi H.265/HEVC (VAAPI) (codec hevc)
libaom-av1 libaom AV1 (codec av1)
libopenjpeg OpenJPEG JPEG 2000 (codec jpeg2000)
librav1e librav1e AV1 (codec av1)
libsvtav1 SVT-AV1(Scalable Video Technology for AV1) encoder (codec av1)
libtheora libtheora Theora (codec theora)
libvpx libvpx VP8 (codec vp8)
libvpx-vp9 libvpx VP9 (codec vp9)
libwebp_anim libwebp WebP image (codec webp)
libwebp libwebp WebP image (codec webp)
mjpeg_qsv MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg)
mjpeg_vaapi MJPEG (VAAPI) (codec mjpeg)
mpeg2_qsv MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
mpeg2_vaapi MPEG-2 (VAAPI) (codec mpeg2video)
mpeg4_v4l2m2m V4L2 mem2mem MPEG4 encoder wrapper (codec mpeg4)
vp8_v4l2m2m V4L2 mem2mem VP8 encoder wrapper (codec vp8)
vp8_vaapi VP8 (VAAPI) (codec vp8)
vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
vp9_vaapi VP9 (VAAPI) (codec vp9)
librav1e librav1e AV1 (codec av1)
libsvtav1 SVT-AV1(Scalable Video Technology for AV1) encoder (codec av1)
libtheora libtheora Theora (codec theora)
libvpx libvpx VP8 (codec vp8)
libvpx-vp9 libvpx VP9 (codec vp9)
libwebp_anim libwebp WebP image (codec webp)
libwebp libwebp WebP image (codec webp)
mjpeg_qsv MJPEG (Intel Quick Sync Video acceleration) (codec mjpeg)
mjpeg_vaapi MJPEG (VAAPI) (codec mjpeg)
mpeg2_qsv MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
mpeg2_vaapi MPEG-2 (VAAPI) (codec mpeg2video)
mpeg4_v4l2m2m V4L2 mem2mem MPEG4 encoder wrapper (codec mpeg4)
vp8_v4l2m2m V4L2 mem2mem VP8 encoder wrapper (codec vp8)
vp8_vaapi VP8 (VAAPI) (codec vp8)
vp9_qsv VP9 video (Intel Quick Sync Video acceleration) (codec vp9)
vp9_vaapi VP9 (VAAPI) (codec vp9)
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue