Giter Club home page Giter Club logo

rt-mbms-mw's People

Contributors

christophtanzer avatar dsilhavy avatar gokulsani avatar jordijoangimenez avatar kuehnhammer avatar stefanbabel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rt-mbms-mw's Issues

Refactor code naming: Use rt-mw

As we agreed to rename the project to rt-mw we should rename the relevant parts in the code as well.

Replace obeca with 5gmag-rt.
Replace process name gw with mw

File and media content preposition

As an additional use case files can also be delivered via 5G broadcast. For instance to

  • provide data to update applications
  • push VoD content to a fileserver

Low latency support

The reference client functionality should be extended to low latency support to enable low latency (LL) for LTE-based 5G terrestrial broadcast and to provide a comparable latency with LL OTT streams provided via CDN.

Is your feature request related to a problem? Please describe.

  • The current gateway is not supporting low latency streams via 5G broadcast. Thus, the necessary changes on the gateway process, i.e. mainly the

Describe the solution you'd like

  • Nginx support for LL-DASH and LL-HLS should be provided.
  • End-2-end test with live setup (Origin - 5G BC core (R&S BSCC) - Transmitter - Receiver with gateway LL extension - open source LL player (e.g. DASH.js HLS.hs?) should be performed.

Which parts of the reference client are affected

  • Gateway

Who takes care about the develepment

  • Development will be done by ORS development resources.

Service Announcement not compatible with R&S BSCC

rt-mbms-mw checks if the filename ‚bootstrap.multipart‘ is present. R&S uses a file named ‚sa_multipart.gz‘.

To Reproduce
no service detected when receiving HLS odr DASH

Expected behavior
The service anouncement should be independent of the file name. R&S told me that this could be done via correct TMGI-Numbering according 3gpp standard.

Workaround could be to configure filename for SA in config file for mw.

Support for other content (2nd audio/language)

In addition to a single audio and video track it should be possible to deliver additional tracks via broadcast. For instance

  • Multiple audio languages
  • Subtitles tracks
  • Thumbnail tracks

Seamless Switching - Support for legacy HLS recordings

Description

With the new SA format used for seamless switching the current HLS recordings provided by ORS are not working anymore. The legacy SA format used for these recordings should still be supported even if seamless switching is not activated.

Proposed solution

Add support for the legacy SA format and allow users to define the target format as part of the configuration file.

Additional information

Legacy SA HLS recording format

MIME-Version: 1.0
Content-Type: multipart/related; boundary="xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--"; type="application/mbms-envelope+xml"
Content-Description: LTE MBMS Service Announcement

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/mbms-envelope+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///envelope.xml

<?xml version="1.0" encoding="utf-8"?>
<metadataEnvelope xmlns="urn:3gpp:metadata:2005:MBMS:envelope"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="urn:3gpp:metadata:2005:MBMS:envelope MetadataEnvelope.xsd">
  <item contentType="application/sdp"
        metadataURI="file:///TMGI-0x1009f165.sdp"
        validFrom="2021-09-02T07:45:33Z"
        validUntil="2051-08-26T07:45:33Z"
        version="1"/>
  <item contentType="application/vnd.apple.mpegurl"
        metadataURI="file:///TMGI-0x1009f165.m3u8"
        validFrom="2021-09-02T07:45:33Z"
        validUntil="2051-08-26T07:45:33Z"
        version="1"/>
  <item contentType="application/vnd.apple.mpegurl"
        metadataURI="http://10.160.82.131/out/u/bbb/qxa/manifest.m3u8"
        validFrom="2021-09-02T07:45:33Z"
        validUntil="2051-08-26T07:45:33Z"
        version="1"/>
  <item contentType="application/mbms-user-service-description+xml"
        metadataURI="file:///usdBundle.xml"
        validFrom="2021-09-02T07:45:33Z"
        validUntil="2051-08-26T07:45:33Z"
        version="1"/>
  <item contentType="application/mbms-schedule+xml"
        metadataURI="file:///TMGI-0x1009f165schedule.xml"
        validFrom="2021-09-02T07:45:33Z"
        validUntil="2051-08-26T07:45:33Z"
        version="1"/>
</metadataEnvelope>
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165.sdp

v=0
o=ROHDE-SCHWARZ-BSCC 269087077 1630568733 IN IP4 11.11.11.11
s=HLS Streaming Session 0x1009f165
i=File Download Session
t=3839557533 4785637533
a=mbms-mode:broadcast-mbsfn 269087077
c=IN IP4 238.1.1.111/127
b=AS:1699
m=application 40101 FLUTE/UDP 0
a=flute-tsi:16
a=flute-ch:1
a=3GPP-QoE-Metrics:metrics={Object_Loss};rate=null;resolution=10
a=3GPP-QoE-Metrics:metrics={Network_Resource};rate=null;resolution=10

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/vnd.apple.mpegurl
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165.m3u8

#EXTM3U
#EXT-X-VERSION:3

#EXT-X-STREAM-INF:CODECS="avc1.4D401E,mp4a.40.2",BANDWIDTH=1427133,FRAME-RATE=25.000,RESOLUTION=640x360
out/u/bbb/qxa/manifest_3.m3u8?m=1614073235

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/vnd.apple.mpegurl
Content-Transfer-Encoding: 7bit
Content-Location: http://10.160.82.131/out/u/bbb/qxa/manifest.m3u8

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=3847133,AVERAGE-BANDWIDTH=3847133,RESOLUTION=1280x720,FRAME-RATE=25.000,CODECS="avc1.4D401F,mp4a.40.2"
manifest_1.m3u8?m=1614073235
#EXT-X-STREAM-INF:BANDWIDTH=2857098,AVERAGE-BANDWIDTH=2857098,RESOLUTION=854x480,FRAME-RATE=25.000,CODECS="avc1.4D401E,mp4a.40.2"
manifest_2.m3u8?m=1614073235
#EXT-X-STREAM-INF:BANDWIDTH=1427133,AVERAGE-BANDWIDTH=1427133,RESOLUTION=640x360,FRAME-RATE=25.000,CODECS="avc1.4D401E,mp4a.40.2"
manifest_3.m3u8?m=1614073235

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/mbms-user-service-description+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///usdBundle.xml

<?xml version="1.0" encoding="utf-8"?>
<bundleDescription xmlns="urn:3GPP:metadata:2005:MBMS:userServiceDescription"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"
                   xmlns:r7="urn:3GPP:metadata:2007:MBMS:userServiceDescription"
                   xmlns:r8="urn:3GPP:metadata:2008:MBMS:userServiceDescription"
                   xmlns:r9="urn:3GPP:metadata:2009:MBMS:userServiceDescription"
                   xmlns:r12="urn:3GPP:metadata:2013:MBMS:userServiceDescription"
                   xmlns:r14="urn:3GPP:metadata:2017:MBMS:userServiceDescription"
                   xmlns:r15="urn:3GPP:metadata:2018:r15:MBMS:userServiceDescription"
                   xsi:schemaLocation="urn:3GPP:metadata:2005:MBMS:userServiceDescription USD-schema-main.xsd">
  <sv:schemaVersion>1</sv:schemaVersion>
  <userServiceDescription serviceId="urn:rohde-schwarz:service:16.0"
                          r7:serviceClass="urn:oma:bcast:ext_bsc_3gpp:bscc:rsservice1"
                          r14:romService="true">
    <name>Test Service TMGI-0x1009f165</name>
    <name lang="EN">EN: Test Service TMGI-0x1009f165</name>
    <name lang="DE">DE: Test Service TMGI-0x1009f165</name>
    <serviceLanguage>EN</serviceLanguage>
    <serviceLanguage>DE</serviceLanguage>
    <requiredCapabilities>
      <feature>23</feature>
      <feature>27</feature>
    </requiredCapabilities>
    <deliveryMethod sessionDescriptionURI="file:///TMGI-0x1009f165.sdp">
      <sv:delimiter>0</sv:delimiter>
      <r12:broadcastAppService>
        <r12:basePattern>out/u/bbb/qxa/manifest_3.m3u8?m=1614073235</r12:basePattern>
        <r12:basePattern>file:///TMGI-0x1009f165.m3u8</r12:basePattern>
        <r12:serviceArea>2</r12:serviceArea>
      </r12:broadcastAppService>
      <sv:delimiter>0</sv:delimiter>
    </deliveryMethod>
    <r12:appService appServiceDescriptionURI="http://10.160.82.131/out/u/bbb/qxa/manifest.m3u8"
                    mimeType="application/vnd.apple.mpegurl"/>
    <r9:schedule>
      <r9:scheduleDescriptionURI>file:///TMGI-0x1009f165schedule.xml</r9:scheduleDescriptionURI>
    </r9:schedule>
    <sv:delimiter>0</sv:delimiter>
    <r9:availabilityInfo>
      <r9:infoBinding>
        <r9:serviceArea>2</r9:serviceArea>
      </r9:infoBinding>
    </r9:availabilityInfo>
  </userServiceDescription>
</bundleDescription>
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/mbms-schedule+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165schedule.xml

<?xml version="1.0" encoding="utf-8"?>
<scheduleDescription xmlns="urn:3gpp:metadata:2011:MBMS:scheduleDescription"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"
                     xsi:schemaLocation="urn:3gpp:metadata:2011:MBMS:scheduleDescription ScheduleDescription.xsd"
                     scheduleUpdate="2021-09-02T07:45:33Z">
  <sv:schemaVersion>1</sv:schemaVersion>
  <serviceSchedule>
    <sessionSchedule>
      <start>2021-09-02T07:45:33Z</start>
      <stop>2051-08-26T07:45:33Z</stop>
      <index>0</index>
      <sv:delimiter>0</sv:delimiter>
      <sv:delimiter>0</sv:delimiter>
    </sessionSchedule>
  </serviceSchedule>
</scheduleDescription>
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--

Missing config files for Nginx proxy

Describe the bug
Based on the discussion here: 5G-MAG/Getting-Started#22

Nginx does not have rt-mbms configuration. This used to get installed by the mw process, but it looks like during the name change we didn't move it to wui as intended.

Current workaround: Copying the nginx site configuration from here:
https://github.com/5G-MAG/rt-mbms-mw/blob/874c753da43080c2294a3ddaea1d7ab2a4ea293e/supporting_files/obeca

to
/etc/nginx/sites-available/rt-wui

Expected behavior
Configuration should be installed automatically

DRM support

Investigate if additional changes are required to support DRM. Usual workflow

  • Manifest contains DRM information
  • License server is specified via application or part of the init data (only possible with Playready)
  • Client issues license request prior to decrypting the content

Problem with SA in the mw version 0.10.0

Describe the bug
with the latest middleware update (v0.10.0) it seems that the service announcement is not interpreted correctly.

To Reproduce
Steps to reproduce the behavior:

  1. The signal is generated using the R&S chain (BSCC + SDE900 + TLU9) with hls video streams
  2. The modem process starts successfully and has no errors
  3. The middleware process have problems with the MD5 check (we attach below the output with the log level set to 1)

Expected behavior
With version 0.9 the SA is correctly recognized and the two flute streams are displayed (SA and HLS video)

Desktop and laptop:

  • OS: Ubuntu 20.04
    (Same behavior was noticed with a PC running Ubuntu 22)

Log output

`sudo mw -l1
mw[19804]: 5g-mag-rt mw v0.10.0 starting up
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: Starting FLUTE receiver on 238.1.1.95:40085 for TSI 0
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: Creating File from FileEntry
mw[19804]: Allocating buffer
mw[19804]: received TOI 0 SBN 0 ID 0
mw[19804]: File with TOI 0 completed
mw[19804]: Received new FDT with instance ID 65:
<FDT-Instance Expires="3878639203"
xmlns="urn:IETF:metadata:2005:FLUTE:FDT"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mbms2007="urn:3GPP:metadata:2007:MBMS:FLUTE:FDT"




mw[19804]: Destroying File
mw[19804]: Freeing buffer
mw[19804]: Starting reception for file with TOI 65: sa_multipart (multipart/related)
mw[19804]: Creating File from FileEntry
mw[19804]: Allocating buffer
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: received TOI 65 SBN 0 ID 0
mw[19804]: MD5 mismatch for TOI 65, discarding
mw[19804]: received TOI 65 SBN 0 ID 1
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: received TOI 65 SBN 0 ID 2
mw[19804]: received TOI 65 SBN 0 ID 3
mw[19804]: received TOI 65 SBN 0 ID 4
mw[19804]: received TOI 65 SBN 0 ID 5
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: received TOI 65 SBN 0 ID 6
mw[19804]: received TOI 65 SBN 0 ID 7
mw[19804]: received TOI 65 SBN 0 ID 8
mw[19804]: received TOI 65 SBN 0 ID 9
mw[19804]: request for /mw-api/files
mw[19804]: request for /mw-api/services
mw[19804]: received TOI 65 SBN 0 ID 10
mw[19804]: received TOI 65 SBN 0 ID 11
mw[19804]: received TOI 65 SBN 0 ID 12
mw[19804]: received TOI 65 SBN 0 ID 13

`

Multiple MTCH streaming

Problem:

  • Transmitting a video HLS stream with 2 traffic channels, just the first can be seen at the output of the middleware and reproduced (version 0.9.2).
  • The modem recognizes the two channels MTCH1,2 + MTCH 0
    Screenshot from 2022-12-01 06-13-34
    .
    Question:
  • Is there a way to configure the middleware or the transmitted stream in order to manage two or more channels ?

Added a screenshot

MBMS development setup with watchfolder

Description

Provide a setup to use and test the rt-mbms-mw without the need to the rt-mbms modem

The idea is the following:

  1. Run a simple http server that provides the “mch_info.json” (information about the multicast IPs and TMGIs usually provided by the rt-mbms-modem). Server URL can simply be adjusted in the configuration files of the tools.
  2. Run an ffmpeg script that loops a VoD file and creates a DASH live stream. The DASH manifest files as well as all the segments are dropped into a watchfolder (see next step)
  3. Run a second service that includes a FLUTE transmitter and
    • Sends the service announcement to the rt-mbms-mw (this is a hardcoded file)
    • Listens on a watchfolder and scans for new DASH MPDs, init and media segments.
    • Sends completed files in the watchfolder via the FLUTE transmitter to the rt-mbms-mw
  4. rt-mbms-mw as usual exposes the manifest and the segments to an external application or player like dash.

This can be used for:

  • Debugging and running the MW
  • Simple fallback for demos without the need for a real broadcast signal or sample recordings
  • To demonstrate seamless switching without the need for a real broadcast signal. Not really sure here though, but in theory the DASH stream could be pushed to a classic CDN and at the same time be delivered via the approach described above. Obviously, it is more for debugging purposes.

DASH streaming

We are experiencing difficulties in reproducing DASH streaming from a system composed by

  • tx side: Encoder Elemental + Rohde&Schwarz BSCC + R&S SDE900 + R&S exciter TCE 901.
  • rx side: B210 SDR board, rt-mbms-modem + rt-mbms-mw on Ubuntu 22.04 LTS

We can observe that:

  • The modem works correctly and shows no errors.

  • At the output of the mw, the segment files can be downloaded but the index seems missing, even if it is present at the BSCC side.

  • Using the rt-wui application or other players, no video can be reproduced

  • We see the following fields at http://127.0.0.1:3020/mw-api/services:
    m3u = “”
    sdp = “v=0\no=ROHDE-SCHWARZ-BSCC 269087077 1668670914 IN IP4 11.11.11.11\ns=DASH Streaming Session 0x1009f165\ni=File Download
    Session\nt=3877659714 4823739714\na=mbms-mode:broadcast-mbsfn 269087077\nc=IN IP4 238.1.1.111/127\na=source-filter: incl IN IP4 * 192.168.0.1
    \nb=AS:4000\nm=application 40101 FLUTE/UDP 0\na=flute-tsi:16\na=flute-ch:1\na=3GPP-QoE-Metrics:metrics={Object_Loss};rate=null;resolution=10\na=
    3GPP-QoE-Metrics:metrics={Network_Resource};rate=null;resolution=10\n”
    service_description = “”
    service_name = “”
    service_tmgi = “00000009f165”
    stream_mcast = “238.1.1.111:40101”
    stream_tmgi = “00001009f165”
    stream_type = “FLUTE/UDP”
     
    We are able to transmit and receive correctly HLS streaming with the same chain.
    Are you aware of issues with the DASH configuration at the 5G-MAG receiver or specific settings at the transmitter side ?

Low latency with CMAF (ROUTE)

Investigate what needs to be done to support HLS and DASH CMAF low latency streaming. To be clarified:

  • How to pass data from the core to the MBMS client. CMAF chunks need to be transmitted once available, CMAF fragment is build up over time
  • What needs to be changed in the manifest (Core and MBMS client side). For DASH this might include adjustment of availabilityStartTime and availabilityTimeOffset

Seamless Switching - Support for legacy DASH recordings

Description

With the new SA format used for seamless switching the current DASH recordings provided by ORS are not working anymore. The legacy SA format used for these recordings should still be supported even if seamless switching is not activated.

Proposed solution

Add support for the legacy SA format and allow users to define the target format as part of the configuration file.

Additional information

Legacy SA DASH recording format

MIME-Version: 1.0
Content-Type: multipart/related; boundary="xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--"; type="application/mbms-envelope+xml"
Content-Description: LTE MBMS Service Announcement

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/mbms-envelope+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///envelope.xml

<?xml version="1.0" encoding="utf-8"?>
<metadataEnvelope xmlns="urn:3gpp:metadata:2005:MBMS:envelope"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="urn:3gpp:metadata:2005:MBMS:envelope MetadataEnvelope.xsd">
  <item contentType="application/sdp"
        metadataURI="file:///TMGI-0x1009f165.sdp"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
  <item contentType="application/dash+xml"
        metadataURI="file:///TMGI-0x1009f165.mpd"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
  <item contentType="application/dash+xml"
        metadataURI="http://10.160.82.131/out/u/bbb/q6a/manifest.mpd"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
  <item contentType="r9:mediaPresentationDescription"
        metadataURI="file:///TMGI-0x1009f165_video.ini"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
  <item contentType="r9:mediaPresentationDescription"
        metadataURI="file:///TMGI-0x1009f165_audio.ini"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
  <item contentType="application/mbms-user-service-description+xml"
        metadataURI="file:///usdBundle.xml"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
  <item contentType="application/mbms-schedule+xml"
        metadataURI="file:///TMGI-0x1009f165schedule.xml"
        validFrom="2021-09-02T08:29:39Z"
        validUntil="2051-08-26T08:29:39Z"
        version="1"/>
</metadataEnvelope>
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165.sdp

v=0
o=ROHDE-SCHWARZ-BSCC 269087077 1630571379 IN IP4 11.11.11.11
s=DASH Streaming Session 0x1009f165
i=File Download Session
t=3839560179 4785640179
a=mbms-mode:broadcast-mbsfn 269087077
c=IN IP4 238.1.1.111/127
b=AS:3045
m=application 40101 FLUTE/UDP 0
a=flute-tsi:16
a=flute-ch:1
a=3GPP-QoE-Metrics:metrics={Object_Loss};rate=null;resolution=10
a=3GPP-QoE-Metrics:metrics={Network_Resource};rate=null;resolution=10

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/dash+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165.mpd

<?xml version="1.0" encoding="utf-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="urn:mpeg:dash:schema:mpd:2011"
     xmlns:scte35="urn:scte:scte35:2013:xml"
     xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd"
     id="158"
     type="dynamic"
     publishTime="2021-09-02T08:29:28"
     minimumUpdatePeriod="PT25S"
     availabilityStartTime="2021-03-28T14:44:51Z"
     minBufferTime="PT60S"
     suggestedPresentationDelay="PT25.000S"
     timeShiftBufferDepth="PT92.160S"
     profiles="urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011">
    <Period start="PT0.000S"
            id="1">
      <AdaptationSet mimeType="video/mp4"
                     scanType="progressive"
                     segmentAlignment="true"
                     startWithSAP="1"
                     bitstreamSwitching="true">
        <Representation id="1"
                        width="854"
                        height="480"
                        sar="1:1"
                        frameRate="25/1"
                        bandwidth="2499968"
                        codecs="avc1.4D401E">
          <SegmentTemplate timescale="25"
                           media="manifest_video_1_1_$Number$.mp4?m=1614073273"
                           initialization="TMGI-0x1009f165_video.ini"
                           startNumber="1774560">
            <SegmentTimeline>
              <S t="340714524"
                 d="192"
                 r="11"/>
            </SegmentTimeline>
          </SegmentTemplate>
        </Representation>
      </AdaptationSet>
      <AdaptationSet mimeType="audio/mp4"
                     segmentAlignment="0">
        <Representation id="2"
                        bandwidth="97394"
                        audioSamplingRate="48000"
                        codecs="mp4a.40.2">
          <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
                                     value="2"/>
          <SegmentTemplate timescale="48000"
                           media="manifest_audio_1_3_$Number$.mp4?m=1614073273"
                           initialization="TMGI-0x1009f165_audio.ini"
                           startNumber="1774560">
            <SegmentTimeline>
              <S t="654171888128"
                 d="368640"
                 r="11"/>
            </SegmentTimeline>
          </SegmentTemplate>
        </Representation>
      </AdaptationSet>
    </Period>
</MPD>

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/dash+xml
Content-Transfer-Encoding: 7bit
Content-Location: http://10.160.82.131/out/u/bbb/q6a/manifest.mpd

<?xml version="1.0" encoding="utf-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:scte35="urn:scte:scte35:2013:xml" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" id="158" type="dynamic" publishTime="2021-09-02T08:29:28" minimumUpdatePeriod="PT25S" availabilityStartTime="2021-03-28T14:44:51Z" minBufferTime="PT60S" suggestedPresentationDelay="PT25.000S" timeShiftBufferDepth="PT92.160S" profiles="urn:hbbtv:dash:profile:isoff-live:2012,urn:mpeg:dash:profile:isoff-live:2011">
  <Period start="PT0.000S" id="1">
    <AdaptationSet mimeType="video/mp4" scanType="progressive" segmentAlignment="true" startWithSAP="1" bitstreamSwitching="true">
      <Representation id="1" width="854" height="480" sar="1:1" frameRate="25/1" bandwidth="2499968" codecs="avc1.4D401E">
        <SegmentTemplate timescale="25" media="manifest_video_1_1_$Number$.mp4?m=1614073273" initialization="manifest_video_1_1_init.mp4?m=1614073273" startNumber="1774560">
          <SegmentTimeline>
            <S t="340714524" d="192" r="11"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
    </AdaptationSet>
    <AdaptationSet mimeType="audio/mp4" segmentAlignment="0">
      <Representation id="2" bandwidth="97394" audioSamplingRate="48000" codecs="mp4a.40.2">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></AudioChannelConfiguration>
        <SegmentTemplate timescale="48000" media="manifest_audio_1_3_$Number$.mp4?m=1614073273" initialization="manifest_audio_1_3_init.mp4?m=1614073273" startNumber="1774560">
          <SegmentTimeline>
            <S t="654171888128" d="368640" r="11"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: r9:mediaPresentationDescription
Content-Transfer-Encoding: base64
Content-Location: file:///TMGI-0x1009f165_video.ini

AAAAHGZ0eXBpc29tAAAAAWlzb21hdmMxZGFzaAAAAtBtb292AAAAbG12aGQAAAAA
3VY70d1WO9EAAAAZAAAAAAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
AAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC
AAAAG2lvZHMAAAAAEA0AT////3//DgQAAAABAAACGXRyYWsAAABcdGtoZAAAAAfd
VjvR3VY70QAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA
AAAAAAEAAAAAAAAAAAAAAAAAAEAAAAADVgAAAeAAAAAAAbVtZGlhAAAAIG1kaGQA
AAAA3VY70d1WO9EAAAAZAAAAAFXEAAAAAAA8aGRscgAAAAAAAAAAdmlkZQAAAAAA
AAAAAAAAAEVUSSBJU08gVmlkZW8gTWVkaWEgSGFuZGxlcgAAAAFRbWluZgAAABR2
bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAA
AAABAAABEXN0YmwAAADFc3RzZAAAAAAAAAABAAAAtWF2YzEAAAAAAAAAAQAAAAAA
AAAAAAAAAAAAAAADVgHgAEgAAABIAAAAAAAAAAEPRWxlbWVudGFsIEguMjY0AAAA
AAAAAAAAAAAAAAAAAAAY//8AAAAQcGFzcAAAAAEAAAABAAAAO2F2Y0MBTUAe/+EA
JCdNQB65EBsHvN4CIAAAAwAgAAAGXEgACYlgABMS1e9wHwiEagEABCj+PIAAAAAU
YnRydAAAAAAAAAAAAAAAAAAAABBzdHRzAAAAAAAAAAAAAAAQc3RzYwAAAAAAAAAA
AAAAFHN0c3oAAAAAAAAAAAAAAAAAAAAQc3RjbwAAAAAAAAAAAAAAKG12ZXgAAAAg
dHJleAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAA==
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: r9:mediaPresentationDescription
Content-Transfer-Encoding: base64
Content-Location: file:///TMGI-0x1009f165_audio.ini

AAAAHGZ0eXBpc29tAAAAAWlzb21hdmMxZGFzaAAAAmJtb292AAAAbG12aGQAAAAA
3VY70d1WO9EAALuAAAAAAAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
AAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC
AAAAG2lvZHMAAAAAEA0AT////v7/DgQAAAABAAABq3RyYWsAAABcdGtoZAAAAAfd
VjvR3VY70QAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAAAA
AAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAUdtZGlhAAAAIG1kaGQA
AAAA3VY70d1WO9EAALuAAAAAAFXEAAAAAAA8aGRscgAAAAAAAAAAc291bgAAAAAA
AAAAAAAAAEVUSSBJU08gQXVkaW8gTWVkaWEgSGFuZGxlcgAAAADjbWluZgAAABBz
bWhkAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEA
AACnc3RibAAAAFtzdHNkAAAAAAAAAAEAAABLbXA0YQAAAAAAAAABAAAAAAAAAAAA
AgAQAAAAALuAAAAAAAAnZXNkcwAAAAADGQAAAAQRQBUAAAAAAAAAAAAAAAUCEZAG
AQIAAAAQc3R0cwAAAAAAAAAAAAAAEHN0c2MAAAAAAAAAAAAAABRzdHN6AAAAAAAA
AAAAAAAAAAAAEHN0Y28AAAAAAAAAAAAAAChtdmV4AAAAIHRyZXgAAAAAAAAAAQAA
AAEAAAAAAAAAAAAAAAA=
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/mbms-user-service-description+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///usdBundle.xml

<?xml version="1.0" encoding="utf-8"?>
<bundleDescription xmlns="urn:3GPP:metadata:2005:MBMS:userServiceDescription"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"
                   xmlns:r7="urn:3GPP:metadata:2007:MBMS:userServiceDescription"
                   xmlns:r8="urn:3GPP:metadata:2008:MBMS:userServiceDescription"
                   xmlns:r9="urn:3GPP:metadata:2009:MBMS:userServiceDescription"
                   xmlns:r12="urn:3GPP:metadata:2013:MBMS:userServiceDescription"
                   xmlns:r14="urn:3GPP:metadata:2017:MBMS:userServiceDescription"
                   xmlns:r15="urn:3GPP:metadata:2018:r15:MBMS:userServiceDescription"
                   xsi:schemaLocation="urn:3GPP:metadata:2005:MBMS:userServiceDescription USD-schema-main.xsd">
  <sv:schemaVersion>1</sv:schemaVersion>
  <userServiceDescription serviceId="urn:rohde-schwarz:service:16.0"
                          r7:serviceClass="urn:oma:bcast:ext_bsc_3gpp:bscc:rsservice1"
                          r14:romService="true">
    <name>Test Service TMGI-0x1009f165</name>
    <name lang="EN">EN: Test Service TMGI-0x1009f165</name>
    <name lang="DE">DE: Test Service TMGI-0x1009f165</name>
    <serviceLanguage>EN</serviceLanguage>
    <serviceLanguage>DE</serviceLanguage>
    <requiredCapabilities>
      <feature>23</feature>
      <feature>27</feature>
    </requiredCapabilities>
    <deliveryMethod sessionDescriptionURI="file:///TMGI-0x1009f165.sdp">
      <sv:delimiter>0</sv:delimiter>
      <r12:broadcastAppService>
        <r12:basePattern>file:///TMGI-0x1009f165.mpd</r12:basePattern>
        <r12:serviceArea>2</r12:serviceArea>
      </r12:broadcastAppService>
      <sv:delimiter>0</sv:delimiter>
    </deliveryMethod>
    <r12:appService appServiceDescriptionURI="http://10.160.82.131/out/u/bbb/q6a/manifest.mpd"
                    mimeType="application/dash+xml;profiles=urn:3GPP:PSS:profile:DASH10"/>
    <r9:mediaPresentationDescription>
      <mpdURI>file:///TMGI-0x1009f165.mpd</mpdURI>
    </r9:mediaPresentationDescription>
    <r9:schedule>
      <r9:scheduleDescriptionURI>file:///TMGI-0x1009f165schedule.xml</r9:scheduleDescriptionURI>
    </r9:schedule>
    <sv:delimiter>0</sv:delimiter>
    <r9:availabilityInfo>
      <r9:infoBinding>
        <r9:serviceArea>2</r9:serviceArea>
      </r9:infoBinding>
    </r9:availabilityInfo>
  </userServiceDescription>
</bundleDescription>
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--
Content-Type: application/mbms-schedule+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165schedule.xml

<?xml version="1.0" encoding="utf-8"?>
<scheduleDescription xmlns="urn:3gpp:metadata:2011:MBMS:scheduleDescription"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"
                     xsi:schemaLocation="urn:3gpp:metadata:2011:MBMS:scheduleDescription ScheduleDescription.xsd"
                     scheduleUpdate="2021-09-02T08:29:39Z">
  <sv:schemaVersion>1</sv:schemaVersion>
  <serviceSchedule>
    <sessionSchedule>
      <start>2021-09-02T08:29:39Z</start>
      <stop>2051-08-26T08:29:39Z</stop>
      <index>0</index>
      <sv:delimiter>0</sv:delimiter>
      <sv:delimiter>0</sv:delimiter>
    </sessionSchedule>
  </serviceSchedule>
</scheduleDescription>
--xxx.yyy.zzz.--Rohde&Schwarz-BSCC--zzz.yyy.xxx--

Seamless Switching - Support for adjusted SA format

Description

The original seamless switching implementation was based on a SA format that seems to contradict the specification TS26.346 in some aspects. In the 5G-MAG call we agreed on a modified format as illustrated in the example below.

Proposed Solution

Add support for the new SA format and allow users to define the target format as part of the configuration file.

Additional Information

Example SA file

MIME-Version: 1.0
Content-Type: multipart/related; boundary="++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--"; type="application/mbms-envelope+xml"
Content-Description: LTE MBMS Service Announcement

--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--
Content-Type: application/mbms-envelope+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///envelope.xml

<?xml version="1.0" encoding="utf-8"?>
<metadataEnvelope xmlns="urn:3gpp:metadata:2005:MBMS:envelope"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="urn:3gpp:metadata:2005:MBMS:envelope MetadataEnvelope.xsd">
  <item contentType="application/sdp"
        metadataURI="file:///TMGI-0x1009f165.sdp"
        validFrom="2021-10-12T10:59:43Z"
        validUntil="2051-10-05T10:59:43Z"
        version="1"/>
  <item contentType="application/vnd.apple.mpegurl"
        metadataURI="file:///TMGI-0x1009f165.m3u8"
        validFrom="2021-10-12T10:59:43Z"
        validUntil="2051-10-05T10:59:43Z"
        version="1"/>
  <item contentType="application/vnd.apple.mpegurl"
        metadataURI="http://localhost:3333/watchfolder/hls/manifest.m3u8"
        validFrom="2021-10-12T10:59:43Z"
        validUntil="2051-10-05T10:59:43Z"
        version="1"/>
  <item contentType="application/mbms-user-service-description+xml"
        metadataURI="file:///usdBundle.xml"
        validFrom="2021-10-12T10:59:43Z"
        validUntil="2051-10-05T10:59:43Z"
        version="1"/>
  <item contentType="application/mbms-schedule+xml"
        metadataURI="file:///TMGI-0x1009f165schedule.xml"
        validFrom="2021-10-12T10:59:43Z"
        validUntil="2051-10-05T10:59:43Z"
        version="1"/>
</metadataEnvelope>
--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--
Content-Type: application/sdp
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165.sdp

v=0
o=ROHDE-SCHWARZ-BSCC 269087077 1634036383 IN IP4 11.11.11.11
s=HLS Streaming Session 0x1009f165
i=File Download Session
t=3843025183 4789105183
a=mbms-mode:broadcast-mbsfn 269087077
c=IN IP4 238.1.1.111/127
b=AS:2000
m=application 40101 FLUTE/UDP 0
a=flute-tsi:0
a=flute-ch:1
a=3GPP-QoE-Metrics:metrics={Object_Loss};rate=null;resolution=10
a=3GPP-QoE-Metrics:metrics={Network_Resource};rate=null;resolution=10

--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--
Content-Type: application/vnd.apple.mpegurl
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165.m3u8

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-STREAM-INF:BANDWIDTH=2305600,RESOLUTION=1280x720,FRAME-RATE=25.000,CODECS="avc1.64001f,mp4a.40.2"
stream_0.m3u8

--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--
Content-Type: application/vnd.apple.mpegurl
Content-Transfer-Encoding: 7bit
Content-Location: http://localhost:3333/watchfolder/hls/manifest.m3u8

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-STREAM-INF:BANDWIDTH=2305600,RESOLUTION=1280x720,FRAME-RATE=25.000,CODECS="avc1.64001f,mp4a.40.2"
stream_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1205600,RESOLUTION=960x540,FRAME-RATE=25.000,CODECS="avc1.64001f,mp4a.40.2"
stream_1.m3u8


--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--
Content-Type: application/mbms-user-service-description+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///usdBundle.xml

<?xml version="1.0" encoding="utf-8"?>
<bundleDescription xmlns="urn:3GPP:metadata:2005:MBMS:userServiceDescription"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"
                   xmlns:r7="urn:3GPP:metadata:2007:MBMS:userServiceDescription"
                   xmlns:r8="urn:3GPP:metadata:2008:MBMS:userServiceDescription"
                   xmlns:r9="urn:3GPP:metadata:2009:MBMS:userServiceDescription"
                   xmlns:r12="urn:3GPP:metadata:2013:MBMS:userServiceDescription"
                   xmlns:r14="urn:3GPP:metadata:2017:MBMS:userServiceDescription"
                   xmlns:r15="urn:3GPP:metadata:2018:r15:MBMS:userServiceDescription"
                   xsi:schemaLocation="urn:3GPP:metadata:2005:MBMS:userServiceDescription USD-schema-main.xsd">
  <sv:schemaVersion>1</sv:schemaVersion>
  <userServiceDescription serviceId="urn:3gpp:rsservice1"
                          r7:serviceClass="urn:oma:bcast:ext_bsc_3gpp:bscc:rsservice1"
                          r14:romService="true">
    <name lang="EN-GB">BSCC Service1</name>
    <name lang="DE-DE">BSCC Dienst1</name>
    <serviceLanguage>EN-GB</serviceLanguage>
    <serviceLanguage>DE-DE</serviceLanguage>
    <requiredCapabilities>
      <feature>23</feature>
      <feature>27</feature>
    </requiredCapabilities>
    <deliveryMethod sessionDescriptionURI="file:///TMGI-0x1009f165.sdp">
      <sv:delimiter>0</sv:delimiter>
      <r12:broadcastAppService>
        <r12:basePattern>stream_0.m3u8</r12:basePattern>
        <r12:serviceArea>2</r12:serviceArea>
      </r12:broadcastAppService>
      <r12:unicastAppService>
        <r12:basePattern>http://localhost:3333/watchfolder/hls/stream_0.m3u8</r12:basePattern>
        <r12:basePattern>http://localhost:3333/watchfolder/hls/stream_1.m3u8</r12:basePattern>
      </r12:unicastAppService>
      <sv:delimiter>0</sv:delimiter>
    </deliveryMethod>
    <r12:appService appServiceDescriptionURI="http://localhost:3333/watchfolder/hls/manifest.m3u8"
                    mimeType="application/vnd.apple.mpegurl">
      <r12:alternativeContent>
        <r12:basePattern>stream_0.m3u8</r12:basePattern>
        <r12:basePattern>http://localhost:3333/watchfolder/hls/stream_1.m3u8</r12:basePattern>
      </r12:alternativeContent>
      <r12:identicalContent>
        <r12:basePattern>stream_0.m3u8</r12:basePattern>
        <r12:basePattern>http://localhost:3333/watchfolder/hls/stream_0.m3u8</r12:basePattern>
      </r12:identicalContent>
    </r12:appService>
    <r9:schedule>
      <r9:scheduleDescriptionURI>file:///TMGI-0x1009f165schedule.xml</r9:scheduleDescriptionURI>
    </r9:schedule>
    <sv:delimiter>0</sv:delimiter>
    <r9:availabilityInfo>
      <r9:infoBinding>
        <r9:serviceArea>2</r9:serviceArea>
      </r9:infoBinding>
    </r9:availabilityInfo>
  </userServiceDescription>
</bundleDescription>
--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--
Content-Type: application/mbms-schedule+xml
Content-Transfer-Encoding: 7bit
Content-Location: file:///TMGI-0x1009f165schedule.xml

<?xml version="1.0" encoding="utf-8"?>
<scheduleDescription xmlns="urn:3gpp:metadata:2011:MBMS:scheduleDescription"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"
                     xsi:schemaLocation="urn:3gpp:metadata:2011:MBMS:scheduleDescription ScheduleDescription.xsd"
                     scheduleUpdate="2021-10-12T10:59:43Z">
  <sv:schemaVersion>1</sv:schemaVersion>
  <serviceSchedule>
    <sessionSchedule>
      <start>2021-10-12T10:59:43Z</start>
      <stop>2051-10-05T10:59:43Z</stop>
      <index>0</index>
      <sv:delimiter>0</sv:delimiter>
      <sv:delimiter>0</sv:delimiter>
    </sessionSchedule>
  </serviceSchedule>
</scheduleDescription>
--++++++++++++++++++++++++Rohde&Schwarz-BSCC++++++++++++++++++++++++--

some build issues

Describe the bug
I had a few build issues, mostly to do with missing header files.

missing filesystem. I had to change
#include <filesystem>
to
#include <experimental/filesystem>

missing async.h and spdlog.h. These files don't seem to be in the include directory. I had to copy these from the rt-mbms-modem include directory. Does this mean I have not installed the repository correctly?

I also had to add -lboost_system to the link rules in buid.ninja to get the executables to link

I am running Ubuntu 18.04.6 LTS

Investigate current (Rel.12?) mobile support (e.g. for Android)

Investigate what needs to be done to support migration to Android. What exactly needs to be implemented and changed to support Android devices.

This should also include an investigation how native Android implementations provide the 5G broadcast signal to the middleware.

Problem with mw

Hi!
I have an issue with 5G-MAG ref. tool.
We have a 5G BC signal from the transmitter site, R&S transmitter and core, UHF channel 42, BW 8MHz, subcarrier spacing 1.25kHz, circular polarization AS, clean LOS. The signal strength is 73dBuV on log-perodic antenna.
In the test we use RF Blade SDR and PC with i5-10500 [email protected]
We tried various combinations of module versions and the following combination proved to be the most stable:
Ubuntu 20.04
Modem 1.2.2
mw 0.9.1
Application 0.9.0

The problem consists in the following:
When restarting the modem, we first need to hide the antenna so that the CINR drops to about 1-2dB for the modem to synchronize and lock on the signal. We return the antenna to a stronger signal, the modem works stably for a few minutes and then breaks.
mw window doesn't look as it is described https://github.com/5G-MAG/Documentation-and-Architecture/wiki/Use-Case:-HLS-playback-over-5G-Broadcast and has no play button, so we can't get a video on the application. In mw version 0.9.0 the play button appeared sometimes, not every time.
ffplay is working fine, but since the modem is unstable, the video soon breaks.
Do you have any suggestions on what we could try to make the modem work stably and what to do with mw?

Modem status.txt
mw status.txt
5gmag-rt config file.txt

Missing package in build

Describe the bug
ninja build process of rt-mbms-mw fails with No package 'gmime-3.0' found

To Reproduce
cmake -DCMAKE_INSTALL_PREFIX=/usr -GNinja ..

Expected behavior

Screenshots

Desktop (please complete the following information):
Ubuntu 20.04

Additional context
Add any other context about the problem here.

Multicast sample files

In order to perform development work in the Gateway process without having to use the receiver it would be good to have multicast example streams available. The streams should be looped in order to enable longterm playback.

Support for ROUTE

Description

The ROUTE/DASH broadcasting method is designed to deliver DASH-formatted streaming content over ROUTE in the form of objects to a large number of broadcast receivers.

Background & Important terms

  • ROUTE was developed by extending FLUTE
  • ROUTE optimization principles
    • Reduction in metadata frequency using template mechanism
    • Enhanced metadata embedding in (ROUTE) packet header
    • Alleviating needs to know file sizes before start of sending to optimize end to end latency

Implementation steps & recommendations

to be discussed

Related specifications or documents

Broadcast on Demand

IIs your feature request related to a problem? Please describe.
Broadcast on Demand

Describe the solution you'd like
implement a feedback loop to a control system to get information about how many users watching what from 5G BC and/or OTT. Based on actual usage and threshold value (users per service per region) the control system should dynamically (de-)provision services on the 5G BC core the xMB interface.

ToDo's:

  • Implement (new) API between Gateway and Control System
  • Implement Control System
  • Implement xMB interface between Control System and BMSC
  • Add (new, missing) xMB requests to signal service configuration, additional SA information, encryption

Which parts of the reference client are affected

  • Gateway

Who takes care about the development

  • Development will be done by ORS development resources.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.