Akamai Integration - web-services

I want to use Akamai to store files. I want to know whether Akamai provides any API (e.g. web services) for us to upload, download, list files? Appreciate if anyone could provide some documents for a newbie.
Another question is, if I upload video files to Akamai, does it provide video streaming capability?

Akamai provide an API to allow your customers to download files.
From their web site it is called "Client-side Downloads"
Client-side Downloads offers the ability to offload a significant
portion of edge delivery onto a managed and secure network of clients
- using client-to-client delivery - to provide a lower cost download
solution that respects the clients. Good uses may include software
downloads, patches, and updates, background software and drivers, and
downloadable video and games used by about a thousand or more people.
http://client.akamai.com/misc/demos
Here is further detail on how to interact with their API
http://client.akamai.com/misc/demos/csd-index.html
I was at their presentation the other day and they spoke about a Video Stream product coming out mid to late 2012.
I ran into another company that did video hosting and streaming called Movideo

Related

Zip images on web server and return the url

I am currently looking for a way to improve the traffic flow of an app.
Currently the user uploads his data via the app, using Google Cloud Platform as storage provider. Other users can then download this data again.
This works well so far, but since the download traffic at GCP is relatively expensive I had the idea to outsource this to a cheap web server.
The idea is that the user requests the file(s) at GCP. There it is checked if the file(s) are already on the web server. If not, the file(s) will be uploaded to the server.
At the server the files are zipped and the link is sent back to GCP, where it is emailed to the user.
TL:DR My question is, how can i zip a specific selection of files on a web server without nodejs etc. and send the link of the generated file back to GCP
I'm open for other ideas aswell
This is a particular case, covered by Google Cloud CDN (Content Delivery Network) service.
As you can read here, there already is a way to connect the CDN to a Storage bucket, and it will do exactly what you've thought to do with your own web server. The only difference is that it's already production ready. It handles cache misses, cache hits and so on.
You can compare the prices: here you can find CDN prices, and here you can find Storage prices. The important difference is that Storage costs per TB of Egress, meanwhile CDN costs per 10TB of Egress, and the price is still lower.
Of course, you can still stick to your idea. I would implement it by developing a REST API. The API, with just one endpoint will serve the file, if it is present on the web server. If it is not present, it will:
perform a redirect to the direct link for the file hosted in Storage;
start to fetch the file form Storage and put it in the cache.
You would still need to handle the cache: what happens when somebody changes a file? That's something related to the way you're working with those files, so it strictly depends on your app functional domain, and in any case, Cloud CDN would solve it without any further development.

Is there any utility to manage content for eLearning site?

Is there a tool available that can help manage (create courseware, upload etc) training content on AWS and provide apis to access the training content? Training material consist of audio and video files
Try Articulate 360. They offer both online and downloadable development tools. You can create, store, share, have SMEs validate content. They even have an integrated LMS. Video development etc. I use this product for my eLearning development on a daily basis.

Video download from Amazon S3 in India takes too much time

I am trying to create a video sharing app for only one country (India). My bucket is in the India region. The size of videos will be of approximately 18MB each.
The video download takes too much time (~4mins) to download even via CloudFront. How can I accelerate my S3 download speed?
Apps that play streaming video do not download an entire video file before playing. Rather, they use a video protocol that only downloads a few seconds at a time. Amazon CloudFront can support these protocols, such Adobe's Real-Time Message Protocols and Microsoft Smooth Streaming.
See: How RTMP Distributions Work
Therefore, the time for the actual file to download is not important. Rather, the time to serve the first portion of the video is most important, followed by the ability to continue serving content as fast as the viewer consumes the content.
Connections speeds will, of course, vary depending upon each user's own Internet connection -- therefore, it is best to test the speed of your application's video playing ability from many different ISPs and types of Internet connections.

Record live streaming video with WebRTC and stream with AWS

I'm trying to develop a website that basically lets a user visit a page, and lets say click a button, and use their built in camera to live stream videos with audio to others that visit another url.
I need some clarity on what I need to develop, what I can get from 3rd party to save time. AWS looks to cover all the encoding and delivery http://aws.amazon.com/cloudfront/streaming/, but I'm confused on the process on which I should record and delivery the content to S3. Just to much information overload.
In all my research I looks like I should build a WebRTC, which I have done, then transport that data with javascript from the clients browser to my server, and thus to AWS. Is this the best format, or should I been using a 3rd party thats putting more time into that element?
I have seen the Kurento project, as well as this RecordRTC project.
Like I said, I'm finding there is just to much information overload on the topic.
So what are my options for:
In browser recording with WebRTC. Anything else I should do or just force users to roll up to a supporting browser?
WebRTC means I have to do Javascript for the delivery, is node a better option for the server to take delivery of this streaming data?
Anything else I need to know before I pass it off to S3 for delivery to the cloud front?
As you can see the core of my question comes within the recording and transporting the data to the web server so I can delivery it for streaming.
I am looking for the same thing.
In 2020, it seems it should be possible with RecordRTC and then uploading blobs / multiform data directly to S3.

How to stream video in a django app

I'm looking to stream video's as part of a django app, but I've never done anything with video and don't really know where to start. I don't have all the details of the project yet, but I'm expecting a fairly small library of videos uploaded by one or two people (Think less than 100 videos of about 5 mins length).
I'm looking for a solution that allows users to upload videos using django admin. I want to reach the majority of desktop browsers (95%+), and obviously I want to keep my costs down. Saying that I do like the idea of using some sort of cloud based CDN (I've no idea if that's possible / appropriate for this size of project)
I really want to ask if anyone can point me int he right direction (tutorials / services / projects / code), but I realise that might not be specific enough.
So to be more specific -
Is it possible to stream video to browsers using just django and an apache web server?
What cloud hosting providers will support easy integration with a django app?
Will I need to convert the format of my video's before they're ready to stream?
Can I use Red5 with a cloud hosting solution.
I want to host the project on a Ubuntu server that I use to host a
couple of other (low traffic) django apps - would it be a mistake to install Red5
on a server with existing sites.
From recollection, the server has 12GB RAM and 4 cores (in a 1and1
uk datacentre). Will I have enough power / bandwidth to stream say 3-5 video's simultaneously? (assuming red5 / wowza).
I'm not interested in Flash because I was rooting for Apple. Do I
need to need to re-evaluate my prejudices to be free of my ignorance?
I never streamed videos using Django/Python, but I have some experience in the field of streaming video in frontend apps. I can certainly not answer all your questions. In my experience it does not really matter where the video is hosted, a CDN is fine if you want to distribute the video world-wide.
I personally think you should start with the question on how you want to play the video in the browser. Choose an appropriate video player (could be html5 video) and you have an idea of what is possible to play and what not.
3) The format matters depending on how you want to stream the video. Progressive download (e.g. mp4)? Live streaming (unprogressive, e.g. HLS)? You can find example videos online and test if your video player can play the videos on the platform you want to support.
7) As said, you need to check out which player to use in this case. HTML5 video is not widely supported enough yet in my opinion, but can play most formats in the most modern browsers (Chrome, Safari).
Hope that helps.