Xamarin.MediaManager RTP STream - xamarin

I have a Xamarin app that works using MediaManager and plays video content as needed, however I need to also play RTP/RTSP streams not just Http streams. I have tried and it dosn't seem to work on IOS/iPad (required device), has anyone seen this working?
The github repo says it should work but I can't seem to get it going.
<forms:VideoView x:Name="videoView"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
Source="rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov"
AspectMode="AspectFill" />

Plugin.MediaManager uses the native AVPlayer and thus RTMP/RTSP is not supported.
Apple does not natively support RTMP (Real Time Messaging Protocol) in their OSs (iOS, tvOS, macOS). HTTP Live Streaming (HLS) is natively supported (RFC8216).
Also see: https://stackoverflow.com/a/47596246/4984832
Send live and on‐demand audio and video to iPhone, iPad, Mac, Apple TV, and PC with HTTP Live Streaming (HLS) technology from Apple.
https://developer.apple.com/streaming/

Related

Xamarin and play videos with FairPlay or other DRM

I'm trying to stream a content from Azure Media Services, but I can't get it to work, so I'm wondering if it's doable, and if so, how do I achieve it? The content is protected by FairPlay. Similar issues on Android and Windows.
I tried to use Xamarin Media Player but it doesn't work with FairPlay because it requires an ExoPlayer2 implementation which is not yet in the plugin.
I don't think that is possible with the current version of the Xamarin Media Manager. Let me also correct the mistaken assumption about ExoPlayer2. ExoPlayer is a strictly Android only playback component, and so has nothing to do with FairPlay at all, as FairPlay is Apple only technology.
For FairPlay to work, you have to listen to events that are specific for FairPlay to handle the license exchange. Those do not seem to be implemented in Xamarin Media Manager as far as i can see. So you would have to do those platform specific implementations yourself. Information about these can be found on the Apple Developer site.
For Android, you would likely want to go with Widevine, which is implemented in ExoPlayer. I can't find any documentation for Xamarin Media Manager on how to set that up either though.

xamarin tvos live broadcast

I try to play live broadcast video on xamarin.tvos app, but not found the any solution(i see all live streaming solutions).
How to play live broadcast video(ex. rtmp) on xamarin.tvos app?
thnx all.
Apple does not natively support RTMP (Real Time Messaging Protocol) in their OSs (iOS, tvOS, macOS). HTTP Live Streaming (HLS) is natively supported (RFC8216).
There are a number of 3rd-party RTMP libraries (OSS, dual license and commercial/proprietary) that will work on the various Apple OSs.
A Few Examples:
SGPlayer (LGPL as it uses FFMPEG)
VideoKit (Dual license / GPL and Commercial)
VLC (GPL)
SmarterStreaming (Dual license)
etc...
There are many more libraries with all the core transcoding done in C/C++/ObjC (some have Swift framework wrappers) so you can consume them via a Xamarin.iOS binding library. Google/Bing is your friend...

play MPD file of mpeg-dash on android and IOS

I have used ffmpeg to create a MPD file for my video, and I could play and watch it on my pc using :http://dashplayer.azurewebsites.net/
now I want to make sure it works and plays appropriately on andoid and IOS, could anyone tell me how to test this file on android and IOS?
I'm not sure if you want web-based playback or native apps, so I'll try to cover both:
Android
On Android (depending on the version / browser) this should work fine.
Web
At least Chrome works, but also other browsers might. You will just need a web-player which supports DASH, e.g. Shaka Player, Bitmovin Player or dash.js.
Native apps
For native apps, you could use e.g. Google's ExoPlayer.
iOS
Assuming that you are using fragmented mp4 for your DASH content:
For iOS 10+ you could just create an HLS manifest and re-use the same segments as for DASH. For older iOS versions you will need to create MPEG-2 Transport Stream (.ts) segments plus the HLS manifest:
Web
For a web-based solution, there is currently no way to achieve MPEG-DASH playback on iOS as Safari on iOS does not provide the required JavaScript API, the Media Source Extensions (MSE).
Native apps
It could technically be possible to use MPEG-DASH, but Apple doesn't allow any other streaming format than HLS for content longer than 10 minutes, as stated in the App Store Review Guidelines:
2.5.7 Video streaming content over a cellular network longer than 10 minutes must use HTTP Live Streaming and include a baseline 192 kbps HTTP Live stream.

How to get Live video stream from Epiphan to VLC player?

Is there any way to get the live stream from the Epiphan device using Epiphan SDK to play the same in VLC or ffplay?
Using EPIPHAN SDK, I am able to grab the frames and also their SDK provides a way to convert the frames to GUI but i am not able to find a way to get the live stream of video.
Does ffmpeg lib provide a way to do so?
NitinG,
You don't need SDK itself for that. Epiphan driver already exposes the device via DirectShow/V4Lx interfaces (depending on the OS). It basically looks like a camera for VLC or ffmpeg. Start VLC and go to "Media"->"Open Capture Devices".
You need SDK only if you want to have programmatic access to more advanced, low level features that are difficult to expose over DirectShow or V4Lx interfaces.
Cheers.

Windows 8 tablet streaming support

Does anyone know which video streaming delivery methods will be supported natively and within metro style apps on Windows 8 tablets (and also Windows Phone 8)?
I am hoping one of the following will be supported natively:
Apple HLS (Http Live Streaming)
Microsoft Smooth Streaming
RTSP streaming
I know Smooth streaming is supported in metro style apps, but I can't find any way of presenting links on my site which (if clicked) hand off video play back to the native video player.
Any ideas would be greatly appreciated.
Thanks,
There is no default player (like Windows Phone) on Windows 8, you will have to use some libraries.
Try this one:
http://playerframework.codeplex.com/

Resources