We have below requirement, please suggest how to implement the same.
Instead of storing videos in AEM DAM(for space and performance reasons), we have to store them at Akamai.
Create a custom AEM component, which should take path to Akamai video URL in dialog configuration.
Add this custom AEM component to a page and configure in Author and publish the page, the component should play/render the video fetching from Akamai.
Please provide best way to implement above requirement and some help pointers
Thanks in Advance!
I would look at building a custom component that can read the URL to where the videos are stored and then able to play them. You can look at using a JQuery plug-in. That will address your use case. https://www.learningjquery.com/2016/03/10-jquery-youtube-plugins
We have a community article related. We show how to create a component that plays videos from YouTUBE. But you will get the idea.
Below is the barebones strategy, modify it based on your requirements including security, accessibility, storage and other aspects. There could be other approaches to achieve it, hence, evaluate the pros and cons of each approach judiciously -
1) You would need to attach a storage with Akamai like S3 or something similar.
2) Mount a dedicated path for the videos that would be served from Akamai instead of AEM-DAM. Say /videos/* would be served from your videos storage otherwise all the traffic would be redirected to your origin server which would follow the normal cycle of LB > Apache
> publish server farm. Any request that contains the mounted path /videos would not reach publish servers but get routed to Akamai > Storage space
3) For authoring/pushing the videos to storage space attached to Akamai, set up a script/jenkins job/SFTP job or similar that would be attached to a shared folder where super-users would dump the video files in this shared folder to be pushed to storage space. This shared folder may/may not be an exact mirror of your storage space. Depending on your requirements of full load vs incremental load, tweak this piece of implementation.
4) You would code absolute urls of videos in your video component (either prod or non-prod absolute urls, depending on how many workspaces/instances you have with Akamai for both prod/non-prod)
5) For flushing videos cache/maintenance, you would simply push the appropriate files to storage space.
Work with your IT team to evaluate the security risks/concerns around it based on your setup and with content authors to make sure that you would lose on AEM-DAM features like versioning, metadata etc.