From c6b09d28ae12939426c82d8d20c3974347712bb2 Mon Sep 17 00:00:00 2001 From: noarkhh Date: Wed, 22 Oct 2025 14:06:00 +0200 Subject: [PATCH 1/3] Tutorials update WIP --- ...rchitecture.md => 03_RTMP_Architecture.md} | 0 ...TheDemo.md => 04_RTMP_Running_The_Demo.md} | 0 broadcasting/08_RTSP_Architecture.md | 27 +++---- ...ingDemo.md => 09_RTSP_Running_The_Demo.md} | 40 ++++------ broadcasting/10_ConnectionManager.md | 71 ------------------ broadcasting/11_RTSP_Pipeline.md | 70 +++++++++-------- broadcasting/assets/rtsp_pipeline.drawio.png | Bin 148245 -> 59284 bytes 7 files changed, 68 insertions(+), 140 deletions(-) rename broadcasting/{03_RTMP_SystemArchitecture.md => 03_RTMP_Architecture.md} (100%) rename broadcasting/{04_RTMP_RunningTheDemo.md => 04_RTMP_Running_The_Demo.md} (100%) rename broadcasting/{09_RTSP_RunningDemo.md => 09_RTSP_Running_The_Demo.md} (51%) delete mode 100644 broadcasting/10_ConnectionManager.md diff --git a/broadcasting/03_RTMP_SystemArchitecture.md b/broadcasting/03_RTMP_Architecture.md similarity index 100% rename from broadcasting/03_RTMP_SystemArchitecture.md rename to broadcasting/03_RTMP_Architecture.md diff --git a/broadcasting/04_RTMP_RunningTheDemo.md b/broadcasting/04_RTMP_Running_The_Demo.md similarity index 100% rename from broadcasting/04_RTMP_RunningTheDemo.md rename to broadcasting/04_RTMP_Running_The_Demo.md diff --git a/broadcasting/08_RTSP_Architecture.md b/broadcasting/08_RTSP_Architecture.md index d4fdaa2..97068db 100644 --- a/broadcasting/08_RTSP_Architecture.md +++ b/broadcasting/08_RTSP_Architecture.md @@ -1,17 +1,15 @@ # Architecture Now let's discuss how the architecture of our solution will look like. -It will be a little different from the RTMP to HLS architecture. -The main component will be the pipeline, which will ingest RTP stream and convert it to HLS. Beyond that we will also need a Connection Manager, which will be responsible for establishing an RTSP connection with the server. +It will be a little different from the RTMP to HLS architecture. In most cases communication with a RTSP server is split into two phases: -![image](assets/rtsp_architecture.drawio.png) +- Negotiation of the stream parameters over RTSP. +- Receiving RTP stream(s) that the client and server have agreed upon. -When initializing, the pipeline will start a Connection Manager which starts an RTSP connection with the server. Once the connection is fully established, the pipeline will be notified. +Both of these phases are handled by RTSP Source. Let's take a closer look how each of them folds out: -Let's take a closer look on each of those components: - -## Connection Manager -The role of the connection manager is to initialize RTSP session and start playing the stream. +## Establishing the connection +When establishing a connection the source will act as a connection manager, initializing the RTSP session and starting the stream playback. It communicates with the server using the [RTSP requests](https://antmedia.io/rtsp-explained-what-is-rtsp-how-it-works/#RTSP_requests). In fact, we won't need many requests to start playing the stream - take a look at the desired message flow: ![image](assets/connection_manager.drawio.png) @@ -20,18 +18,21 @@ First we want to get the details of the video we will be playing, by sending the Then we call the `SETUP` method, defining the transport protocol (RTP) and client port used for receiving the stream. Now we can start the stream using `PLAY` method. -## Pipeline +## Receiving the stream -The pipeline consists of a couple elements, each of them performing a specific media processing task. You can definitely notice some similarities to the pipeline described in the [RTMP architecture](02_RTMP_Introduction.md). However, we will only be processing video so only the video processing elements will be necessary. +The source is a bin containing a few elements, each of them performing a specific media processing task. You can definitely notice some similarities to the pipeline described in the [RTMP architecture](02_RTMP_Introduction.md). However, we will only be processing video so only the video processing elements will be necessary. ![image](assets/rtsp_pipeline.drawio.png) -We have already used the, `H264 Parser`, `MP4 H264 Payloader`, `CMAF Muxer` and `HLS Sink` elements in the RTMP pipeline, take a look at the [RTMP to HLS architecture](03_RTMP_SystemArchitecture.md) chapter for details of the purpose of those elements. +We have already used the, `H264 Parser` and `HLS Sink Bin` elements in the RTMP pipeline, take a look at the [RTMP to HLS architecture](03_RTMP_SystemArchitecture.md) chapter for details of the purpose of those elements. Let us describe briefly what is the purpose of the other components: ### UDP Source This element is quite simple - it receives UDP packets from the network and sends their payloads to the next element. -### RTP SessionBin -RTP SessionBin is a Membrane's Bin, which is a Membrane's container used for creating reusable groups of elements. In our case the Bin handles the RTP session with the server, which has been set up by the Connection Manager. +### RTP Demuxer +This element is responsible for getting media packets out of the RTP packets they were transported in and routing them according to their [SSRC](https://datatracker.ietf.org/doc/html/rfc3550#section-3). In our case we only receive a single video stream, so only one output will be used. + +### RTP H264 Depayloader +When transporting H264 streams over RTP they need to be split into chunks and have some additional metadata included. This element's role is to unpack the RTP packets it receives from the Demuxer into a pure H264 stream that can be processed further. diff --git a/broadcasting/09_RTSP_RunningDemo.md b/broadcasting/09_RTSP_Running_The_Demo.md similarity index 51% rename from broadcasting/09_RTSP_RunningDemo.md rename to broadcasting/09_RTSP_Running_The_Demo.md index 2b60920..6f5c617 100644 --- a/broadcasting/09_RTSP_RunningDemo.md +++ b/broadcasting/09_RTSP_Running_The_Demo.md @@ -1,53 +1,43 @@ In the tutorial we won't explain how to implement the solution from the ground up - instead, we will run the existing code from [Membrane demos](https://github.com/membraneframework/membrane_demo). To run the RTSP to HLS converter first clone the demos repo: -```console +```bash git clone https://github.com/membraneframework/membrane_demo.git ``` -```console +```bash cd membrane_demo/rtsp_to_hls ``` Install the dependencies -```console +```bash mix deps.get ``` -Make sure you have those libraries installed as well: -- gcc -- libc-dev -- ffmpeg - -On ubuntu: -```console -apt-get install gcc libc-dev ffmpeg -``` - Take a look inside the `lib/application.ex` file. It's responsible for starting the pipeline. We need to give a few arguments to the pipeline: ```elixir -@rtsp_stream_url "rtsp://rtsp.membrane.work:554/testsrc.264" -@output_path "hls_output" -@rtp_port 20000 +rtsp_stream_url = "rtsp://localhost:30001" +output_path = "hls_output" +rtp_port = 20000 ``` -The `@output_path` attribute defines the storage directory for hls files and the `@rtp_port` defines on which port we will be expecting the rtp stream, once the RTSP connection is established. +The `output_path` attribute defines the storage directory for hls files and the `rtp_port` defines on which port we will be expecting the rtp stream, once the RTSP connection is established. -The `@rtsp_stream_url` attribute contains the address of the stream, which we will be converting. It is a sample stream prepared for the purpose of the demo. +The `rtsp_stream_url` attribute contains the address of the stream, which we will be converting. If you want to receive a stream from some accessible RTSP server, you can pass it's URL here. In this demo we'll run our own, simple server: + +```bash +mix run server.exs +``` Now we can start the application: -```console +```bash mix run --no-halt ``` -The pipeline will start playing, after a couple of seconds the HLS files should appear in the `@output_path` directory. In order to play the stream we need to first serve them. We can do it using simple python server. - -```console -python3 -m http.server 8000 -``` +The pipeline will start playing, after a couple of seconds the HLS files should appear in the `@output_path` directory. Then we can play the stream using [ffmpeg](https://ffmpeg.org/), by pointing to the location of the manifest file: -```console +```bash ffplay http://YOUR_MACHINE_IP:8000/rtsp_to_hls/hls_output/index.m3u8 ``` diff --git a/broadcasting/10_ConnectionManager.md b/broadcasting/10_ConnectionManager.md deleted file mode 100644 index bcf7980..0000000 --- a/broadcasting/10_ConnectionManager.md +++ /dev/null @@ -1,71 +0,0 @@ -Now let's focus on how the Connection Manager works. As mentioned previously its role is to establish the RTSP connection with the RTSP server. - -The `ConnectionManager` module will use the [`Connection`](https://hexdocs.pm/connection/Connection.html) behaviour, which provides additional callbacks to [`GenServer`](https://hexdocs.pm/elixir/GenServer.html) behaviour, aiding with building a connection process. - -First of all we are defining the `ConnectionStatus` struct, which we will use to keep the state of the ConnectionManager: - -##### lib/connection_manager.ex -```elixir -defmodule ConnectionStatus do - @moduledoc false - @type t :: %__MODULE__{ - stream_url: binary(), - rtsp_session: pid(), - pipeline: pid(), - keep_alive: pid(), - pipeline_options: keyword() - } - - @enforce_keys [ - :stream_url, - :pipeline, - :pipeline_options - ] - - defstruct @enforce_keys ++ - [ - :rtsp_session, - :keep_alive - ] -end -``` - -It holds the `rtsp_session`, which is the pid of a process started with `Membrane.RTSP.start/1`. The `Membrane.RTSP` allows us to execute RTSP client commands. You can read more about it [here](https://hexdocs.pm/membrane_rtsp/readme.html). -The `pipeline` field is the pid of the pipeline, we will need it to notify the pipeline, that the RTSP connection is ready. In such notification we send `pipeline_options`, which contain necessary information about the stream. -The `keep_alive` is a process which repeatedly pings the RTSP server, in order to keep the connection alive and prevent a timeout. - -Let's take a look at the `connect/2` callback, which is called immediately after the `init/1`: - -##### lib/connection_manager.ex -```elixir -def connect(_info, %ConnectionStatus{} = connection_status) do - rtsp_session = start_rtsp_session(connection_status) - connection_status = %{connection_status | rtsp_session: rtsp_session} - - if is_nil(rtsp_session) do - {:backoff, @delay, connection_status} - else - with {:ok, connection_status} <- get_rtsp_description(connection_status), - :ok <- setup_rtsp_connection(connection_status), - {:ok, connection_status} <- start_keep_alive(connection_status), - :ok <- play(connection_status) do - - send( - connection_status.pipeline, - {:rtsp_setup_complete, connection_status.pipeline_options} - ) - - {:ok, connection_status} - else - {:error, error_message} -> - {:backoff, @delay, connection_status} - end - end -end -``` - -In the callback we go through the whole process of establishing RTSP connection - first starting the RTSP session, then getting the video parameters with, setting up the session, starting the keep alive process and finally playing the stream. -If all those steps succeed we can notify the pipeline, otherwise we back off and try to set up the connection after a `@delay` amount of time. - -What might seem unclear to you is the `get_sps_pps` function. -It is responsible for getting the [sps and pps](https://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set) parameters from the RTSP DESCRIBE method. In short, sps and pps are parameters used by the H.264 codec and are required to decode the stream. Once the RTSP connection is complete we are sending them to the pipeline. \ No newline at end of file diff --git a/broadcasting/11_RTSP_Pipeline.md b/broadcasting/11_RTSP_Pipeline.md index 21c3e71..2750ff2 100644 --- a/broadcasting/11_RTSP_Pipeline.md +++ b/broadcasting/11_RTSP_Pipeline.md @@ -1,46 +1,54 @@ -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. +As explained in the [Architecture chapter](08_RTSP_Architecture.md), the pipeline will consist of a RTSP Source and a HLS Sink. -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. -When the SessionBin detects that the RTP stream has been started, it will notify the pipeline with the `:new_rtp_stream` notification. Later on, we will add the remaining elements to the pipeline, allowing for the whole conversion process to take place. +The initial pipeline will consist only of the `RTSP Source` and it'll start establishing the connection with the RTSP server. -Those steps take place, respectively, in the: `handle_init/1`, `handle_other/3` and `handle_notification/4` callbacks. While the `handle_init/1` is rather intuitive, we will describe in detail what's happening in the other callbacks. + + + -Let us explain what's going on in the `handle_other` callback: + + + ##### lib/pipeline.ex ```elixir @impl true -def handle_other({:rtsp_setup_complete, options}, _ctx, state) do - children = %{ - app_source: %Membrane.UDP.Source{ - local_port_no: state[:port], - recv_buffer_size: 500_000 - }, - rtp: %Membrane.RTP.SessionBin{ - fmt_mapping: %{96 => {:H264, 90_000}} - }, - hls: %Membrane.HTTPAdaptiveStream.Sink{ - manifest_module: Membrane.HTTPAdaptiveStream.HLS, - target_window_duration: 120 |> Membrane.Time.seconds(), - target_segment_duration: 4 |> Membrane.Time.seconds(), - storage: %Membrane.HTTPAdaptiveStream.Storages.FileStorage{ - directory: state[:output_path] - } - } - } +def handle_init(_context, options) do +Logger.debug("Source handle_init options: #{inspect(options)}") + +spec = [ + child(:source, %Membrane.RTSP.Source{ + transport: {:udp, options.port, options.port + 5}, + allowed_media_types: [:video, :audio], + stream_uri: options.stream_url, + on_connection_closed: :send_eos + }) +] - links = [ - link(:app_source) - |> via_in(Pad.ref(:rtp_input, make_ref())) - |> to(:rtp) - ] +{[spec: spec], + %{ + output_path: options.output_path, + parent_pid: options.parent_pid, + tracks_left_to_link: nil, + track_specs: [] + }} +end +``` + +Once we receive the `{:set_up_tracks, tracks}` notification from the source we have the information what tracks have been set up during connection establishment and what we should expect. We take this information and store it, so that we link the source to the `HLS Sink Bin` correctly. + +```elixir +@impl true +def handle_child_notification({:set_up_tracks, tracks}, :source, _ctx, state) do + tracks_left_to_link = + [:audio, :video] + |> Enum.filter(fn media_type -> Enum.any?(tracks, &(&1.type == media_type)) end) - spec = %ParentSpec{children: children, links: links} - { {:ok, spec: spec}, %{state | video: %{sps: options[:sps], pps: options[:pps]}} } + {[], %{state | tracks_left_to_link: tracks_left_to_link}} end ``` +When a `PLAY` request is eventually sent by the source, we should be prepared to receive streams that have been set up. When a new RTP stream is received and identified by the source, a message is set to the parent - the pipeline in our case - containing information necessary to handle the stream. When we receive the `rtsp_setup_complete` message, we first define the new children for the pipeline, and links between them - the UDP Source and the RTP SessionBin. We also create the HLS Sink, however we won't be linking it just yet. With the message we receive the sps and pps inside the options, and we add them to the pipeline's state. Only after we receive the `:new_rtp_stream` notification we add the rest of the elements and link them with each other: diff --git a/broadcasting/assets/rtsp_pipeline.drawio.png b/broadcasting/assets/rtsp_pipeline.drawio.png index 4975b8a5b9599552dd44330b0a1da254d654a2a1..643392cc3ef2fb04164ce94d69d26b3dae53b593 100644 GIT binary patch literal 59284 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 R^ko(NJ7hp2W*x8#_!m)CZ Date: Wed, 22 Oct 2025 14:32:47 +0200 Subject: [PATCH 2/3] Use the simplified pipeline --- broadcasting/08_RTSP_Architecture.md | 4 +- broadcasting/11_RTSP_Pipeline.md | 118 +++++++++------------------ 2 files changed, 41 insertions(+), 81 deletions(-) diff --git a/broadcasting/08_RTSP_Architecture.md b/broadcasting/08_RTSP_Architecture.md index 97068db..165e899 100644 --- a/broadcasting/08_RTSP_Architecture.md +++ b/broadcasting/08_RTSP_Architecture.md @@ -20,11 +20,11 @@ Now we can start the stream using `PLAY` method. ## Receiving the stream -The source is a bin containing a few elements, each of them performing a specific media processing task. You can definitely notice some similarities to the pipeline described in the [RTMP architecture](02_RTMP_Introduction.md). However, we will only be processing video so only the video processing elements will be necessary. +The source is a bin containing a few elements, each of them performing a specific media processing task. You can definitely notice some similarities to the pipeline described in the [RTMP architecture](03_RTMP_Architecture.md). However, we will only be processing video so only the video processing elements will be necessary. ![image](assets/rtsp_pipeline.drawio.png) -We have already used the, `H264 Parser` and `HLS Sink Bin` elements in the RTMP pipeline, take a look at the [RTMP to HLS architecture](03_RTMP_SystemArchitecture.md) chapter for details of the purpose of those elements. +We have already used the `H264 Parser` and `HLS Sink Bin` elements in the RTMP pipeline, take a look at the [RTMP to HLS architecture](03_RTMP_Architecture.md) chapter for details of the purpose of those elements. Let us describe briefly what is the purpose of the other components: diff --git a/broadcasting/11_RTSP_Pipeline.md b/broadcasting/11_RTSP_Pipeline.md index 2750ff2..02b80f6 100644 --- a/broadcasting/11_RTSP_Pipeline.md +++ b/broadcasting/11_RTSP_Pipeline.md @@ -1,97 +1,57 @@ As explained in the [Architecture chapter](08_RTSP_Architecture.md), the pipeline will consist of a RTSP Source and a HLS Sink. -The initial pipeline will consist only of the `RTSP Source` and it'll start establishing the connection with the RTSP server. - - - - - - - - +The initial pipeline will consist of the `RTSP Source`, which will start establishing the connection with the RTSP server, and the `HLS Sink Bin`. For now we won't connect this elements in any way, since we don't have information about what tracks we'll receive from the RTSP server which we're connecting with. ##### lib/pipeline.ex ```elixir @impl true def handle_init(_context, options) do -Logger.debug("Source handle_init options: #{inspect(options)}") - -spec = [ - child(:source, %Membrane.RTSP.Source{ - transport: {:udp, options.port, options.port + 5}, - allowed_media_types: [:video, :audio], - stream_uri: options.stream_url, - on_connection_closed: :send_eos - }) -] - -{[spec: spec], - %{ - output_path: options.output_path, - parent_pid: options.parent_pid, - tracks_left_to_link: nil, - track_specs: [] - }} -end -``` - -Once we receive the `{:set_up_tracks, tracks}` notification from the source we have the information what tracks have been set up during connection establishment and what we should expect. We take this information and store it, so that we link the source to the `HLS Sink Bin` correctly. - -```elixir -@impl true -def handle_child_notification({:set_up_tracks, tracks}, :source, _ctx, state) do - tracks_left_to_link = - [:audio, :video] - |> Enum.filter(fn media_type -> Enum.any?(tracks, &(&1.type == media_type)) end) + spec = [ + child(:source, %Membrane.RTSP.Source{ + transport: {:udp, options.port, options.port + 5}, + allowed_media_types: [:video, :audio], + stream_uri: options.stream_url, + on_connection_closed: :send_eos + }), + child(:hls, %Membrane.HTTPAdaptiveStream.SinkBin{ + target_window_duration: Membrane.Time.seconds(120), + manifest_module: Membrane.HTTPAdaptiveStream.HLS, + storage: %Membrane.HTTPAdaptiveStream.Storages.FileStorage{ + directory: options.output_path + } + }) + ] - {[], %{state | tracks_left_to_link: tracks_left_to_link}} + {[spec: spec], %{parent_pid: options.parent_pid}} end ``` -When a `PLAY` request is eventually sent by the source, we should be prepared to receive streams that have been set up. When a new RTP stream is received and identified by the source, a message is set to the parent - the pipeline in our case - containing information necessary to handle the stream. -When we receive the `rtsp_setup_complete` message, we first define the new children for the pipeline, and links between them - the UDP Source and the RTP SessionBin. We also create the HLS Sink, however we won't be linking it just yet. With the message we receive the sps and pps inside the options, and we add them to the pipeline's state. - -Only after we receive the `:new_rtp_stream` notification we add the rest of the elements and link them with each other: +Once we receive the `{:set_up_tracks, tracks}` notification from the source we have the information what tracks have been set up during connection establishment and what we should expect. First we filter these tracks, so that we have at most one video and audio track each. Then we can create specs that will connect output pads of the source with input pads of the sink appropriately - audio to audio and video to video. ##### lib/pipeline.ex ```elixir @impl true -def handle_notification({:new_rtp_stream, ssrc, 96, _extensions}, :rtp, _ctx, state) do - actions = - if Map.has_key?(state, :rtp_started) do - [] - else - children = %{ - video_nal_parser: %Membrane.H264.FFmpeg.Parser{ - sps: state.video.sps, - pps: state.video.pps, - skip_until_keyframe?: true, - framerate: {30, 1}, - alignment: :au, - attach_nalus?: true - }, - video_payloader: Membrane.MP4.Payloader.H264, - video_cmaf_muxer: Membrane.MP4.Muxer.CMAF - } - - links = [ - link(:rtp) - |> via_out(Pad.ref(:output, ssrc), - options: [depayloader: Membrane.RTP.H264.Depayloader] - ) - |> to(:video_nal_parser) - |> to(:video_payloader) - |> to(:video_cmaf_muxer) - |> via_in(:input) - |> to(:hls) - ] - - [spec: %ParentSpec{children: children, links: links}] - end - - { {:ok, actions}, Map.put(state, :rtp_started, true) } +def handle_child_notification({:set_up_tracks, tracks}, :source, _ctx, state) do + track_specs = + Enum.uniq_by(tracks, & &1.type) + |> Enum.filter(&(&1.type in [:audio, :video])) + |> Enum.map(fn track -> + encoding = + case track do + %{type: :audio} -> :AAC + %{type: :video} -> :H264 + end + + get_child(:source) + |> via_out(Pad.ref(:output, track.control_path)) + |> via_in(:input, + options: [encoding: encoding, segment_duration: Membrane.Time.seconds(4)] + ) + |> get_child(:hls) + end) + + {[spec: track_specs], state} end ``` -First we check, if the stream hasn't started yet. That's because if we are restarting the pipeline there might be a previous RTP stream still being sent, so we might receive the `:new_rtp_stream` notification twice - once for the old and then for the new stream. We want to ignore any notification after the first one, as we want only a single copy of each media processing element. -Notice the sps and pps being passed to the H264 parser - they are necessary for decoding the stream. +By doing this we are prepared to receive the streams when a `PLAY` request is eventually sent by the source and the server starts streaming. From 0325c72d0241b8238b3a1f57994f0a4bee9b5641 Mon Sep 17 00:00:00 2001 From: noarkhh Date: Wed, 22 Oct 2025 14:39:20 +0200 Subject: [PATCH 3/3] Fix numbering --- .../{11_RTSP_Pipeline.md => 10_RTSP_Pipeline.md} | 0 broadcasting/{12_Summary.md => 11_Summary.md} | 0 broadcasting/{13_H264_codec.md => 12_H264_codec.md} | 0 broadcasting/index.md | 13 ++++++------- 4 files changed, 6 insertions(+), 7 deletions(-) rename broadcasting/{11_RTSP_Pipeline.md => 10_RTSP_Pipeline.md} (100%) rename broadcasting/{12_Summary.md => 11_Summary.md} (100%) rename broadcasting/{13_H264_codec.md => 12_H264_codec.md} (100%) diff --git a/broadcasting/11_RTSP_Pipeline.md b/broadcasting/10_RTSP_Pipeline.md similarity index 100% rename from broadcasting/11_RTSP_Pipeline.md rename to broadcasting/10_RTSP_Pipeline.md diff --git a/broadcasting/12_Summary.md b/broadcasting/11_Summary.md similarity index 100% rename from broadcasting/12_Summary.md rename to broadcasting/11_Summary.md diff --git a/broadcasting/13_H264_codec.md b/broadcasting/12_H264_codec.md similarity index 100% rename from broadcasting/13_H264_codec.md rename to broadcasting/12_H264_codec.md diff --git a/broadcasting/index.md b/broadcasting/index.md index 6eb4283..935aae9 100644 --- a/broadcasting/index.md +++ b/broadcasting/index.md @@ -9,14 +9,13 @@ part: 7 | ------ | -------------------------------- | -------------------------------- | | 1 | General introduction | 01_General_Introduction.md | | 2 | RTMP introduction | 02_RTMP_Introduction.md | -| 3 | RTMP to HLS system architecture | 03_RTMP_SystemArchitecture.md | -| 4 | Running the RTMP to HLS demo | 04_RTMP_RunningTheDemo.md | +| 3 | RTMP to HLS system architecture | 03_RTMP_Architecture.md | +| 4 | Running the RTMP to HLS demo | 04_RTMP_Running_The_Demo.md | | 5 | RTMP to HLS - pipeline | 05_RTMP_Pipeline.md | | 6 | Web player | 06_WebPlayer.md | | 7 | RTSP to HLS introduction | 07_RTSP_Introduction.md | | 8 | RTSP to HLS system architecture | 08_RTSP_Architecture.md | -| 9 | Running the RTSP to HLS demo | 09_RTSP_RunningDemo.md | -| 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 | +| 9 | Running the RTSP to HLS demo | 09_RTSP_Running_The_Demo.md | +| 10 | RTSP to HLS - pipeline | 10_RTSP_Pipeline.md | +| 11 | Summary | 11_Summary.md | +| 12 | (Suplement) H264 codec | 12_H264_codec.md |