Skip to content

CongLeSolutionX/JuvoPlayer

 
 

Repository files navigation

JuvoPlayer

The reference for developers of streaming live TV and VOD Tizen .Net applications. The GUIs (alternative) are built on XamarinForms framework and Tizen Native with OpenGL. This sample illustrates how to utilize the elementary streams data source API (demuxed audio and video). The DRMed (MS PlayReady by CENC interface) and clean content can be played. MPEG DASH and RTP/RTSP content delivery protocols clients are integrated with the app (no TV platform dependency). The HLS protocol and demuxing of the streams are handled by the FFMPEG library incorporated as .so binary files.

Dependencies

  1. FFmpeg 3.3.6 'Hilbert' - library (binaries) acting:
  • HLS protocol scenario's downloader and demuxer
  • RTP/RTSP protocol based scenario's demuxer.
  • MPEG DASH protocol based scenario's demuxer.
  1. https://github.com/ngraziano/SharpRTSP . (RTSP module, 23rd December 2018) - RTP/RTSP protocol scenarios downloader
  1. Samsung TV firmware - This component comes with a Samsung 2019 TV device
  2. Video content URLs embeded in videoclips.json files. See in the project tree:
  • XamarinPlayer.Tizen.TV\shared\res\videoclips.json
  • JuvoPlayer.OpenGL\shared\res\videoclips.json

Setup instructions

  1. Download .zip or clone the repository to your HDD.
  2. Open the JuvoPlayer solution with Microsoft Visual Studio. See the articles regarding Tizen .Net TV environment setup here: https://developer.samsung.com/tv/tizen-net-tv
  1. Setup the nuget packages repository for the solution (restore NuGet packages)
  2. Set one of the GUI projects as startup. Choose one of the following:
  • XamarinPlayer
  • JuvoPlayer.OpenGL

Application launch

  1. Connect with the TV set using the 'Device Manager' tool installed together with the Tizen Tools package see more in https://developer.samsung.com/tv/tizen-net-tv
  2. Start the select GUI project by pressing F5 (debug) or ctrl+F5 (release)

Features and release notes

JuvoPlayer 1.4.9 (beta)

  1. Features:
  • All features of the JuvoPlayer 1.4.8
  • JuvoPlayer backend stability improvements
  1. Known issues:
  • Right after the finishing seek in HLS streams there is a short video pause until the audio catch up. It is a result of FFmpeg 'seek' function specific.

JuvoPlayer 1.4.8 (beta)

  1. Features:
  • All features of the JuvoPlayer 1.4.7
  • JuvoPlayer backend stability improvements
  • Multitasking issue solved (see known issues in v1.4.7)
  • HLS and MP4 over HTTP seek in stream (FFW, REW) function implementation.
  1. Known issues:
  • Right after the finishing seek in HLS streams there is a short video pause until the audio catch up. It is a result of FFmpeg 'seek' function specific.

JuvoPlayer 1.4.7 (beta)

  1. Features:
  • All features of the JuvoPlayer 1.4.6
  • Static splash screens for Open GL and Xamarin GUIs
  • JuvoPlayer backend stability improvements
  1. Known issues:
  • Multitasking - switching between runing apps - video sometimes do not recover

JuvoPlayer 1.4.6 (beta)

  1. Features:
  • All features of the JuvoPlayer 1.4.5
  • Update - sync with the original GitHub project - of the RTSP module code (see dependencies)
  • Memory management optimizations (stability improvements)
  • Support for x86 processors architecture (TV emulator)
  • SimplePlayer GUI project added for illustrating simple playback scenario
  1. Known issues:
  • Multitasking - switching between runing apps - video sometimes do not recover

JuvoPlayer 1.4.5 (beta)

  1. Features:
  • All features of the JuvoPlayer 1.4.4
  • The FFW and REW 'in progress' on screen notification
  • Live Stream sample change to 'Big Buck Bunny' video clip
  1. Known issues:
  • RTP/RTSP playback does not start (regresion)
  • Not enoght memory for UHD Widevine DRMed video (Tears of steel)
  • Multitasking - switching between runing apps - video sometimes do not recover

JuvoPlayer 1.4.4 (beta)

  1. Features:
  1. Known issues:
  • RTP/RTSP playback does not start (regresion)
  • Not enoght memory for UHD Widevine DRMed video (Tears of steel)
  • Multitasking - switching between runing apps - video sometimes do not recover

JuvoPlayer 1.4.3 (beta) includes:

  1. Xamarin Forms and Tizen OpenGL Native based user interface capable to:
  • Select video clip from a list
  • Start of selected video playback
  • Pause of video playback
  • Stop of video playback
  • Fast Forward & Rewind (MPEG-DASH only)
  1. MPEG DASH streaming protocol - fragmented and chunked mp4 (byte range) containers support.
  2. MPEG DASH + PlayReady DRM decryption and playbackof FHD and UHD content.
  3. MP4 over HTTP protocol (download and demuxing by FFMPEG lib)
  4. HLS (downloading and demuxing by FFMPEG)
  5. RTP/RTSP (download by third party RTP library demuxing with FFMPEG)
  6. SRT subtitles rendered in the clean HD, FHD, UHD VOD content streamed over MPEG-DASH protocol.
  7. Web VTT subtitles rendered in the clean HD, FHD, UHD VOD content streamed over MPEG-DASH protocol.
  8. Picture quality manual selection on VOD content streamed over the MPEG-DASH protocol.
  9. Live MPEG DASH streams playback
  10. Adaptive playback quality depending on the available bandwidth
  11. The Smart Hub Preview including deeplink launch

About

The reference for developers of streaming live TV and VOD Tizen .Net applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.1%
  • Other 0.9%