• Stars
    star
    1,020
  • Rank 43,260 (Top 0.9 %)
  • Language
    Elixir
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The core of the Membrane Framework, advanced multimedia processing framework

Membrane Multimedia Framework

Hex.pm API Docs CircleCI

Multimedia processing framework that focuses on reliability, concurrency and scalability.

An easy to use abstraction layer for assembling mostly server-side applications that have to consume, produce or process multimedia streams.

It puts reliability over amount of features.

It is written in Elixir + C with outstanding Erlang VM underneath that gives us a rock solid and battle tested foundation.

Membrane Core

This package provides core of the Membrane Multimedia Framework.

Installation

Add the following line to your deps in mix.exs. Run mix deps.get.

{:membrane_core, "~> 0.11.0"}

Or, if you'd like to try the latest release candidate, use this version:

{:membrane_core, "~> 1.0.0-rc0"}

Getting started

To get familiar with basic concepts and build your first application using Membrane Framework, visit Membrane Guide.

API documentation is available at HexDocs.

Moreover, we would like to invite you to take some of the Membrane Tutorials, based on real-life use cases.

Contributing

Any contributions are more than welcome! You can help us improving Membrane by either contributing to the core (see opened issues), extending our guide or by creating new elements.

For more details see Contribution guide

Support and questions

If you have any problems with Membrane Framework feel free to contact us via membrane tag at Elixir forum, mailing list, Discord or via e-mail.

Copyright and License

Copyright 2018, Software Mansion

Software Mansion

Licensed under the Apache License, Version 2.0

More Repositories

1

membrane_demo

Some examples of using the Membrane Framework
JavaScript
146
star
2

beamchmark

Elixir tool for benchmarking EVM performance
Elixir
77
star
3

bundlex

Multiplatform app bundler tool for Elixir
Elixir
68
star
4

guide

Everything you need to know to get started with the Membrane Framework
Elixir
55
star
5

unifex

Tool for generating interfaces between native C code and Elixir
Elixir
54
star
6

membrane_rtc_engine

Customizable Real-time Communication Engine/SFU library focused on WebRTC.
Elixir
53
star
7

membrane_videoroom

HTML
44
star
8

video_compositor

Tool for real-time video processing / transforming / composing
Rust
33
star
9

react-native-membrane-webrtc

TypeScript
28
star
10

membrane_rtp_plugin

Membrane bins and elements for sending and receiving RTP/SRTP and RTCP/SRTCP streams
Elixir
22
star
11

membrane_webrtc_plugin

Elixir
18
star
12

webrtc-server

Signaling server for WebRTC
Elixir
17
star
13

bunch

A bunch of helper functions, intended to make life easier
Elixir
16
star
14

membrane_rtmp_plugin

Elixir
15
star
15

membrane_h264_ffmpeg_plugin

Membrane H264 parser, decoder and encoder based on FFmpeg and x264
Elixir
15
star
16

membrane_mp3_mad_plugin

Membrane MP3 decoder based on MAD.
Elixir
13
star
17

membrane_http_adaptive_stream_plugin

Plugin generating manifests for HLS (DASH support planned)
Elixir
11
star
18

membrane_libnice_plugin

Membrane plugin for ICE protocol
Elixir
11
star
19

membrane_h264_plugin

Membrane h264 parser
Elixir
11
star
20

membrane_video_compositor_plugin

Membrane plugin that accepts multiple video inputs, transforms them according to provided transformations and composes them into a single output video.
Elixir
9
star
21

membrane_tutorials

Repository which contains text and assets used in Membrane Framework tutorials.
8
star
22

ex_dtls

DTLS and DTLS-SRTP handshake library for Elixir, based on OpenSSL
Elixir
8
star
23

membrane_mp4_plugin

Utilities for MP4 container parsing and serialization and elements for muxing the stream to CMAF
Elixir
7
star
24

docker_membrane

A docker image based on Ubuntu, with Erlang, Elixir and libraries necessary to test and run the Membrane Framework.
Dockerfile
7
star
25

membrane_udp_plugin

Membrane plugin for sending and receiving UDP streams
Elixir
7
star
26

membrane_common_c

Membrane Multimedia Framework: Common C Routines
Elixir
7
star
27

shmex

Elixir bindings for shared memory
Elixir
6
star
28

