GithubHelp home page GithubHelp logo

jordijoangimenez / rt-5gms-media-stream-handler Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 5g-mag/rt-5gms-media-stream-handler

0.0 0.0 0.0 211 KB

5G Downlink Media Streaming - Media Stream Handler

Home Page: https://www.5g-mag.com/streaming

License: Other

Kotlin 100.00%

rt-5gms-media-stream-handler's Introduction

5GMS Media Stream Handler

This repository holds the 5GMS Media Stream Handler implementation of the 5G-MAG Reference Tools. Note that currently this implementation only supports downlink media streaming.

Introduction

The 5GMS Media Stream Handler is a 5GMS client component that forms part of the 5G Media Services framework as defined in ETSI TS 126.501.

Media Stream Handler (Media Player) for 5GMSd

A Media Stream Handler (Media Player) enables playback and rendering of a media presentation based on a media player entry and exposing some basic controls such as play, pause, seek, stop to the 5GMSd-Aware Application. It consumes media from the 5GMSd AS at reference point M4d.

Specifications

A list of specification related to 5G Downlink Media Streaming is available in the Standards Wiki.

About the implementation

The 5GMSd Media Stream Handler is an Android library that includes the ExoPlayer as a dependency. The 5GMSd Media Stream Handler implements an adapter around the ExoPlayer APIs to expose TS.26.512 M7d interface functionality. Moreover, a MediaSessionHandlerAdapter establishes a Messenger connection to the Media Session Handler. The 5GMSd Media Stream Handler is included as an Android library by 5GMSd-Aware Application.

Downloading

Release versions can be downloaded from the releases page.

We also publish this library as a Maven package on the 5G-MAG Github Packages .

The source can be obtained by cloning the github repository.

cd ~
git clone https://github.com/5G-MAG/rt-5gms-media-stream-handler.git

Building

Call the following command in order to generate the aar bundles.

./gradlew assemble

The resulting aar bundles can be found in app/build/outputs/aar/ and can be included in your project by specifying the path to the bundle.

Publish to local Maven Repository

The preferred way to include the 5GMS Media Stream Handler is via a local or remote Maven repository (see below). To include the library from a local Maven repository we need to publish it locally first:

./gradlew publishToMavenLocal

Include from local Maven Repository

To include the 5GMS Common Library from a local Maven repository apply the following changes.

Note: When using the other 5G-MAG client-side projects the changes below are already included. In this case the 5GMS Media Stream Handler only needs to be published to the local Maven repository (see above).

1. Add mavenLocal() to your project gradle file

dependencyResolutionManagement {
   repositories {
   mavenLocal()
   }
}

2. Include the 5GMS Common Library in your module gradle file

dependencies {
    // 5GMAG
    implementation 'com.fivegmag:a5gmsmediastreamhandler:1.0.0'
}

Development

This project follows the Gitflow workflow . The development branch of this project serves as an integration branch for new features. Consequently, please make sure to switch to the development branch before starting the implementation of a new feature.

rt-5gms-media-stream-handler's People

Contributors

dsilhavy avatar jordijoangimenez avatar rjb1000 avatar

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.