We have an AEM server. One of our DAM users want to put videos in DAM and want stream that video from DAM itself. Is there an API that supports this feature which I can use to create a bundle in AEM so that the bundle will handle streaming. The OTB feature of DAM does not support the streaming functionality as of now
We can integrate external streaming video providers like ooyala with AEM .
Adobe provides Dynamic media which is a cloud hosted solution and AEM has OTB integration with this service .The details of Dynamic media can be found here in this link
Related
I am using StreamYard services to do a live stream to multiple destinations like Facebook and youtube. I want to create a mobile app using flutter that can receive that stream and use it (i mean to display the live stream). Streamyard uses only RMTP for a custom destination.
My question is: is there a way to create and host a custom RMTP online that can be shared between the StreamYard platform and my mobile app. I want it to work whenever I do live stream from the StreamYard it will be shared to Facebook, youtube, and my mobile app as well. I have done a lot of research but i find out the only way is to use windows or linux as a host, which i want it online.
Also, alternative solutions are welcome like using webRTC.
Because you use StreamYard, I think you need to use the INVITE feature to start a Video Chat then convert to live streaming, it works like bellow:
UserA --WebRTC--->---+
+--->- StreamYeard -->-RTMP-->- YouTube/Twitch.tv
UserB --WebRTC---->--+
You need to buy a non-free plan to support Custom RTMP destinations to publish the RTMP to your media server like SRS or Nginx, then you could broadcast to multiple destination, like this:
+->-- YouTube/Twitch.tv
|
StreamYeard ->-RTMP-+->- Custom RTMP destinations --+--RTMP-> YouTube/Twitch.tv
(SRS/Nginx media server) |
+--HLS/FLV--> Flutter App
Note: Once streaming to your RTMP server or video cloud platform, you could covert to HLS/HTTP-FLV for your FlutterAPP to play it. About player and protocol, please read here. It depends on which part you want to build by yourself, and it's possible to build by open-source projects.
Note: Note that you could use StreamYeard to streaming to YouTube and Custom RTMP server, or use FFmpeg to pull stream from your custom server then publish to any other live streaming platform.
For this solution, the StreamYeard actually plays as Video Chat or video conference platform, like ZOOM. It will transcode each WebRTC stream and mix all the audio and videos to one RTMP stream.
So you could use WebRTC server to build your StreamYeard, then use FFmpeg to transcode and mix the streams, because it is off topic so let me stop here.
We are very small junior school private tutors have setup of an online portal where students can login and watch the daily video lectures. We have many videos uploaded to Azure media services but we realized the encoding cost is high and not affordable. So I encoded a video using FFMPEG and generated m4s and audio file and .mpd (metadata) using MPBox in my local.
I have copied all the files on Azure blob storage and blob storage have HTTPS access. Can I use .mpd as source url for Azure media player ?
e.g. Azure media player source is //amssamples.streaming.mediaservices.windows.net/3b970ae0-39d5-44bd-b3a3-3136143d6435/AzureMediaServicesPromo.ism/manifest
but my generated metadata from MPDBox is
https://bb.sourceoftraining.companywebinternet.storage/ssj-ewrrer-2343s-ssssdf23/process_and_benifits.mpd
Or any other player I can use. I tried Shaka player but unable to show the Resolution and Playback speed settings.
Uploading pre-encoded MP4's works just fine. I suggest you download the latest version of the Azure Media Explorer tool for the v3 API. In there you can now upload an MP4 into a new asset, and have it generate the client and server manifests needed for streaming. Just upload to a new empty Asset, and then double click on the asset to get to the tab for the files, and click the generate manifests buttons.
That pre-gens the required manifest files needed for streaming an MP4 that is pre-encoded with closed 2 second GOPs. The tool pre-generates both the client and server manifest and saves them back into the asset to improve the playback performance from the streaming server.
You can use Azure Media Player to play back DASH, Smooth, or HLS - but the technology that it chooses to use for playback differs by platform. For example depending on the browser version, OS, or mobile client it will chose to load a different player tech or it will use the built-in OS player support.
https://learn.microsoft.com/en-us/azure/media-services/azure-media-player/azure-media-player-overview
For DASH content (.mpd) the AMP player chooses to use Dash on Windows, and on Android in specific conditions. It does this by detecting the platform and using the right tech combined with the /manifest(format=mpd-time-cmaf) format on the URL. You can learn more about how "dynamic packaging" works in AMS here - https://learn.microsoft.com/en-us/azure/media-services/latest/dynamic-packaging-overview
There are various "format" options on the streaming locator URL in AMS that provide different manifest formats back.
Smooth Streaming = /manifest
MPEG-DASH-CMAF = /manifest(format=mpd-time-cmaf)
HLS with CMAF = manifest(format=m3u8-cmaf)
HLS v3 (TS) = /manifest(format=m3u8-aapl-v3)
Using one of those various formats, you can use any 3rd party player that supports them. Shaka, HLS.js, Exoplayer on Android, iOS AvFoundation native player, Video.js, or even the 'adpater-player' noted by Jason above. Any player that supports the current HLS or DASH specifications should work.
If you have School email addresses that you can use for yourself and your students the simplest solution would be to leverage capabilities from Microsoft Stream via the free O365 education plan - https://www.microsoft.com/en-us/microsoft-365/academic/compare-office-365-education-plans. Info on Microsoft Stream at https://www.microsoft.com/en-us/microsoft-365/microsoft-stream.
And to clarify feedback Jason Pan just provided, while Azure Media Player doesn't support just pointing at .mpd file for playback this is rather done via first creating appropriate server manifest and then requesting .mpd manifest via format option in the URL clients will use to request content. Media Services will then dynamically create the appropriate manifest to respond to the client request. See John's response for links to articles with additional feedback on this.
If you use Shaka Player's UI library, you'll be able to display the Resolution and Playback speed settings.
Shaka UI library Shaka Player Demo
We're trying to implement the Azure Media Player into our site. I've noticed in some samples the azure media play can have a track selection and bit-rate controls.
For example http://ampdemo.azureedge.net/
How do we get them to appear in our player? I can't see this as a configuration option in the documentation
This isn't quite a configuration for the player. Rather, it's a menu that is displayed when the platform and type of content supports adaptive multibitrate streaming. if you set up an adaptive AMS stream to playback in a modern browser it should show up automatically. Let me know if this makes sense/if you have more questions on how to use Azure Media Services and AMP.
I am making an iPhone application which will send video to a server for live streaming and I wanted to know that do we require a media server for this?
Yeah, You need to create a media server. You can send your streams to server from mobile using one of the many SDKs available.
For media server:
There are many ways that you can setup a server. For now lets see RTMP server which could be used with nginx. You can use hls(HTTP Live Streaming) as stated in above with this package. Here, the RTMP Server will receive the stream and converts it into the hls recommended format and HTTP server will distribute the streaming.
This link will provide you more information.
To distribute your media content you can use an ordinary HTTP server. If you want to provide live content, you need a server component that encapsulates your content into a format that can be distributed over HTTP.
Apple provides a suite of command line utilities that allow you to prepare your content. Just search for "HTTP Live Streaming Tools" at https://developer.apple.com/downloads
The HTTP Live Streaming Overview also is a good starting point.
we have to develop a commercial video streaming application for iPhone & within that app we are planning to integrate additional searching functionality for Google Video & You Tube. I want to know following points,
Where can i find the Google video API & You Tube API ?
Will there be any legal issue on Google Video & You Tube video integration on commercial products, Form whom we have to the approval? Is there any standard procedure on this
You are allowed to do this but there are some restrictions
Take a look at the Terms of Service Point 1.2 Commercial Usage and Using the YouTube APIs to Build Monetizable Applications (too much to include in this answer)
Objective-C APIs for Google services are at http://code.google.com/p/gdata-objectivec-client/
YouTube provides an API, including video searches; Google Video does not.
Google APIs are intended for use in commercial applications, but carefully read the YouTube FAQ and the associated terms of services documents.