Skip to content

Commit 5d06e63

Browse files
committed
Add searching through all packages
1 parent 22ae559 commit 5d06e63

File tree

5 files changed

+158
-147
lines changed

5 files changed

+158
-147
lines changed

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,6 @@ If you have any questions regarding Membrane Framework or need consulting, feel
171171
| [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/) |
172172
| [membrane_http_adaptive_stream_plugin](https://github.com/membraneframework/membrane_http_adaptive_stream_plugin) | Plugin generating manifests for HLS | [![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/) |
173173
| [membrane_srt_plugin](https://github.com/membraneframework/membrane_srt_plugin) | | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_srt_plugin.svg)](https://hex.pm/api/packages/membrane_srt_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_srt_plugin/) |
174-
| [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/) |
175174
| [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/) |
176175
| [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/) |
177176
| [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/) |
@@ -183,7 +182,6 @@ If you have any questions regarding Membrane Framework or need consulting, feel
183182
| [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/) |
184183
| [membrane_rtp_g711_plugin](https://github.com/membraneframework/membrane_rtp_g711_plugin) | 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/) |
185184
| [membrane_rtsp_plugin](https://github.com/gBillal/membrane_rtsp_plugin) | [Maintainer: [gBillal](https://github.com/gBillal)] Simplify connecting to RTSP server | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtsp_plugin.svg)](https://hex.pm/api/packages/membrane_rtsp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtsp_plugin/) |
186-
| [membrane_quic_plugin](https://github.com/mickel8/membrane_quic_plugin) | [Maintainer: [mickel8](https://github.com/mickel8)] | |
187185
| [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 | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_mpeg_ts_plugin.svg)](https://hex.pm/api/packages/membrane_mpeg_ts_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_mpeg_ts_plugin/) |
188186
| [membrane_hls_plugin](https://github.com/kim-company/membrane_hls_plugin) | [Maintainer: [kim-company](https://github.com/kim-company)] Adaptive live streaming plugin (HLS) for the Membrane Framework | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_hls_plugin.svg)](https://hex.pm/api/packages/membrane_hls_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_hls_plugin/) |
189187

guides/packages/03_Plugins | Streaming protocols.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ Plugin generating manifests for HLS
1818

1919
[![Hex.pm](https://img.shields.io/hexpm/v/membrane_srt_plugin.svg)](https://hex.pm/api/packages/membrane_srt_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_srt_plugin/) [![GitHub](https://img.shields.io/badge/github-code-white.svg?logo=github)](https://github.com/membraneframework/membrane_srt_plugin)
2020

21-
## membrane_ice_plugin
22-
[Maintainer: [fishjam-dev](https://github.com/fishjam-dev)] Membrane plugin for ICE protocol
23-
24-
[![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/) [![GitHub](https://img.shields.io/badge/github-code-white.svg?logo=github)](https://github.com/fishjam-dev/membrane_ice_plugin)
25-
2621
## membrane_udp_plugin
2722
Membrane plugin for sending and receiving UDP streams
2823

@@ -78,11 +73,6 @@ Membrane RTP payloader and depayloader for G711 audio
7873

7974
[![Hex.pm](https://img.shields.io/hexpm/v/membrane_rtsp_plugin.svg)](https://hex.pm/api/packages/membrane_rtsp_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_rtsp_plugin/) [![GitHub](https://img.shields.io/badge/github-code-white.svg?logo=github)](https://github.com/gBillal/membrane_rtsp_plugin)
8075

81-
## membrane_quic_plugin
82-
[Maintainer: [mickel8](https://github.com/mickel8)]
83-
84-
[![GitHub](https://img.shields.io/badge/github-code-white.svg?logo=github)](https://github.com/mickel8/membrane_quic_plugin)
85-
8676
## membrane_mpeg_ts_plugin
8777
[Maintainer: [kim-company](https://github.com/kim-company)] Membrane.Filter that demuxes MPEG-TS streams
8878

mix.exs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,17 @@ defmodule Membrane.Mixfile do
5959
defp docs do
6060
[
6161
main: "readme",
62+
search: [
63+
%{
64+
name: "Ecosystem",
65+
help: "Search all packages in our ecosystem - listed in the README or the docs",
66+
packages: packages_in_ecosystem()
67+
},
68+
%{
69+
name: "Core",
70+
help: "Search only membrane core"
71+
}
72+
],
6273
extras: extras(),
6374
formatters: ["html"],
6475
logo: "assets/logo.svg",
@@ -93,6 +104,14 @@ defmodule Membrane.Mixfile do
93104
]
94105
end
95106

107+
defp packages_in_ecosystem do
108+
{packages, _bindings} = Code.eval_file("scripts/elixir/packages.exs")
109+
110+
packages
111+
|> Enum.reject(&is_tuple(&1))
112+
|> Enum.map(&String.to_atom/1)
113+
end
114+
96115
defp extras do
97116
[
98117
"README.md",

scripts/elixir/packages.exs

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# Packages in the membrane ecosystem and their categories
2+
[
3+
{:md, "### General"},
4+
"membrane_sdk",
5+
"membrane_core",
6+
"membrane_rtc_engine",
7+
"kino_membrane",
8+
"docker_membrane",
9+
"membrane_demo",
10+
"membrane_tutorials",
11+
"boombox",
12+
{:md, "### Plugins"},
13+
{:md, "#### General purpose"},
14+
"membrane_file_plugin",
15+
"membrane_hackney_plugin",
16+
"membrane_scissors_plugin",
17+
"membrane_tee_plugin",
18+
"membrane_funnel_plugin",
19+
"membrane_realtimer_plugin",
20+
"membrane_stream_plugin",
21+
"membrane_fake_plugin",
22+
"membrane_pcap_plugin",
23+
"membrane_transcoder_plugin",
24+
"membrane_generator_plugin",
25+
"kim-company/membrane_live_framerate_converter_plugin",
26+
"membrane_template_plugin",
27+
{:md, "#### Streaming protocols"},
28+
"membrane_webrtc_plugin",
29+
"membrane_rtmp_plugin",
30+
"membrane_http_adaptive_stream_plugin",
31+
"membrane_srt_plugin",
32+
"membrane_udp_plugin",
33+
"membrane_tcp_plugin",
34+
"membrane_rtp_plugin",
35+
"membrane_rtp_h264_plugin",
36+
"membrane_rtp_aac_plugin",
37+
"membrane_rtp_vp8_plugin",
38+
"membrane_rtp_vp9_plugin",
39+
"membrane_rtp_mpegaudio_plugin",
40+
"membrane_rtp_opus_plugin",
41+
"membrane_rtp_g711_plugin",
42+
"gBillal/membrane_rtsp_plugin",
43+
"kim-company/membrane_mpeg_ts_plugin",
44+
"kim-company/membrane_hls_plugin",
45+
{:md, "#### Containers"},
46+
"membrane_mp4_plugin",
47+
"membrane_matroska_plugin",
48+
"membrane_flv_plugin",
49+
"membrane_ivf_plugin",
50+
"membrane_ogg_plugin",
51+
{:md, "#### Audio codecs"},
52+
"membrane_aac_plugin",
53+
"membrane_aac_fdk_plugin",
54+
"membrane_flac_plugin",
55+
"membrane_mp3_lame_plugin",
56+
"membrane_mp3_mad_plugin",
57+
"membrane_opus_plugin",
58+
"membrane_wav_plugin",
59+
"membrane_g711_plugin",
60+
"membrane_g711_ffmpeg_plugin",
61+
{:md, "#### Video codecs"},
62+
"membrane_h26x_plugin",
63+
"membrane_h264_ffmpeg_plugin",
64+
"membrane_vpx_plugin",
65+
"membrane_abr_transcoder_plugin",
66+
"gBillal/membrane_h265_ffmpeg_plugin",
67+
"binarynoggin/elixir-turbojpeg",
68+
"kim-company/membrane_subtitle_mixer_plugin",
69+
{:md, "#### Raw audio"},
70+
"membrane_raw_audio_parser_plugin",
71+
"membrane_portaudio_plugin",
72+
"membrane_audio_mix_plugin",
73+
"membrane_audio_filler_plugin",
74+
"membrane_ffmpeg_swresample_plugin",
75+
"membrane_audiometer_plugin",
76+
{:md, "#### Raw video"},
77+
"membrane_raw_video_parser_plugin",
78+
"membrane_video_merger_plugin",
79+
"membrane_smelter_plugin",
80+
"membrane_camera_capture_plugin",
81+
"membrane_rpicam_plugin",
82+
"membrane_framerate_converter_plugin",
83+
"membrane_sdl_plugin",
84+
"membrane_overlay_plugin",
85+
"membrane_ffmpeg_swscale_plugin",
86+
"membrane_ffmpeg_video_filter_plugin",
87+
"kim-company/membrane_video_mixer_plugin",
88+
{:md, "#### External APIs"},
89+
"membrane_aws_plugin",
90+
"membrane_agora_plugin",
91+
"membrane_webrtc_live",
92+
"membrane_element_gcloud_speech_to_text",
93+
"membrane_element_ibm_speech_to_text",
94+
"YuzuTen/membrane_s3_plugin",
95+
"lawik/membrane_transcription",
96+
{:md, "### Formats"},
97+
"membrane_rtp_format",
98+
"membrane_cmaf_format",
99+
"membrane_matroska_format",
100+
"membrane_mp4_format",
101+
"membrane_raw_audio_format",
102+
"membrane_raw_video_format",
103+
"membrane_aac_format",
104+
"membrane_opus_format",
105+
"membrane_flac_format",
106+
"membrane_mpegaudio_format",
107+
"membrane_h264_format",
108+
"membrane_vp8_format",
109+
"membrane_vp9_format",
110+
"membrane_g711_format",
111+
"gBillal/membrane_h265_format",
112+
{:md, "### Standalone media libs"},
113+
"elixir-webrtc/ex_webrtc",
114+
"ex_sdp",
115+
"ex_libnice",
116+
"ex_libsrtp",
117+
"ex_m3u8",
118+
"ex_hls",
119+
"ex_libsrt",
120+
"membrane_rtsp",
121+
"membrane_ffmpeg_generator",
122+
{:md, "### Utils"},
123+
"unifex",
124+
"bundlex",
125+
"beamchmark",
126+
"bunch",
127+
"bunch_native",
128+
"shmex",
129+
"membrane_timestamp_queue",
130+
"membrane_common_c",
131+
"membrane_telemetry_metrics",
132+
"membrane_opentelemetry",
133+
"membrane_precompiled_dependency_provider"
134+
]

scripts/elixir/update_packages_list.exs

Lines changed: 5 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -2,141 +2,10 @@ Mix.install([{:req, "~> 0.4.0"}])
22

33
require Logger
44

5-
# define packages structure
5+
{packages, _bindings} = Code.eval_file("packages.exs", __DIR__)
6+
67
packages =
7-
[
8-
{:md, "### General"},
9-
"membrane_sdk",
10-
"membrane_core",
11-
"membrane_rtc_engine",
12-
"kino_membrane",
13-
"docker_membrane",
14-
"membrane_demo",
15-
"membrane_tutorials",
16-
"boombox",
17-
{:md, "### Plugins"},
18-
{:md, "#### General purpose"},
19-
"membrane_file_plugin",
20-
"membrane_hackney_plugin",
21-
"membrane_scissors_plugin",
22-
"membrane_tee_plugin",
23-
"membrane_funnel_plugin",
24-
"membrane_realtimer_plugin",
25-
"membrane_stream_plugin",
26-
"membrane_fake_plugin",
27-
"membrane_pcap_plugin",
28-
"membrane_transcoder_plugin",
29-
"membrane_generator_plugin",
30-
"kim-company/membrane_live_framerate_converter_plugin",
31-
"membrane_template_plugin",
32-
{:md, "#### Streaming protocols"},
33-
"membrane_webrtc_plugin",
34-
"membrane_rtmp_plugin",
35-
"membrane_http_adaptive_stream_plugin",
36-
"membrane_srt_plugin",
37-
"membrane_udp_plugin",
38-
"membrane_tcp_plugin",
39-
"membrane_rtp_plugin",
40-
"membrane_rtp_h264_plugin",
41-
"membrane_rtp_aac_plugin",
42-
"membrane_rtp_vp8_plugin",
43-
"membrane_rtp_vp9_plugin",
44-
"membrane_rtp_mpegaudio_plugin",
45-
"membrane_rtp_opus_plugin",
46-
"membrane_rtp_g711_plugin",
47-
"gBillal/membrane_rtsp_plugin",
48-
"kim-company/membrane_mpeg_ts_plugin",
49-
"kim-company/membrane_hls_plugin",
50-
{:md, "#### Containers"},
51-
"membrane_mp4_plugin",
52-
"membrane_matroska_plugin",
53-
"membrane_flv_plugin",
54-
"membrane_ivf_plugin",
55-
"membrane_ogg_plugin",
56-
{:md, "#### Audio codecs"},
57-
"membrane_aac_plugin",
58-
"membrane_aac_fdk_plugin",
59-
"membrane_flac_plugin",
60-
"membrane_mp3_lame_plugin",
61-
"membrane_mp3_mad_plugin",
62-
"membrane_opus_plugin",
63-
"membrane_wav_plugin",
64-
"membrane_g711_plugin",
65-
"membrane_g711_ffmpeg_plugin",
66-
{:md, "#### Video codecs"},
67-
"membrane_h26x_plugin",
68-
"membrane_h264_ffmpeg_plugin",
69-
"membrane_vpx_plugin",
70-
"membrane_abr_transcoder_plugin",
71-
"gBillal/membrane_h265_ffmpeg_plugin",
72-
"binarynoggin/elixir-turbojpeg",
73-
"kim-company/membrane_subtitle_mixer_plugin",
74-
{:md, "#### Raw audio"},
75-
"membrane_raw_audio_parser_plugin",
76-
"membrane_portaudio_plugin",
77-
"membrane_audio_mix_plugin",
78-
"membrane_audio_filler_plugin",
79-
"membrane_ffmpeg_swresample_plugin",
80-
"membrane_audiometer_plugin",
81-
{:md, "#### Raw video"},
82-
"membrane_raw_video_parser_plugin",
83-
"membrane_video_merger_plugin",
84-
"membrane_smelter_plugin",
85-
"membrane_camera_capture_plugin",
86-
"membrane_rpicam_plugin",
87-
"membrane_framerate_converter_plugin",
88-
"membrane_sdl_plugin",
89-
"membrane_overlay_plugin",
90-
"membrane_ffmpeg_swscale_plugin",
91-
"membrane_ffmpeg_video_filter_plugin",
92-
"kim-company/membrane_video_mixer_plugin",
93-
{:md, "#### External APIs"},
94-
"membrane_aws_plugin",
95-
"membrane_agora_plugin",
96-
"membrane_webrtc_live",
97-
"membrane_element_gcloud_speech_to_text",
98-
"membrane_element_ibm_speech_to_text",
99-
"YuzuTen/membrane_s3_plugin",
100-
"lawik/membrane_transcription",
101-
{:md, "### Formats"},
102-
"membrane_rtp_format",
103-
"membrane_cmaf_format",
104-
"membrane_matroska_format",
105-
"membrane_mp4_format",
106-
"membrane_raw_audio_format",
107-
"membrane_raw_video_format",
108-
"membrane_aac_format",
109-
"membrane_opus_format",
110-
"membrane_flac_format",
111-
"membrane_mpegaudio_format",
112-
"membrane_h264_format",
113-
"membrane_vp8_format",
114-
"membrane_vp9_format",
115-
"membrane_g711_format",
116-
"gBillal/membrane_h265_format",
117-
{:md, "### Standalone media libs"},
118-
"elixir-webrtc/ex_webrtc",
119-
"ex_sdp",
120-
"ex_libnice",
121-
"ex_libsrtp",
122-
"ex_m3u8",
123-
"ex_hls",
124-
"ex_libsrt",
125-
"membrane_rtsp",
126-
"membrane_ffmpeg_generator",
127-
{:md, "### Utils"},
128-
"unifex",
129-
"bundlex",
130-
"beamchmark",
131-
"bunch",
132-
"bunch_native",
133-
"shmex",
134-
"membrane_timestamp_queue",
135-
"membrane_common_c",
136-
"membrane_telemetry_metrics",
137-
"membrane_opentelemetry",
138-
"membrane_precompiled_dependency_provider"
139-
]
8+
packages
1409
|> Enum.map(fn
14110
{:md, markdown} ->
14211
%{type: :markdown, content: markdown}
@@ -202,7 +71,8 @@ packages_blacklist = [
20271
".github",
20372
"membraneframework.github.io",
20473
"membrane_rtc_engine_timescaledb",
205-
"github_actions_test"
74+
"github_actions_test",
75+
"membrane_ice_plugin"
20676
]
20777

20878
lacking_repos =

0 commit comments

Comments
 (0)