• Stars
    star
    158
  • Rank 237,131 (Top 5 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created about 9 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An advanced media player library, simple and reliable

SRG Media Player logo

GitHub releases platform SPM compatible GitHub license

About

The SRG Media Player library provides a simple way to add universal audio / video playback support to any application. It provides:

  • A controller with precise playback state information and and a simple but powerful playback API.
  • Automatic integration with AVPlayerViewController.
  • A set of overlays which can be combined to create custom player user interfaces.
  • Support for subdivision of medias in (non-overlapping) sequences, which can provide am additional finer-grained playback structure or block playback to parts of the content.
  • Support for on-demand, live and DVR streams.
  • Support for 360Β° and cardboard playback.
  • Ability to use several instances of the player at the same time.

Compatibility

The library is suitable for applications running on iOS 12, tvOS 12 and above. The project is meant to be compiled with the latest Xcode version.

Contributing

If you want to contribute to the project, have a look at our contributing guide.

Integration

The library must be integrated using Swift Package Manager directly within Xcode. You can also declare the library as a dependency of another one directly in the associated Package.swift manifest.

Usage

When you want to use classes or functions provided by the library in your code, you must import it from your source files first. In Objective-C:

@import SRGMediaPlayer;

or in Swift:

import SRGMediaPlayer

Working with the library

To learn about how the library can be used, have a look at the getting started guide.

Logging

The library internally uses the SRG Logger library for logging, within the ch.srgssr.mediaplayer subsystem. This logger either automatically integrates with your own logger, or can be easily integrated with it. Refer to the SRG Logger documentation for more information.

Control preview in Interface Builder

Interface Builder can render custom controls dropped onto a storyboard or a xib. If you want to enable this feature for SRG Media Player controls, copy the SRGMediaPlayerDesignables.m file available from the Swift Package Manager checkout to your project and add it to your target.

When dropping a media player control (e.g. SRGPictureInPictureButton) onto a storyboard or xib, Xcode will now build your project in the background and render the view when it is done.

Remark

Since the SRGMediaPlayerDesignables.m must be copied to your project, you should update this file when updating the SRG Media Player library.

Demo project

To test what the library is capable of, run the associated demo.

License

See the LICENSE file for more information.

More Repositories

1

pillarbox-apple

A next-generation reactive media playback ecosystem for Apple platforms.
Swift
49
star
2

playsrg-apple

The Play SRG applications for iOS and tvOS
Swift
44
star
3

videojs-hlsjs

HLS playback plugin for videojs
JavaScript
27
star
4

srgmediaplayer-android

SRG Media Player Library
Java
20
star
5

srgletterbox-apple

The official SRG SSR media playback experience
Objective-C
14
star
6

pillarbox-web

JavaScript
11
star
7

pillarbox-android

The modern SRG SSR Pillarbox player targeting Android platforms
Kotlin
11
star
8

srglogger-apple

A tiny logging framework
Objective-C
5
star
9

videojs-ttml

TTML Text track plugin for videojs
JavaScript
5
star
10

recipes

Autopkg recipes
Python
4
star
11

pillarbox-web-suite

A suite of plugins, themes, and components for pillarbox-web
JavaScript
4
star
12

GoogleCastSDK-ios-no-bluetooth

Repository for GoogleCast SDK integration with SPM (no Bluetooth, iOS only)
Swift
4
star
13

layered-image-generation-apple

Instructions and tools for generating layered images for tvOS
JavaScript
3
star
14

pdpcore-schema

PDPCore MetaData Schema Specification
3
star
15

pillarbox-documentation

Technical cross-platform documentation for Pillarbox
3
star
16

PowershellScriptsSelection

Selection of Powershell scripts which have been created for the management of Windows 10. Also some useful scripts for migrating from Windows 7 to Windows 10
PowerShell
3
star
17

videojs-offset

Plugin for playing a segment of a video with videojs
JavaScript
2
star
18

rts-development-guidelines

Guides and templates for standardizing project quality at RTS
HTML
2
star
19

pillarbox-web-demo

Demo application for the pillarbox-web
JavaScript
2
star
20

.github

Github actions workflow templates
1
star
21

GoogleCastSDK-no-bluetooth

Repository for GoogleCast SDK integration with SPM (no Bluetooth, universal)
Swift
1
star
22

TestPrep

Java
1
star
23

docker-md2cf

Makefile
1
star
24

srgssr-publication-data-api

Python client to conveniently query PDP's GraphQL API
Jupyter Notebook
1
star
25

WakeUp

WakeUp is an application which can prevent the screen saver based on the applications which are running on a machine.
C#
1
star
26

srgdiagnostics-apple

A diagnostics framework
Objective-C
1
star
27

react-native-pillarbox

Java
1
star
28

videojs-chromecast

JavaScript
1
star
29

playsrg-playfff

Play Features and Functionalities with Flair, a Play SRG service for Play SRG mobile applications
Java
1
star
30

pillarbox-web-theme-editor

An online theme editor for pillarbox-web
JavaScript
1
star
31

srgidentity-apple

The SRG signup and login framework
Objective-C
1
star