You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: get_started_with_membrane/01_introduction.md
+19-2Lines changed: 19 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,7 @@ Hello there, and a warm welcome to the Membrane tutorials. We're glad you chose
3
3
## What is Membrane?
4
4
5
5
Membrane is a multimedia processing framework that focuses on reliability, concurrency, and scalability. It is primarily written in Elixir, while some platform-specific or time-constrained parts are written in Rust C. With a range of existing packages and an easy-to-use interface for writing your own, Membrane can be used to process almost any type of multimedia, for example:
6
+
6
7
- stream via WebRTC, RTSP, RTMP, HLS, HTTP and other protocols,
7
8
- transcode, mix and apply custom processing of video & audio,
8
9
- accept and generate / record to MP4, MKV, FLV and other containers,
@@ -32,26 +33,42 @@ Apart from plugins, Membrane has stream formats, which live in `membrane_X_forma
32
33
33
34
**Core**
34
35
35
-
[Membrane Core](https://github.com/membraneframework/membrane_core) is the heart and soul of the Membrane Framework. It is written entirely in Elixir and provides the internal mechanisms and API that allow you to prepare processing elements and link them together in a convenient yet reliable way. Note that Membrane Core does not contain any multimedia-specific logic.
36
+
[Membrane Core](https://github.com/membraneframework/membrane_core) is the heart and soul of the Membrane Framework. It is written entirely in Elixir and provides the internal mechanisms and API that allow you to prepare processing elements and link them together in a convenient yet reliable way. Note that Membrane Core does not contain any multimedia-specific logic.
36
37
The documentation for the developer's API is available at [hexdocs](https://hexdocs.pm/membrane_core/readme.html).
37
38
38
39
**Standalone libraries**
39
40
40
-
Last but not least, Membrane provides tools and libraries that can be used standalone and don't depend on the `membrane_core`, for example, [video_compositor](https://github.com/membraneframework/video_compositor), [ex_sdp](https://github.com/membraneframework/ex_sdp) or [unifex](https://github.com/membraneframework/unifex).
41
+
Last but not least, Membrane provides tools and libraries that can be used standalone and don't depend on the `membrane_core`, for example, [bundlex](https://github.com/membraneframework/bundlex), [ex_sdp](https://github.com/membraneframework/ex_sdp) or [unifex](https://github.com/membraneframework/unifex).
42
+
43
+
## Supported platforms
44
+
45
+
Membrane was created and is being worked on mainly with UNIX-based operating
46
+
systems in mind - in most cases that means MacOS and Linux. When it comes to
47
+
Windows, if a project uses any native code, not just pure Elixir, we can't
48
+
guarantee it works correctly. To use Membrane on Windows we strongly
49
+
recommend using WSL (Windows Subsystem for Linux), which allows for running a
50
+
Linux environment on a Windows machine. If you wish to get more insight into
There are a number of resources available for learning about Membrane:
44
57
45
58
### This guide
59
+
46
60
The following sections in that guide will introduce the main concepts of creating Membrane elements and pipelines, without focusing on the specific details of multimedia processing.
47
61
48
62
### Demos
63
+
49
64
The [membrane_demo](https://github.com/membraneframework/membrane_demo) repository contains many projects, scripts and livebooks that cover different use cases of the framework. It's a good place to learn by example.
50
65
51
66
### Tutorials
67
+
52
68
For a step-by-step guide to implementing a specific system using Membrane, check out our [tutorials](https://membrane.stream/learn).
53
69
54
70
### Documentation
71
+
55
72
For more detailed information, you can refer to the Membrane Core documentation and the documentation for the Membrane packages maintained by the Membrane team, both of which can be accessed [here](https://hex.pm/orgs/membraneframework).
56
73
57
74
If you see something requiring improvement in this guide, feel free to create an issue or open a PR in the [membrane_tutorials](https://github.com/membraneframework/membrane_tutorials) repository.
0 commit comments