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
2 changes: 1 addition & 1 deletion basic_pipeline/11_Pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,4 @@ In case of any problems you can refer to the code on the `template/end` branch o

Now our solution is completed. You have acquired a basic understanding of Membrane, and you can implement a simple pipeline using elements.

If you wish to extend your knowledge of Membrane's concepts we encourage you to read the [extension to this tutorial](../basic_pipeline_extension/01_Introduction.md).
If you wish to extend your knowledge of Membrane's concepts we encourage you to read the next chapters. There you'll learn about some abstractions and concepts that are useful for creating solutions that are more scalable and maintainable.
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,4 @@ defmodule Basic.Pipeline do
end
```

Combining the usage of the bin and [dynamic pads](03_DynamicPads.md) will result in an even cleaner and more scalable solution.
Combining the usage of the bin and [dynamic pads](13_DynamicPads.md) will result in an even cleaner and more scalable solution.
Original file line number Diff line number Diff line change
Expand Up @@ -121,4 +121,4 @@ As you can see, we have created two `:input` pads: `:first` and `:second`. While

As an exercise, you can try to modify the `lib/pipeline.ex` file and define a pipeline consisting of three parallel branches, being mixed in a single Mixer. Later on, you can check if the pipeline works as expected, by generating the input files out of the conversation in which participate three speakers.

If you combine the approach taken in the chapter about [Bin](02_Bin.md) you can simplify this solution by reducing the size of the link defintions inside the pipeline.
If you combine the approach taken in the chapter about [Bin](12_Bin.md) you can simplify this solution by reducing the size of the link defintions inside the pipeline.
File renamed without changes.
5 changes: 4 additions & 1 deletion basic_pipeline/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: All you need to know about pipelines pt 1
title: All you need to know about pipelines
description: >-
See how pipeline works in Membrane and learn how to set it up for you
part: 2
Expand All @@ -19,3 +19,6 @@ graphicPath: assets/images/Illo_basic pipeline.png
| 9 | Mixer | 09_Mixer.md |
| 10 | Sink | 10_Sink.md |
| 11 | Pipeline | 11_Pipeline.md |
| 12 | Bin | 12_Bin.md |
| 13 | Dynamic Pads | 13_DynamicPads.md |
| 14 | Tests | 14_Tests.md |
9 changes: 0 additions & 9 deletions basic_pipeline_extension/01_Introduction.md

This file was deleted.

This file was deleted.

Binary file not shown.
Binary file not shown.
14 changes: 0 additions & 14 deletions basic_pipeline_extension/index.md

This file was deleted.

4 changes: 2 additions & 2 deletions broadcasting/05_RTMP_Pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ First, we define the list of children. The following children are defined:
- `:muxer_segment_duration` - the maximal duration of a segment. Each segment of each track shouldn't exceed that value. In our case, we have decided to limit the length of each segment to 8 seconds.
- `:storage` - the sink element, the module responsible for writing down the HLS playlist and manifest files. In our case, we use a pre-implemented `Membrane.HTTPAdaptiveStream.FileStorage` module, designed to write the files to the local filesystem. We configure it so that the directory where the files will be put in the `output/` directory (make sure that that directory exists as the storage module won't create it itself).

The fact that the configuration of a pipeline, which performs relatively complex processing, consists of just two elements, proves the power of [bins](/basic_pipeline_extension/02_Bin.md). Feel free to stop for a moment and read about them if you haven't done it yet.
The fact that the configuration of a pipeline, which performs relatively complex processing, consists of just two elements, proves the power of [bins](/basic_pipeline/12_Bin.md). Feel free to stop for a moment and read about them if you haven't done it yet.

After providing the children's specifications, we are ready to connect the pads between these children. Take a look at that part of the code:
**_`lib/rtmp_to_hls/pipeline.ex`_**
Expand All @@ -56,7 +56,7 @@ After providing the children's specifications, we are ready to connect the pads
end
```

The structure of links reflects the desired architecture of the application, described in the [chapter about system architecture](../videoroom/3_SystemArchitecture.md).
The structure of links reflects the desired architecture of the application.
`:src` has two output pads: the `:audio` pad and the `:video` pad, transferring the appropriate media tracks.
The source's `:audio` pad is linked to the input `:audio` pad of the sink - along with the `:encoding` option. That option is an atom, describing the codec which is used to encode the media data - when it comes to audio data,
we will be using AAC coded.
Expand Down
2 changes: 1 addition & 1 deletion broadcasting/11_RTSP_Pipeline.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
As explained in the [Architecture chapter](07_RTSP_Architecture.md), the pipeline will consist of a couple of elements, that will be processing the RTP stream.
As explained in the [Architecture chapter](08_RTSP_Architecture.md), the pipeline will consist of a couple of elements, that will be processing the RTP stream.

The flow of the pipeline will consist of three steps. First, when the pipeline is initialized we will start the Connection Manager, which will set up the RTP stream via the RTSP.
Once that is finished, we will set up two initial elements in the pipeline - the `UDP Source` and `RTP SessionBin`, which will allow us to receive RTP packets and process them.
Expand Down
4 changes: 2 additions & 2 deletions broadcasting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Membrane broadcasting tutorial
description: >-
Create your own media broadcasting solution!
part: 8
part: 7
---

| number | title | file |
Expand All @@ -19,4 +19,4 @@ part: 8
| 10 | Connection manager | 10_ConnectionManager.md |
| 11 | RTSP to HLS - pipeline | 11_RTSP_Pipeline.md |
| 12 | Summary | 12_Summary.md |
| 13 | (Suplement) H264 codec | 13_H264_codec.md |
| 13 | (Suplement) H264 codec | 13_H264_codec.md |
2 changes: 1 addition & 1 deletion create_new_plugin/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: How to create your own plugin
description: >-
In this short guide we provide you with an overview of how to create your own Membrane plugin and how to integrate it into your project.
part: 4
part: 3
graphicPath: assets/images/Illo_create new plugin.png
---

Expand Down
2 changes: 1 addition & 1 deletion digital_video_introduction/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Digital Video Introduction
description: >-
All you need to know to understand digital video. Written by Leonardo Moreira.
part: 6
part: 5
graphicPath: assets/images/Illo_ digital video introduction.png
---

Expand Down
2 changes: 1 addition & 1 deletion glossary/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- #### **Packet**
It is a formatted unit of data transmitted over the network. To send data over the network it has to be fragmented into packets, which size is limited by [MTU(Maximum Transfer Unit)](https://en.wikipedia.org/wiki/Maximum_transmission_unit) - 1500 bytes when using [Ethernet](https://en.wikipedia.org/wiki/Ethernet_frame).
- #### **Frame**
'Frame' can refer to either [network frame](<https://en.wikipedia.org/wiki/Frame_(networking)>) or **media frame**, which is a basic data unit used by media coding formats. In particular, one media frame can represent a single image in a video.
'Frame' can refer to either [network frame](https://en.wikipedia.org/wiki/Frame_(networking)) or **media frame**, which is a basic data unit used by media coding formats. In particular, one media frame can represent a single image in a video.
- #### **Track**
A media track is equivalent to a single audio or video stream.
- #### **Simulcast**
Expand Down
2 changes: 1 addition & 1 deletion glossary/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Glossary
description: Set of terms we're using in our tutorials you might want to learn more about.
part: 7
part: 6
graphicPath: assets/images/Illo_glossary.png
---

Expand Down
2 changes: 1 addition & 1 deletion h264/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: H264 - what, why and how

description: In this tutorial we will describe what is H264, why to use it and how to fetch interesting information from the H264 stream
part: 9
part: 8
graphicPath:
---

Expand Down