Releases: ammen99/wf-recorder
v0.5.0
wf-recorder v0.5.0 π
Highlight of this version is improved audio capture support, most notably having a pipewire capture backend. There were also improvements to dmabuf support, compatibility with FFMPEG 7.0 and other smaller fixes. See the changelog below for full information.
What's Changed
- Also set buffer.drm_format with shm capture by @nowrep in #233
- Use dmabuf feedback instead of wl-drm to get compositor device by @nowrep in #235
- README: add NixOS, order distros alphabetically by @yu-re-ka in #231
- Set the default pixel format to yuv420p by @soreau in #237
- Get hw_frame_context from buffersink by @nowrep in #242
- Allow region capture with DMA-BUF by @nowrep in #244
- recreate buffer if format changes by @ammen99 in #251
- Add compatibility with FFMPEG 7.0 by @eclipseo in #262
- ensure all status messages use stderr by @nekopsykose in #267
- add -O/--overwrite by @nekopsykose in #266
- PipeWire audio capture by @nowrep in #247
- Require libpipewire >= 1.0.5 for pw_buffer.time by @nowrep in #271
New Contributors
- @yu-re-ka made their first contribution in #231
- @eclipseo made their first contribution in #262
- @nekopsykose made their first contribution in #267
Full Changelog: v0.4.1...v0.5.0
wf-recorder 0.4.1
This is a small bug-fix release which fixes builds from release tarballs. See #226, #230
What's Changed
- Skip git-based version if building from tarballs by @WhyNotHugo in #226
- readme: mention Alpine package by @WhyNotHugo in #227
- Fix typo in main.cpp by @b1rger in #229
Full Changelog: v0.4.0...v0.4.1
wf-recorder 0.4.0
This is the 0.4.0 release of wf-recorder.
Most important user-facing changes since 0.3.0:
- Audio codec, sample rate and format can be changed at runtime (#177)
- Setting buffer/frame rate (#190)
- DMA-BUF support (significantly reduces CPU usage when using GPU encoding) (#206)
- Configurable default codec and container format (#198)
There have also been many other changes and bug fixes, see the list below.
Huge thanks to all contributors and testers!
What's Changed
- Support for configuring audio codec and video framerate by @llyyr in #177
- Remove unused variable by @WhyNotHugo in #178
- docs: fix help and examples regarding -a & --audio by @llyyr in #180
- fix buffersink pix_fmt handling by @llyyr in #182
- Add default codec parameters for libvpx/libvpx-vp9. by @alebastr in #197
- Use VP9+Opus on MKV by default by @Conan-Kudo in #198
- build: Fix compile failure introduced by last commit by @soreau in #200
- README: Flesh out build dependencies for building from source by @Conan-Kudo in #203
- Add GitHub Actions CI to test the build by @Conan-Kudo in #201
- Use VP8+Vorbis on WebM for recordings by @Conan-Kudo in #202
- FrameRate Changes, Implement CFR and estimated buffer framerate by @Quackdoc in #190
- Fix deprecation warnings by @llyyr in #193
- Gracefully terminate on
SIGTERM
/SIGHUP
to avoid corruption by @joanbm in #183 - ci: add to safe directories so that git parse-rev works by @ammen99 in #210
- Only flush when video codec has delay by @nowrep in #209
- Use DMA-BUF with HW encoding by @nowrep in #206
- Reduce memory usage with DMA-BUF capture by @nowrep in #219
- Use gbm_bo_create_with_modifiers + don't encode if capture fails by @nowrep in #220
- Use codec format which best matches input by @mstoeckl in #215
- Go back to libx264 by default by @ammen99 in #222
- Add support for 16 bit deep formats by @mstoeckl in #184
- Add X2RGB10 format mapping for DMA-BUFs by @nowrep in #224
- Dynamically increase number of used buffers by @nowrep in #221
- Break early when exit_main_loop is set in encoder thread by @nowrep in #223
- add --no-dmabuf option by @ammen99 in #225
- don't ask for overwrite for the char device by @denisok in #141
New Contributors
- @llyyr made their first contribution in #177
- @WhyNotHugo made their first contribution in #178
- @alebastr made their first contribution in #197
- @Conan-Kudo made their first contribution in #198
- @Quackdoc made their first contribution in #190
- @joanbm made their first contribution in #183
- @nowrep made their first contribution in #209
- @denisok made their first contribution in #141
Full Changelog: v0.3.0...v0.4.0
wf-recorder 0.3.0
This is the 0.3.0 release of wf-recorder. Notable new features since 0.2.1:
-
Support for ffmpeg filters with the
-F <filter>
option (5384bc9). This allows using many of the effects ffmpeg provides, see https://github.com/schauveau/wf-recorder-x for a good introduction on filters. -
Support for recording new frames only when the screen contents actually change (#82). This is now the default behavior. If this is not desired (because for ex. the recording has variable refresh rate and not fixed), the
-D
option can be used to get the old behavior. -
wf-recorder now asks the user if the output file will be overwritten (0b74ad4)
-
Various bug fixes, see the git log for complete list of changes.
wf-recorder 0.2.1
wf-recorder 0.2.1 is a bug-fix release over wf-recorder 0.2 with no new features added. Changes include:
- Improved documentation
- Fixed long recordings (>1h10m) (#78)
wf-recorder 0.2
This is the second release of wf-recorder.
Notable changes since v0.1:
- Addition of manpage and help options #35
- Conversion to RGB to YUV with the help of OpenCL (the latter being optional) #30 #32
- Option to set muxer and pixel format #43 #53
- Support for loopback devices: #43 #53
- Update to newer avcodec_send_frame API #47
Thanks to all the people who contributed code and effort into this release!
Initial release
This is the first release of wf-recorder
. Supported features:
- Recording an output or a part of an output in wlroots-based compositors
- Various file formats & codecs (mkv, mp4, gif, ...)
- Experimental VAAPI encoding
- Audio recording via PulseAudio