Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 23 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,41 @@ The simplest way to start using Membrane is via [Boombox](https://github.com/mem

In the subdirectories of this repository you can find the following examples of using Membrane:

### Basics

- [simple_element](https://github.com/membraneframework/membrane_demo/tree/master/simple_element) - an example of a simple Membrane's element capable of counting the incoming buffers
- [simple_pipeline](https://github.com/membraneframework/membrane_demo/tree/master/simple_pipeline) - an example of a Membrane's pipeline playing an mp3 file
- [messages_source_and_sink](https://github.com/membraneframework/membrane_demo/tree/master/messages_source_and_sink) - send and receive media from the pipeline via Elixir messages
- [playing_mp3_file](https://github.com/membraneframework/membrane_demo/tree/master/playing_mp3_file) - play an mp3 file in a Livebook cell

### Audio

- [mix_audio](https://github.com/membraneframework/membrane_demo/tree/master/mix_audio) - script that mixes two audio tracks into a single AAC file
- [audio_mixer](https://github.com/membraneframework/membrane_demo/tree/master/audio_mixer) - mix a beep sound into background music
- [soundwave](https://github.com/membraneframework/membrane_demo/tree/master/soundwave) - plot live audio amplitude on a graph

### Streaming protocols

- [camera_to_hls](https://github.com/membraneframework/membrane_demo/tree/master/camera_to_hls) - a demonstration of capturing camera output and converting it to an HLS stream
- [camera_to_hls_nerves](https://github.com/membraneframework/membrane_demo/tree/master/camera_to_hls_nerves) - a demonstration of capturing video from a camera module on Raspberry Pi running Nerves and broadcasting it to a browser via HLS
- [rtmp](https://github.com/membraneframework/membrane_demo/tree/master/rtmp) - send and receive RTMP stream
- [rtmp_to_hls](https://github.com/membraneframework/membrane_demo/tree/master/rtmp_to_hls) - receiving RTMP stream and broadcasting it via HLS
- [rtmp_to_adaptive_hls](https://github.com/membraneframework/membrane_demo/tree/master/rtmp_to_adaptive_hls) - receiving RTMP stream and broadcasting via multi-bitrate adaptive HLS
- [rtp](https://github.com/membraneframework/membrane_demo/tree/master/rtp) - sending and receiving RTP/SRTP stream
- [rtp_to_hls](https://github.com/membraneframework/membrane_demo/tree/master/rtp_to_hls) - receiving RTP stream and broadcasting it via HLS
- [rtsp_to_hls](https://github.com/membraneframework/membrane_demo/tree/master/rtsp_to_hls) - receiving RTSP stream and converting it to HLS
- [webrtc_live_view](https://github.com/membraneframework/membrane_demo/tree/master/webrtc_live_view) - send and receive WebRTC streams from a Phoenix LiveView app

### AI

Also, there are some [Livebook](https://livebook.dev) examples located in [livebooks](https://github.com/membraneframework/membrane_demo/tree/master/livebooks) directory:
- [openai_realtime_with_membrane_webrtc](https://github.com/membraneframework/membrane_demo/tree/master/openai_realtime_with_membrane_webrtc) - conversation with AI via browser using [OpenAI Realtime API](https://openai.com/index/introducing-the-realtime-api/)
- [speech_to_text](https://github.com/membraneframework/membrane_demo/tree/master/speech_to_text) - real-time speech recognition using [Whisper](https://github.com/openai/whisper)
- [style_transfer](https://github.com/membraneframework/membrane_demo/tree/master/style_transfer) - real-time neural style transfer on a camera stream
- [talk_with_gemini](https://github.com/membraneframework/membrane_demo/tree/master/talk_with_gemini) - low-latency voice conversation with Google's Gemini Live API
- [whisper](https://github.com/membraneframework/membrane_demo/tree/master/whisper) - real-time audio transcription with OpenAI's Whisper via Bumblebee
- [yolo](https://github.com/membraneframework/membrane_demo/tree/master/yolo) - real-time object detection on video with YOLO

- [openai_realtime_with_membrane_webrtc](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/openai_realtime_with_membrane_webrtc) - conversation with AI via browser using [OpenAI Realtime API](https://openai.com/index/introducing-the-realtime-api/)
- [speech_to_text](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/speech_to_text) - real-time speech recognition using [Whisper](https://github.com/openai/whisper)
- [audio_mixer](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/audio_mixer) - mix a beep sound into background music
- [messages_source_and_sink](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/messages_source_and_sink) - send and receive media from the pipeline via Elixir messages
- [playing_mp3_file](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/playing_mp3_file) - play an mp3 file in a Livebook cell
- [rtmp](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/rtmp) - send and receive RTMP stream
- [soundwave](https://github.com/membraneframework/membrane_demo/tree/master/livebooks/soundwave) - plot live audio amplitude on a graph
Many of the demos use [Livebook](https://livebook.dev) - install it to run them.

## Authors

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading