Hi all! We're now 2 months away from the release of liquidsoap 1.4.3 and I wanted to share a little update about where the project was at regarding the on-going development branch.
The next major release will definitely be super exciting with tons of new, incredible features that we previously thought impossible. However, it'll be a long run to get all them in, stabilize and, eventually, release. We have some really exciting new features in store, in particular with video. On a higher level, with the coming release, we should be able to enable pretty much anything that ffmpeg can do but with the flexibility and power of the full script language. In particular: - Receive and send data without re-encoding - Encode data once and share it with multiple outputs - First class support for video, including HLS, SRT, OBS client etc. One feature that is on the roadmap but that we're not sure if we'll get to is native support for RTMP input. The RTMP protocol is a mess and a huge amount of work. We might, however, be looking at compensating an external contributor for it, in case anyone is interested. We'll post about this soon. Please note that the documentation is currently out of sync. As we get more and more breaking feature in, we will eventually revisit the documentation and rewrite it extensively. For now, any interested tester is suggested to come to us on slack, look at PR descriptions or script tests. In order to facilitate testing, I'm happy to report that we have re-enabled the windows build as part of our regular CI workflow here: https://github.com/savonet/liquidsoap/actions This and the regular debian packages and docker images should allow for quick testing of the progress. Here's a breakdown of the features that already, in flight or pending. You can also track them via the github project at: https://github.com/savonet/liquidsoap/projects/2 Currently available:Ffmpeg: - Ffmpeg encoded content, allowing to copy data without re-encoding! See: https://github.com/savonet/liquidsoap/pull/1286 - Ffmpeg raw content, avoiding data copy between liquidsoap and ffmpeg when possible - Support for ffmpeg filters (using ffmpeg raw content) I/O: - HLS now supports video and mp4 container! Language: - Errors throw and catch: e = error.register("my error") # Catch all errors: try error.raise(e); "bla" catch err do error.kind(err) end # Only a sub-set: try error.raise(e); "bla" catch err in [e, ...] do error.kind(err) end - Modules and methods. s = playlist(...) s.on_metadata(fn) s.skip() - Splat and destructuring: # let [x, _, z, ...t] = [1,2,3,4];; x : int = 1 z : int = 3 t : [int] = [4] # x = [1, ...[2, 3, 4], 5, ...[6, 7]];; x : [int] = [1, 2, 3, 4, 5, 6, 7] - Support for nullable values: x = null() y = x ?? 1234 # 1234 In-flight: - Support for liquidsoap as Live Video HEVC (h.265) SRT Server. See: https://github.com/savonet/liquidsoap/issues/1368 Pending: - Support for inline encoding and decoding, making it possible to share a single encoding accross multiple outputs: s = ffmpeg.encode(%ffmpeg(format="mp3", %audio(codec="libmp3lame", ..)) output.file(%ffmpeg(format="mp3", %audio.copy, ..), ..., s) output.icecast(%ffmpeg(format="mp3", %audio.copy, ..), ..., s) - Support for native RTMP input. See above. - Support for HLS input. - Support for scriptable playlists, allowing for more flexibility with CUE playlists and etc.
_______________________________________________ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users