membrane_dashboard

Elixir
6
star
29

membrane_file_plugin

Membrane plugin for reading and writing to files
Elixir
6
star
30

membrane_opus_plugin

Membrane Opus encoder and decoder
Elixir
5
star
31

ex_sdp

Parser and serializer for Session Description Protocol
Elixir
5
star
32

membrane_rtp_h264_plugin

Membrane RTP payloader and depayloader for H264
Elixir
5
star
33

ex_libnice

Libnice-based Interactive Connectivity Establishment (ICE) protocol support for Elixir
Elixir
5
star
34

membrane_rtsp

RTSP client for Elixir
Elixir
5
star
35

membrane_gigachad

Full power of Membrane in a single package
Elixir
5
star
36

membrane-webrtc-ios

Swift
4
star
37

membrane-webrtc-js

Official JS/TS client library for Membrane RTC Engine
TypeScript
4
star
38

membrane_portaudio_plugin

Raw audio retriever and player based on PortAudio
Elixir
4
star
39

membrane_camera_capture_plugin

A set of elements allowing for capturing local media such as camera or microphone
Elixir
4
star
40

membrane_sdl_plugin

Membrane video player based on SDL
Elixir
3
star
41

membrane_tee_plugin

Membrane plugin for splitting data from a single input to multiple outputs
Elixir
3
star
42

docker-bionic-membrane

A docker image based on Ubuntu, with Erlang, Elixir and libraries necessary to test and run the Membrane Framework
Dockerfile
3
star
43

membrane_mp3_lame_plugin

Membrane MP3 encoder based on Lame
Elixir
3
star
44

membrane_element_ibm_speech_to_text

Membrane plugin providing speech recognition via IBM Cloud Speech-to-Text service
Elixir
2
star
45

membrane_raw_audio_format

Raw audio format definition for the Membrane Multimedia Framework
Elixir
2
star
46

membrane_rtp_mpegaudio_plugin

Membrane RTP MPEG Audio depayloader
Elixir
2
star
47

membrane_audiometer_plugin

Elements for measuring the level of the audio stream
Elixir
2
star
48

membrane_ffmpeg_swresample_plugin

Plugin performing audio conversion, resampling and channel mixing, using SWResample module of FFmpeg library
Elixir
2
star
49

ex_m3u8

Elixir package for serializing and deserializing M3U8 manifests.
Elixir
2
star
50

membrane_webrtc_tutorial

Elixir
1
star
51

membrane_aac_fdk_plugin

Membrane AAC decoder and encoder based on FDK library
Elixir
1
star
52

membrane_audio_mix_plugin

Plugin providing an element mixing raw audio frames.
Elixir
1
star
53

membrane_matroska_plugin

Matroska muxer and demuxer
Elixir
1
star
54

membrane_ice_plugin

Elixir
1
star
55

membrane_telemetry_metrics

Membrane tool for generating metrics
Elixir
1
star
56

sebex

The ultimate assistant in Membrane Framework releasing & development
Python
1
star
57

membrane_template_plugin

Template for Membrane Elements
Elixir
1
star
58

membrane_fake_plugin

Fake Membrane sinks that drop incoming data
Elixir
1
star
59

membrane_opentelemetry

Elixir
1
star
60

membrane_stream_plugin

Elixir
1
star
61

elixirconf_livebook

1
star
62

membrane_scissors_plugin

Element for cutting off parts of the stream
Elixir
1
star
63

membrane-element-msdk-h264

Membrane element providing H264 encoder using IntelMediaSDK hardware acceleration
C++
1
star
64

membrane-element-mpegaudioparse

Element capable of parsing bytestream into MPEG audio frames
Elixir
1
star
65

membrane_raw_video_format

Membrane Multimedia Framework: Raw video format definition
Elixir
1
star
66

membrane_distributed_videoroom

Elixir
1
star
67

membrane-webrtc-android

Kotlin
1
star
68

membrane_timescaledb_reporter

Elixir
1
star
69

membrane_mpegaudio_format

MPEG audio format definition for Membrane Framework
Elixir
1
star
70

membrane_vp9_format

VP9 Membrane format
Elixir
1
star
71

membrane_wav_plugin

Plugin providing elements handling audio in WAV file format.
Elixir
1
star
72

membrane_pcap_plugin

Elixir
1
star