Site Tools


software:msd:internals

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software:msd:internals [2022/02/04 18:46]
– removed - external edit (Unknown date) 127.0.0.1
software:msd:internals [2022/02/04 18:54] (current)
root
Line 1: Line 1:
 +====== How it works ======
 +
 +The client request goes to integrated web server.\\
 +Settings are applied as described in section [[software:msd:config#HTTP|HTTP]] subsection [[software:msd:config#skt|skt]] and [[software:msd:config#congestionControl|congestionControl]].\\
 +
 +Client socket is passed to the existing Stream Hub, or Stream Hub can be created on request.\\
 +
 +For each channel, created its own Stream Hub.\\
 +
 +To one Stream Hub can connect multiple clients.\\
 +
 +Stream Hub has a unique name by which identified. For dynamic Stream Hub is generated based on the request URL. Channels from the configuration file, it is the name of the channel.\\
 +
 +Stream Hub is bound to a single thread (thread + kqueue/epoll).\\
 +Each thread is bound to the processor core. You can configure the number of threads and processor affinity.\\
 +
 +Stream Hub may have one or more sources (multicast, http etc).\\
 +Each source has its own circular buffer (ring Buf) to receive data.\\
 +
 +Stream Hub as data become available from the active source sends data to clients from the ring buffer.\\
 +
 +New client Stream Hub can send MPEG2-TS service headers (flag [[software:msd:config#fMPEG2TSAnalyzing|fMPEG2TSAnalyzing]] in the config file).\\
 +It is necessary to initialize the decoder client and not drop a MPEG2-TS packets in the search of a service data. Just Stream Hub can send specified in [[software:msd:config#precache|config file]] / [[software:msd:urls#precache|URL query]] number of kilobytes precache from the ring buffer.\\
 +
 +
 +==== Types Stream Hub ====
 +  * static channels: described in the config file, may have multiple sources with different settings
 +  * dynamic - multicast: compatible with udpxy by URL, for example: http://192.168.0.1:7088/udp/238.1.1.15:1234
 +  * dynamic - http: As the source stream URL acts another server, for example: http://192.168.0.1:7088/http/SomeServer.tv:7088/udp/239.0.0.116:4000
 +  * dynamic - transparent: the same as http but the field host in the HTTP header points to another server, for example: http://SomeServer.tv:7088/udp/239.0.0.116:4000
  
software/msd/internals.txt · Last modified: 2022/02/04 18:54 by root