Modular Media Server/Modular Media Server Introduction: Difference between revisions
No edit summary |
|||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{Modular Media Server/Top Banner|previous= | {{Modular Media Server/Top Banner|previous=|next=Modular Media Server Introduction/ Modules supported|keywords=}} | ||
</noinclude> | </noinclude> | ||
This section goes through a simple explanation of what's Modular Media Server, the functionalities the library has, and a simple explanation of how it works. | This section goes through a simple explanation of what's Modular Media Server, the functionalities the library has, and a simple explanation of how it works. | ||
==What is a Media Server== | |||
A media server is a software package that provides multimedia all-in-one features, such as video capture, encoding, streaming, recording, and, in some cases, the ability to trigger actions under certain events, for example, automatically taking a snapshot. More advanced features are also part of media servers such as deep learning inferencing, and computer vision processing, among other. | |||
Figure 1 shows a typical media server layout, every input or output module offers different functionality according to the customer requirements. | |||
<br> | |||
[[File:Typical media server layout.png|thumb|center|700px|Figure 1: Typical media server layout]] | |||
<br> | |||
==What are Modular Media Server Modules== | ==What are Modular Media Server Modules== | ||
In order to understand what Modular Media Sever is, you must first understand what modules are. Modules refer to encapsulated multimedia functionalities that work independently and can be coupled with other modules in order to create more complex structures, called multimedia groups, with a specific purpose. An example of this would be coupling a recording module with | In order to understand what Modular Media Sever is, you must first understand what modules are. Modules refer to encapsulated multimedia functionalities that work independently and can be coupled with other modules in order to create more complex structures, called multimedia groups, with a specific purpose. An example of this would be coupling a recording module with encoding and a file recording module, to generate mp4 files. To support independent modules and avoid memory copies, [[GstInterpipe|GstInterpipe]] is used, which is an open-source project that enables pipeline buffers and events to flow between two or more independent pipelines. | ||
==What is Modular Media Server== | ==What is Modular Media Server== | ||
Line 13: | Line 25: | ||
Modular Media Server is a system that can use your device cameras and process the multimedia to forward it to other modules that can do post-processing such as display or to the network as a video stream. The baseline of MMS has the following modules: | Modular Media Server is a system that can use your device cameras and process the multimedia to forward it to other modules that can do post-processing such as display or to the network as a video stream. The baseline of MMS has the following modules: | ||
* ''' | * '''V4L2 and Argus cameras ''': MMS can capture from cameras using V4L2 and NVIDIA Argus APIs. | ||
* '''H.265 and H.264 encoders ''': MMS offers encoding in these two video coding formats. | * '''H.265 and H.264 encoders ''': MMS offers encoding in these two video coding formats. | ||
* '''MP4 ''': provides support to save video multimedia in | * '''MP4 recording''': provides support to save video multimedia in disc using MPEG-4 (.mp4) container. | ||
* '''MPEG ''': provides support to save video multimedia in | * '''MPEG recording''': provides support to save video multimedia in disc using MPEG Transport Stream (.mpeg) container. | ||
Also, new modules can be developed with minimum effort by RidgeRun's team in order to satisfy | Also, new modules can be developed with minimum effort by RidgeRun's team in order to satisfy customer's requirements, such like: | ||
* Network stream | * Network stream | ||
* | * Video display | ||
* Deep Learning inference | |||
* | * Computer vision-based processing modules | ||
These modules can be arranged so that you can have complex systems with main and secondary data streams. To control these modules, an interface is provided through which you can interact with the different stream flows. Different operations can be performed on these streams such as stopping, pausing, and playing, among others. A possible x86 configuration using the described above modules is: | |||
<br> | |||
<br> | |||
[[File:X86ExamplePipeline.png|thumb|center|700px|Figure 2: x86 Modular Media Server simple pipeline diagram]] | |||
<br> | |||
Also, you can also produce a stream group using NVIDIA components as follows: | Also, you can also produce a stream group using NVIDIA components as follows: | ||
<br> | |||
<br> | |||
[[File:NvidiaExamplePipeline.png|thumb|center|700px|Figure 3: NVIDIA Modular Media Server simple pipeline diagram]] | |||
<br> | |||
<noinclude> | |||
{{Modular Media Server/Foot||Modular Media Server Introduction/ Modules supported}} | |||
</noinclude> | |||
{{Modular Media Server/Foot| | |||
[[Category: | [[Category:Modular Media Server]] |
Latest revision as of 15:35, 22 June 2022
Modular Media Server |
---|
Introduction |
Building and Installation |
User Guide |
Contact Us |
This section goes through a simple explanation of what's Modular Media Server, the functionalities the library has, and a simple explanation of how it works.
What is a Media Server
A media server is a software package that provides multimedia all-in-one features, such as video capture, encoding, streaming, recording, and, in some cases, the ability to trigger actions under certain events, for example, automatically taking a snapshot. More advanced features are also part of media servers such as deep learning inferencing, and computer vision processing, among other.
Figure 1 shows a typical media server layout, every input or output module offers different functionality according to the customer requirements.
What are Modular Media Server Modules
In order to understand what Modular Media Sever is, you must first understand what modules are. Modules refer to encapsulated multimedia functionalities that work independently and can be coupled with other modules in order to create more complex structures, called multimedia groups, with a specific purpose. An example of this would be coupling a recording module with encoding and a file recording module, to generate mp4 files. To support independent modules and avoid memory copies, GstInterpipe is used, which is an open-source project that enables pipeline buffers and events to flow between two or more independent pipelines.
What is Modular Media Server
Modular Media Server is a system that can use your device cameras and process the multimedia to forward it to other modules that can do post-processing such as display or to the network as a video stream. The baseline of MMS has the following modules:
- V4L2 and Argus cameras : MMS can capture from cameras using V4L2 and NVIDIA Argus APIs.
- H.265 and H.264 encoders : MMS offers encoding in these two video coding formats.
- MP4 recording: provides support to save video multimedia in disc using MPEG-4 (.mp4) container.
- MPEG recording: provides support to save video multimedia in disc using MPEG Transport Stream (.mpeg) container.
Also, new modules can be developed with minimum effort by RidgeRun's team in order to satisfy customer's requirements, such like:
- Network stream
- Video display
- Deep Learning inference
- Computer vision-based processing modules
These modules can be arranged so that you can have complex systems with main and secondary data streams. To control these modules, an interface is provided through which you can interact with the different stream flows. Different operations can be performed on these streams such as stopping, pausing, and playing, among others. A possible x86 configuration using the described above modules is:
Also, you can also produce a stream group using NVIDIA components as follows: