.. Copyright (c) 2008-2016 OpenShot Studios, LLC (http://www.openshotstudios.com). This file is part of OpenShot Video Editor (http://www.openshot.org), an open-source project dedicated to delivering high quality video editing and animation solutions to the world. .. OpenShot Video Editor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. .. OpenShot Video Editor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .. You should have received a copy of the GNU General Public License along with OpenShot Library. If not, see . Introduction ============ OpenShot Cloud API is a REST-based framework, which allows videos to be created, edited, transcoded, animated, and much more! It can be quickly integrated into websites, mobile applications, desktop applications, and just about any programming language which supports HTTP requests. Features -------- * Cross-platform (powered by simple HTTP requests: GET, POST, PUT, PATCH, DELETE) * Support for many video, audio, and image formats (based on FFmpeg) * Powerful curve-based Key frame animations * Desktop integration (for template creation) * Unlimited tracks / layers * Clip resizing, scaling, trimming, snapping, rotation, and cutting * Video transitions * Compositing, image overlays, watermarks * 2D animation support (image sequences) * SVG friendly, for scalable vector text, captions, titles, and credits * Generate thumbnail images for any video * Detailed metadata for media (video, audio, and images) * Frame accuracy (highly accurate edits) * Time-mapping and speed changes on clips (slow/fast, forward/backward, etc...) * Audio mixing, editing, and volume control * Digital video effects, including brightness, gamma, hue, greyscale, chroma key (bluescreen / greenscreen) , and more! * Highly scalable (built-in support for render queues, SQS messaging, and EC2 auto-scaling) * Secure and easy to integrate with SSL and load balancers (runs on your own EC2 account) * See :ref:`release_notes_ref` for information on recent releases. Examples -------- The following `curl` commands create an entire video project (from creating a new project and uploading a file, to adding and animating a clip, and then exporting to a new video file). As you can see, it only takes a few parameters and a hand-full of HTTP POST requests to edit videos with OpenShot Cloud API! See :ref:`schema_documentation_ref` to learn more about the available **endpoints**. .. code-block:: bash # Create a Project curl -XPOST -d '{"name":"Example Project","width":1920,"height":1080,"fps_num":30,"fps_den":1,"sample_rate":44100,"channels":2,"json":{}}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/projects/' # Upload a file curl -XPOST -d '{"media":null,"project":"http://cloud.openshot.org/projects/INSERT-PROJECT-ID/","json":{"url": "https://www.openshot.org/static/img/logos/logo.png"}}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/files/' # Create a clip curl -XPOST -d '{"file":"http://cloud.openshot.org/files/INSERT-FILE-ID/","position":0,"start":0,"end":10,"layer":1,"project":"http://cloud.openshot.org/projects/INSERT-PROJECT-ID/","json":{}}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/clips/' # Animate the clip curl -XPOST -d '{"preset": "Zoom In", "length_in_seconds": "3.0", "curve": "Ease In"}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/clips/INSERT-CLIP-ID/presets/' # Export the project to a MP4 curl -XPOST -d '{"export_type":"video","video_format":"mp4","video_codec":"libx264","video_bitrate":8000000,"audio_codec":"aac","audio_bitrate":1920000,"start_frame":1,"end_frame":0,"project":"http://cloud.openshot.org/projects/INSERT-PROJECT-ID/","webhook":"","json":{},"status":"pending"}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/exports/' # Check export progress and access new video file (when it's ready) curl -XGET -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/exports/INSERT-EXPORT-ID/' Screenshot ---------- .. image:: images/root-ui.png System Requirements ------------------- Video editing benefits from large amounts of memory, modern CPUs, and fast hard-drives. We recommend using the best servers you can afford. Video rendering is queued, and processed one video at a time. Scaling must be done horizontally, by adding additional workers. * 64-bit Operating System (OpenShot Cloud AMI is based on **Ubuntu 18.04 LTS Server**) * Multi-core processor with 64-bit support. CPU is one of the largest factors in performance. * 8GB of RAM (16GB recommended) * 50 GB of hard-disk space minimum * Recommended EC2 Instance Types (choose the best you can afford) * c5.xlarge (inexpensive, but slower render times) * c3.2xlarge (moderately expensive, but faster render times) * c5.4xlarge (expensive, but very fast render times) * See also :ref:`scaling_ref`. License ------- OpenShot Cloud API is licensed commercially, and distributed through the `Amazon AWS Marketplace `_ and the `Azure Marketplace `_. Source code is also provided and you are welcome to modify the code and features, and tweak things for your specific needs. Proceeds go towards supporting our free, open-source OpenShot Video Editor desktop application (http://www.openshot.org).