From 5f0d2dd878d0edf29a3c6b4425b4abc56d9e9914 Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Mon, 1 Jul 2024 00:22:20 +0000 Subject: [PATCH 01/12] auto update packages list in readme From ea83c8fd26314405f1774b7cc4029b53baae3f06 Mon Sep 17 00:00:00 2001 From: Mateusz Front Date: Mon, 8 Jul 2024 17:02:16 +0200 Subject: [PATCH 02/12] update packages --- scripts/elixir/update_packages_list.exs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/elixir/update_packages_list.exs b/scripts/elixir/update_packages_list.exs index f607a9410..f2eba89c3 100644 --- a/scripts/elixir/update_packages_list.exs +++ b/scripts/elixir/update_packages_list.exs @@ -60,6 +60,7 @@ packages = {:md, "#### Video codecs"}, "membrane_h26x_plugin", "membrane_h264_ffmpeg_plugin", + "membrane_vpx_plugin", "membrane_abr_transcoder_plugin", "gBillal/membrane_h265_ffmpeg_plugin", "binarynoggin/elixir-turbojpeg", @@ -76,7 +77,7 @@ packages = {:md, "**Raw video**"}, "membrane_raw_video_parser_plugin", "membrane_video_merger_plugin", - "membrane_video_compositor_plugin", + "membrane_live_compositor_plugin", "membrane_camera_capture_plugin", "membrane_rpicam_plugin", "membrane_framerate_converter_plugin", @@ -108,7 +109,7 @@ packages = "membrane_vp9_format", "membrane_g711_format", {:md, "### Standalone media libs"}, - "video_compositor", + "live_compositor", "ex_sdp", "ex_libnice", "ex_libsrtp", From cff6355e76087f55b29a884cb1f61495ca5da8a7 Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Mon, 8 Jul 2024 15:05:44 +0000 Subject: [PATCH 03/12] auto update packages list in readme From c403ecb87d49f6c3559e8b096002cd0ca12e66e2 Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Mon, 8 Jul 2024 15:07:03 +0000 Subject: [PATCH 04/12] auto update packages list in readme From 75a36a21cacdba64f4aebed2165b401efbfcc9bc Mon Sep 17 00:00:00 2001 From: Mateusz Front Date: Mon, 8 Jul 2024 17:08:59 +0200 Subject: [PATCH 05/12] jellyfish -> fishjam --- scripts/elixir/update_packages_list.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/elixir/update_packages_list.exs b/scripts/elixir/update_packages_list.exs index f2eba89c3..69145beb2 100644 --- a/scripts/elixir/update_packages_list.exs +++ b/scripts/elixir/update_packages_list.exs @@ -148,7 +148,7 @@ gh_req_mock = false # fetch repos from the known organizations repos = - ["membraneframework", "membraneframework-labs", "jellyfish-dev"] + ["membraneframework", "membraneframework-labs", "fishjam-dev"] |> Enum.flat_map(fn org -> Stream.iterate(1, &(&1 + 1)) |> Stream.map(fn page -> @@ -185,7 +185,7 @@ lacking_repos = |> Map.values() |> Enum.filter(fn repo -> repo.name not in package_names and - repo.owner.login in ["membraneframework", "jellyfish-dev"] and + repo.owner.login in ["membraneframework", "fishjam-dev"] and (repo.owner.login == "membraneframework" or repo.name =~ ~r/^membrane_.*/) and not Enum.any?(packages_blacklist, fn name -> repo.name =~ name end) end) From d71a18a5ac8117bcc1b973b7430a35a483a4023c Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Mon, 8 Jul 2024 15:10:36 +0000 Subject: [PATCH 06/12] auto update packages list in readme --- README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 24404a2b9..5a0265f39 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel | --- | --- | --- | | [membrane_sdk](https://github.com/membraneframework/membrane_sdk) | Full power of Membrane in a single package | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_sdk.svg)](https://hex.pm/api/packages/membrane_sdk) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_sdk/) | | [membrane_core](https://github.com/membraneframework/membrane_core) | The core of the Membrane Framework, advanced multimedia processing framework | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_core.svg)](https://hex.pm/api/packages/membrane_core) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_core/) | -| [membrane_rtc_engine](https://github.com/jellyfish-dev/membrane_rtc_engine) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] Customizable Real-time Communication Engine/SFU library focused on WebRTC. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtc_engine.svg)](https://hex.pm/api/packages/membrane_rtc_engine) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtc_engine/) | +| [membrane_rtc_engine](https://github.com/fishjam-dev/membrane_rtc_engine) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Customizable Real-time Communication Engine/SFU library focused on WebRTC. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtc_engine.svg)](https://hex.pm/api/packages/membrane_rtc_engine) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtc_engine/) | | [kino_membrane](https://github.com/membraneframework/kino_membrane) | Utilities for introspecting Membrane pipelines in Livebook | [![Hex.pm](https://img.shields.io/hexpm/v/kino_membrane.svg)](https://hex.pm/api/packages/kino_membrane) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/kino_membrane/) | | [docker_membrane](https://github.com/membraneframework-labs/docker_membrane) | [Labs] A docker image based on Ubuntu, with Erlang, Elixir and libraries necessary to test and run the Membrane Framework. | | | [membrane_demo](https://github.com/membraneframework/membrane_demo) | Examples of using the Membrane Framework | | @@ -161,10 +161,10 @@ If you have any questions regarding Membrane Framework or need consulting, feel #### Streaming protocols | Package | Description | Links | | --- | --- | --- | -| [membrane_webrtc_plugin](https://github.com/jellyfish-dev/membrane_webrtc_plugin) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] Membrane plugin for sending and receiving media with WebRTC | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_webrtc_plugin.svg)](https://hex.pm/api/packages/membrane_webrtc_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_webrtc_plugin/) | +| [membrane_webrtc_plugin](https://github.com/fishjam-dev/membrane_webrtc_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane plugin for sending and receiving media with WebRTC | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_webrtc_plugin.svg)](https://hex.pm/api/packages/membrane_webrtc_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_webrtc_plugin/) | | [membrane_rtmp_plugin](https://github.com/membraneframework/membrane_rtmp_plugin) | RTMP server & client | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtmp_plugin.svg)](https://hex.pm/api/packages/membrane_rtmp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtmp_plugin/) | | [membrane_http_adaptive_stream_plugin](https://github.com/membraneframework/membrane_http_adaptive_stream_plugin) | Plugin generating manifests for HLS (DASH support planned) | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_http_adaptive_stream_plugin.svg)](https://hex.pm/api/packages/membrane_http_adaptive_stream_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_http_adaptive_stream_plugin/) | -| [membrane_ice_plugin](https://github.com/jellyfish-dev/membrane_ice_plugin) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] Membrane plugin for ICE protocol | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_ice_plugin.svg)](https://hex.pm/api/packages/membrane_ice_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_ice_plugin/) | +| [membrane_ice_plugin](https://github.com/fishjam-dev/membrane_ice_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane plugin for ICE protocol | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_ice_plugin.svg)](https://hex.pm/api/packages/membrane_ice_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_ice_plugin/) | | [membrane_udp_plugin](https://github.com/membraneframework/membrane_udp_plugin) | Membrane plugin for sending and receiving UDP streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_udp_plugin.svg)](https://hex.pm/api/packages/membrane_udp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_udp_plugin/) | | [membrane_rtp_plugin](https://github.com/membraneframework/membrane_rtp_plugin) | Membrane bins and elements for sending and receiving RTP/SRTP and RTCP/SRTCP streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_plugin/) | | [membrane_rtp_h264_plugin](https://github.com/membraneframework/membrane_rtp_h264_plugin) | Membrane RTP payloader and depayloader for H264 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_h264_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_h264_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_h264_plugin/) | @@ -172,7 +172,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel | [membrane_rtp_vp9_plugin](https://github.com/membraneframework-labs/membrane_rtp_vp9_plugin) | [Labs] Membrane elements for payloading and depayloading VP9 into RTP | | | [membrane_rtp_mpegaudio_plugin](https://github.com/membraneframework/membrane_rtp_mpegaudio_plugin) | Membrane RTP MPEG Audio depayloader | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_mpegaudio_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_mpegaudio_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_mpegaudio_plugin/) | | [membrane_rtp_opus_plugin](https://github.com/membraneframework/membrane_rtp_opus_plugin) | Membrane RTP payloader and depayloader for OPUS audio | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_opus_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_opus_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_opus_plugin/) | -| [membrane_rtp_g711_plugin](https://github.com/jellyfish-dev/membrane_rtp_g711_plugin) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] Membrane RTP payloader and depayloader for G711 audio | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_g711_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_g711_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_g711_plugin/) | +| [membrane_rtp_g711_plugin](https://github.com/fishjam-dev/membrane_rtp_g711_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane RTP payloader and depayloader for G711 audio | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_g711_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_g711_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_g711_plugin/) | | [membrane_quic_plugin](https://github.com/mickel8/membrane_quic_plugin) | [Maintainer: [mickel8](https://github.com/mickel8)] | | | [membrane_mpeg_ts_plugin](https://github.com/kim-company/membrane_mpeg_ts_plugin) | [Maintainer: [kim-company](https://github.com/kim-company)] Membrane.Filter that demuxes MPEG-TS streams | | | [membrane_hls_plugin](https://github.com/kim-company/membrane_hls_plugin) | [Maintainer: [kim-company](https://github.com/kim-company)] Plugin providing a `Membrane.HLS.Source` element for HTTP Live Streaming (HLS). | | @@ -196,13 +196,14 @@ If you have any questions regarding Membrane Framework or need consulting, feel | [membrane_mp3_mad_plugin](https://github.com/membraneframework/membrane_mp3_mad_plugin) | Membrane MP3 decoder based on MAD. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_mp3_mad_plugin.svg)](https://hex.pm/api/packages/membrane_mp3_mad_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_mp3_mad_plugin/) | | [membrane_opus_plugin](https://github.com/membraneframework/membrane_opus_plugin) | Membrane Opus encoder and decoder | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_opus_plugin.svg)](https://hex.pm/api/packages/membrane_opus_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_opus_plugin/) | | [membrane_wav_plugin](https://github.com/membraneframework/membrane_wav_plugin) | Plugin providing elements handling audio in WAV file format. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_wav_plugin.svg)](https://hex.pm/api/packages/membrane_wav_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_wav_plugin/) | -| [membrane_g711_plugin](https://github.com/jellyfish-dev/membrane_g711_plugin) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] Membrane G.711 decoder, encoder and parser | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_g711_plugin.svg)](https://hex.pm/api/packages/membrane_g711_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_g711_plugin/) | +| [membrane_g711_plugin](https://github.com/fishjam-dev/membrane_g711_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane G.711 decoder, encoder and parser | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_g711_plugin.svg)](https://hex.pm/api/packages/membrane_g711_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_g711_plugin/) | #### Video codecs | Package | Description | Links | | --- | --- | --- | | [membrane_h26x_plugin](https://github.com/membraneframework/membrane_h26x_plugin) | Membrane h264 and h265 parsers | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h26x_plugin.svg)](https://hex.pm/api/packages/membrane_h26x_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h26x_plugin/) | | [membrane_h264_ffmpeg_plugin](https://github.com/membraneframework/membrane_h264_ffmpeg_plugin) | Membrane H264 decoder and encoder based on FFmpeg and x264 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h264_ffmpeg_plugin.svg)](https://hex.pm/api/packages/membrane_h264_ffmpeg_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h264_ffmpeg_plugin/) | +| [membrane_vpx_plugin](https://github.com/membraneframework/membrane_vpx_plugin) | Membrane plugin for decoding and encoding VP8 and VP9 streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_vpx_plugin.svg)](https://hex.pm/api/packages/membrane_vpx_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_vpx_plugin/) | | [membrane_abr_transcoder_plugin](https://github.com/membraneframework/membrane_abr_transcoder_plugin) | | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_abr_transcoder_plugin.svg)](https://hex.pm/api/packages/membrane_abr_transcoder_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_abr_transcoder_plugin/) | | [membrane_h265_ffmpeg_plugin](https://github.com/gBillal/membrane_h265_ffmpeg_plugin) | [Maintainer: [gBillal](https://github.com/gBillal)] Membrane H265 decoder and encoder based on FFmpeg and x265 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h265_ffmpeg_plugin.svg)](https://hex.pm/api/packages/membrane_h265_ffmpeg_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h265_ffmpeg_plugin/) | | [elixir-turbojpeg](https://github.com/BinaryNoggin/elixir-turbojpeg) | [Maintainer: [BinaryNoggin](https://github.com/BinaryNoggin)] libjpeg-turbo bindings for Elixir | | @@ -228,7 +229,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel | --- | --- | --- | | [membrane_raw_video_parser_plugin](https://github.com/membraneframework/membrane_raw_video_parser_plugin) | Membrane plugin for parsing raw video streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_raw_video_parser_plugin.svg)](https://hex.pm/api/packages/membrane_raw_video_parser_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_raw_video_parser_plugin/) | | [membrane_video_merger_plugin](https://github.com/membraneframework/membrane_video_merger_plugin) | Membrane raw video cutter, merger and cut & merge bin | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_video_merger_plugin.svg)](https://hex.pm/api/packages/membrane_video_merger_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_video_merger_plugin/) | -| [membrane_video_compositor_plugin](https://github.com/membraneframework/membrane_video_compositor_plugin) | Membrane plugin for video and audio mixing/composing | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_video_compositor_plugin.svg)](https://hex.pm/api/packages/membrane_video_compositor_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_video_compositor_plugin/) | +| [membrane_live_compositor_plugin](https://github.com/membraneframework/membrane_live_compositor_plugin) | Membrane plugin for video and audio mixing/composing | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_live_compositor_plugin.svg)](https://hex.pm/api/packages/membrane_live_compositor_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_live_compositor_plugin/) | | [membrane_camera_capture_plugin](https://github.com/membraneframework/membrane_camera_capture_plugin) | A set of elements allowing for capturing local media such as camera or microphone | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_camera_capture_plugin.svg)](https://hex.pm/api/packages/membrane_camera_capture_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_camera_capture_plugin/) | | [membrane_rpicam_plugin](https://github.com/membraneframework/membrane_rpicam_plugin) | Membrane rpicam plugin | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rpicam_plugin.svg)](https://hex.pm/api/packages/membrane_rpicam_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rpicam_plugin/) | | [membrane_framerate_converter_plugin](https://github.com/membraneframework/membrane_framerate_converter_plugin) | Element for converting frame rate of raw video stream | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_framerate_converter_plugin.svg)](https://hex.pm/api/packages/membrane_framerate_converter_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_framerate_converter_plugin/) | @@ -241,7 +242,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel #### External APIs | Package | Description | Links | | --- | --- | --- | -| [membrane_aws_plugin](https://github.com/jellyfish-dev/membrane_aws_plugin) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] | | +| [membrane_aws_plugin](https://github.com/fishjam-dev/membrane_aws_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] | | | [membrane_agora_plugin](https://github.com/membraneframework/membrane_agora_plugin) | Membrane Sink for Agora Server Gateway | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_agora_plugin.svg)](https://hex.pm/api/packages/membrane_agora_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_agora_plugin/) | | [membrane_element_gcloud_speech_to_text](https://github.com/membraneframework/membrane_element_gcloud_speech_to_text) | Membrane plugin providing speech recognition via Google Cloud Speech-to-Text API | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_element_gcloud_speech_to_text.svg)](https://hex.pm/api/packages/membrane_element_gcloud_speech_to_text) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_element_gcloud_speech_to_text/) | | [membrane_element_ibm_speech_to_text](https://github.com/membraneframework/membrane_element_ibm_speech_to_text) | Membrane plugin providing speech recognition via IBM Cloud Speech-to-Text service | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_element_ibm_speech_to_text.svg)](https://hex.pm/api/packages/membrane_element_ibm_speech_to_text) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_element_ibm_speech_to_text/) | @@ -264,12 +265,12 @@ If you have any questions regarding Membrane Framework or need consulting, feel | [membrane_h264_format](https://github.com/membraneframework/membrane_h264_format) | Membrane Multimedia Framework: H264 video format definition | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h264_format.svg)](https://hex.pm/api/packages/membrane_h264_format) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h264_format/) | | [membrane_vp8_format](https://github.com/membraneframework/membrane_vp8_format) | VP8 Membrane format | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_vp8_format.svg)](https://hex.pm/api/packages/membrane_vp8_format) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_vp8_format/) | | [membrane_vp9_format](https://github.com/membraneframework/membrane_vp9_format) | VP9 Membrane format | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_vp9_format.svg)](https://hex.pm/api/packages/membrane_vp9_format) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_vp9_format/) | -| [membrane_g711_format](https://github.com/jellyfish-dev/membrane_g711_format) | [Maintainer: [jellyfish-dev](https://github.com/jellyfish-dev)] Membrane Multimedia Framework: G711 audio format definition | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_g711_format.svg)](https://hex.pm/api/packages/membrane_g711_format) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_g711_format/) | +| [membrane_g711_format](https://github.com/fishjam-dev/membrane_g711_format) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane Multimedia Framework: G711 audio format definition | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_g711_format.svg)](https://hex.pm/api/packages/membrane_g711_format) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_g711_format/) | ### Standalone media libs | Package | Description | Links | | --- | --- | --- | -| [video_compositor](https://github.com/membraneframework/video_compositor) | Media server for low-latency live video and audio mixing/composing | | +| [live_compositor](https://github.com/membraneframework/live_compositor) | Media server for real-time, low latency, programmable video and audio mixing. | | | [ex_sdp](https://github.com/membraneframework/ex_sdp) | Parser and serializer for Session Description Protocol | [![Hex.pm](https://img.shields.io/hexpm/v/ex_sdp.svg)](https://hex.pm/api/packages/ex_sdp) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/ex_sdp/) | | [ex_libnice](https://github.com/membraneframework/ex_libnice) | Libnice-based Interactive Connectivity Establishment (ICE) protocol support for Elixir | [![Hex.pm](https://img.shields.io/hexpm/v/ex_libnice.svg)](https://hex.pm/api/packages/ex_libnice) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/ex_libnice/) | | [ex_libsrtp](https://github.com/membraneframework/ex_libsrtp) | Elixir bindings for libsrtp | [![Hex.pm](https://img.shields.io/hexpm/v/ex_libsrtp.svg)](https://hex.pm/api/packages/ex_libsrtp) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/ex_libsrtp/) | @@ -286,11 +287,11 @@ If you have any questions regarding Membrane Framework or need consulting, feel | [bunch](https://github.com/membraneframework/bunch) | A bunch of helper functions, intended to make life easier | [![Hex.pm](https://img.shields.io/hexpm/v/bunch.svg)](https://hex.pm/api/packages/bunch) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/bunch/) | | [bunch_native](https://github.com/membraneframework/bunch_native) | Native part of the Bunch package | [![Hex.pm](https://img.shields.io/hexpm/v/bunch_native.svg)](https://hex.pm/api/packages/bunch_native) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/bunch_native/) | | [shmex](https://github.com/membraneframework/shmex) | Elixir bindings for shared memory | [![Hex.pm](https://img.shields.io/hexpm/v/shmex.svg)](https://hex.pm/api/packages/shmex) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/shmex/) | -| [membrane_timestamp_queue](https://github.com/membraneframework/membrane_timestamp_queue) | | | +| [membrane_timestamp_queue](https://github.com/membraneframework/membrane_timestamp_queue) | Queue that aligns streams from multiple sources basing on timestamps | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_timestamp_queue.svg)](https://hex.pm/api/packages/membrane_timestamp_queue) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_timestamp_queue/) | | [membrane_common_c](https://github.com/membraneframework/membrane_common_c) | Membrane Multimedia Framework: Common C Routines | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_common_c.svg)](https://hex.pm/api/packages/membrane_common_c) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_common_c/) | | [membrane_telemetry_metrics](https://github.com/membraneframework/membrane_telemetry_metrics) | Membrane tool for generating metrics | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_telemetry_metrics.svg)](https://hex.pm/api/packages/membrane_telemetry_metrics) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_telemetry_metrics/) | | [membrane_opentelemetry](https://github.com/membraneframework-labs/membrane_opentelemetry) | [Labs] Utilities for using OpenTelemetry with Membrane | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_opentelemetry.svg)](https://hex.pm/api/packages/membrane_opentelemetry) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_opentelemetry/) | -| [membrane_precompiled_dependency_provider](https://github.com/membraneframework/membrane_precompiled_dependency_provider) | | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_precompiled_dependency_provider.svg)](https://hex.pm/api/packages/membrane_precompiled_dependency_provider) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_precompiled_dependency_provider/) | +| [membrane_precompiled_dependency_provider](https://github.com/membraneframework/membrane_precompiled_dependency_provider) | Provides URLs for precompiled dependencies used by Membrane plugins. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_precompiled_dependency_provider.svg)](https://hex.pm/api/packages/membrane_precompiled_dependency_provider) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_precompiled_dependency_provider/) | From 5d205adb12069dbc1163dbe23f0260538b95a52a Mon Sep 17 00:00:00 2001 From: Mateusz Front Date: Mon, 8 Jul 2024 17:12:12 +0200 Subject: [PATCH 07/12] add elixir webrtc --- scripts/elixir/update_packages_list.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/elixir/update_packages_list.exs b/scripts/elixir/update_packages_list.exs index 69145beb2..d38828222 100644 --- a/scripts/elixir/update_packages_list.exs +++ b/scripts/elixir/update_packages_list.exs @@ -109,6 +109,7 @@ packages = "membrane_vp9_format", "membrane_g711_format", {:md, "### Standalone media libs"}, + "elixir-webrtc/ex_webrtc", "live_compositor", "ex_sdp", "ex_libnice", From 45ac2a3fa6d14be2ff639dcebe071f6024cfa255 Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Mon, 8 Jul 2024 15:18:35 +0000 Subject: [PATCH 08/12] auto update packages list in readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a0265f39..12d1f936f 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel ### Standalone media libs | Package | Description | Links | | --- | --- | --- | +| [ex_webrtc](https://github.com/elixir-webrtc/ex_webrtc) | [Maintainer: [elixir-webrtc](https://github.com/elixir-webrtc)] An Elixir implementation of the W3C WebRTC API | [![Hex.pm](https://img.shields.io/hexpm/v/ex_webrtc.svg)](https://hex.pm/api/packages/ex_webrtc) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/ex_webrtc/) | | [live_compositor](https://github.com/membraneframework/live_compositor) | Media server for real-time, low latency, programmable video and audio mixing. | | | [ex_sdp](https://github.com/membraneframework/ex_sdp) | Parser and serializer for Session Description Protocol | [![Hex.pm](https://img.shields.io/hexpm/v/ex_sdp.svg)](https://hex.pm/api/packages/ex_sdp) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/ex_sdp/) | | [ex_libnice](https://github.com/membraneframework/ex_libnice) | Libnice-based Interactive Connectivity Establishment (ICE) protocol support for Elixir | [![Hex.pm](https://img.shields.io/hexpm/v/ex_libnice.svg)](https://hex.pm/api/packages/ex_libnice) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/ex_libnice/) | From d51704660a228f20c285076776d6db60628126fa Mon Sep 17 00:00:00 2001 From: Mateusz Front Date: Tue, 9 Jul 2024 10:28:49 +0200 Subject: [PATCH 09/12] fix orgs priorities --- scripts/elixir/update_packages_list.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/elixir/update_packages_list.exs b/scripts/elixir/update_packages_list.exs index d38828222..665c9b108 100644 --- a/scripts/elixir/update_packages_list.exs +++ b/scripts/elixir/update_packages_list.exs @@ -161,6 +161,7 @@ repos = |> Enum.take_while(&(&1 != [])) |> Enum.flat_map(& &1) end) + |> Enum.reverse() |> Map.new(&{&1.name, &1}) # find repos from the membraneframework organization that aren't in the list From 5cbbc9c1df5df0a26a9feed64f9d5fc9bf045a00 Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Tue, 9 Jul 2024 08:29:48 +0000 Subject: [PATCH 10/12] auto update packages list in readme From e38d94926a4bb9fed086e02f1792c057f3b26684 Mon Sep 17 00:00:00 2001 From: Mateusz Front Date: Tue, 9 Jul 2024 10:32:59 +0200 Subject: [PATCH 11/12] add tcp plugin --- scripts/elixir/update_packages_list.exs | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/elixir/update_packages_list.exs b/scripts/elixir/update_packages_list.exs index 665c9b108..4baf4c527 100644 --- a/scripts/elixir/update_packages_list.exs +++ b/scripts/elixir/update_packages_list.exs @@ -32,6 +32,7 @@ packages = "membrane_http_adaptive_stream_plugin", "membrane_ice_plugin", "membrane_udp_plugin", + "membrane_tcp_plugin", "membrane_rtp_plugin", "membrane_rtp_h264_plugin", "membrane_rtp_vp8_plugin", From 655b19ecffdfdeaea9c74c9e4920980145702bd7 Mon Sep 17 00:00:00 2001 From: Membrane Bot Date: Tue, 9 Jul 2024 08:33:49 +0000 Subject: [PATCH 12/12] auto update packages list in readme --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12d1f936f..6f5b04d6f 100644 --- a/README.md +++ b/README.md @@ -161,11 +161,12 @@ If you have any questions regarding Membrane Framework or need consulting, feel #### Streaming protocols | Package | Description | Links | | --- | --- | --- | -| [membrane_webrtc_plugin](https://github.com/fishjam-dev/membrane_webrtc_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane plugin for sending and receiving media with WebRTC | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_webrtc_plugin.svg)](https://hex.pm/api/packages/membrane_webrtc_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_webrtc_plugin/) | +| [membrane_webrtc_plugin](https://github.com/membraneframework/membrane_webrtc_plugin) | Plugin for streaming via WebRTC | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_webrtc_plugin.svg)](https://hex.pm/api/packages/membrane_webrtc_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_webrtc_plugin/) | | [membrane_rtmp_plugin](https://github.com/membraneframework/membrane_rtmp_plugin) | RTMP server & client | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtmp_plugin.svg)](https://hex.pm/api/packages/membrane_rtmp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtmp_plugin/) | | [membrane_http_adaptive_stream_plugin](https://github.com/membraneframework/membrane_http_adaptive_stream_plugin) | Plugin generating manifests for HLS (DASH support planned) | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_http_adaptive_stream_plugin.svg)](https://hex.pm/api/packages/membrane_http_adaptive_stream_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_http_adaptive_stream_plugin/) | | [membrane_ice_plugin](https://github.com/fishjam-dev/membrane_ice_plugin) | [Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane plugin for ICE protocol | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_ice_plugin.svg)](https://hex.pm/api/packages/membrane_ice_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_ice_plugin/) | | [membrane_udp_plugin](https://github.com/membraneframework/membrane_udp_plugin) | Membrane plugin for sending and receiving UDP streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_udp_plugin.svg)](https://hex.pm/api/packages/membrane_udp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_udp_plugin/) | +| [membrane_tcp_plugin](https://github.com/membraneframework/membrane_tcp_plugin) | Membrane plugin for sending and receiving TCP streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_tcp_plugin.svg)](https://hex.pm/api/packages/membrane_tcp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_tcp_plugin/) | | [membrane_rtp_plugin](https://github.com/membraneframework/membrane_rtp_plugin) | Membrane bins and elements for sending and receiving RTP/SRTP and RTCP/SRTCP streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_plugin/) | | [membrane_rtp_h264_plugin](https://github.com/membraneframework/membrane_rtp_h264_plugin) | Membrane RTP payloader and depayloader for H264 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_h264_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_h264_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_h264_plugin/) | | [membrane_rtp_vp8_plugin](https://github.com/membraneframework/membrane_rtp_vp8_plugin) | Membrane elements for payloading and depayloading VP8 into RTP | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtp_vp8_plugin.svg)](https://hex.pm/api/packages/membrane_rtp_vp8_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtp_vp8_plugin/) | @@ -204,7 +205,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel | [membrane_h26x_plugin](https://github.com/membraneframework/membrane_h26x_plugin) | Membrane h264 and h265 parsers | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h26x_plugin.svg)](https://hex.pm/api/packages/membrane_h26x_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h26x_plugin/) | | [membrane_h264_ffmpeg_plugin](https://github.com/membraneframework/membrane_h264_ffmpeg_plugin) | Membrane H264 decoder and encoder based on FFmpeg and x264 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h264_ffmpeg_plugin.svg)](https://hex.pm/api/packages/membrane_h264_ffmpeg_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h264_ffmpeg_plugin/) | | [membrane_vpx_plugin](https://github.com/membraneframework/membrane_vpx_plugin) | Membrane plugin for decoding and encoding VP8 and VP9 streams | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_vpx_plugin.svg)](https://hex.pm/api/packages/membrane_vpx_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_vpx_plugin/) | -| [membrane_abr_transcoder_plugin](https://github.com/membraneframework/membrane_abr_transcoder_plugin) | | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_abr_transcoder_plugin.svg)](https://hex.pm/api/packages/membrane_abr_transcoder_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_abr_transcoder_plugin/) | +| [membrane_abr_transcoder_plugin](https://github.com/membraneframework/membrane_abr_transcoder_plugin) | ABR (adaptive bitrate) transcoder, that accepts an h.264 video and outputs multiple variants of it with different qualities. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_abr_transcoder_plugin.svg)](https://hex.pm/api/packages/membrane_abr_transcoder_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_abr_transcoder_plugin/) | | [membrane_h265_ffmpeg_plugin](https://github.com/gBillal/membrane_h265_ffmpeg_plugin) | [Maintainer: [gBillal](https://github.com/gBillal)] Membrane H265 decoder and encoder based on FFmpeg and x265 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_h265_ffmpeg_plugin.svg)](https://hex.pm/api/packages/membrane_h265_ffmpeg_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_h265_ffmpeg_plugin/) | | [elixir-turbojpeg](https://github.com/BinaryNoggin/elixir-turbojpeg) | [Maintainer: [BinaryNoggin](https://github.com/BinaryNoggin)] libjpeg-turbo bindings for Elixir | | | [membrane_subtitle_mixer_plugin](https://github.com/kim-company/membrane_subtitle_mixer_plugin) | [Maintainer: [kim-company](https://github.com/kim-company)] Membrane.Filter that uses CEA708 to merge subtitles directly in H264 packets. | |