Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of...

Post on 04-Jun-2020

20 views 0 download

Transcript of Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of...

Wowza Streaming CloudREST API

© 2015 Wowza Media Systems, LLC. All rights reserved. Confidential & Proprietary.

In this session you'll learn the following:• Benefits for service providers and developers• Demonstration of Wowza Streaming Cloud REST

service (including Ruby and cURL examples)• How to use the REST API documentation

(SwaggerDoc / SwaggerUI)• Future Plans• Questions & Answers

Agenda

PRESENTERS

Philipp AngeleSenior Product Manager

© 2015 Wowza Media Systems, LLC. All rights reserved. Confidential & Proprietary.

Alex TitzeSenior Software Architect

Benefits for Service Providers and Developers

Enterprise Integration Easy Development Wowza Technology

Modular approach fortranscoding, delivery or playback

Integrates with 3rd partyencoders, CDNs and players

Tools to develop an end to end solution

Minimize administration

No infrastructure maintenance

Easy hybrid integration withWowza Streaming Engine

Affordably scale your streaming solution

The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza Streaming Cloud.

Features

• SSL-only (https://)

• Documented through Swagger, Forum Articles and example application

• Reflects (nearly) everything we offer in the UI

• RESTful architecture over HTTP

• URL based Versioning (“/v1”, “/v2”)

• Secure Authentication via Header Tokens

Endpoints

Live Streams (> Players)

Transcoders (> Outputs > Stream Targets)Stream SourcesStream Targets

RecordingsSchedulesUsage

DEMONSTRATION

Wowza Streaming Cloud REST API

Documentation

Interactive Swagger (Sandbox only)• https://sandbox.cloud.wowza.com/apidocs/v1/

Articles (Example Workflows)• https://www.wowza.com/forums/content.php?775-Wowza-Streaming-Cloud-REST-API

Versioning

Several ways:

• URI, Hostname, Header, Query, Content Negotiation (application/vnd.wowza.v1+json)

URI approach

• https://api.cloud.wowza.com/api/v1/live_streams/

Pros:

• Simple for developers and consumers

• Copy-and-pastable

Authentication

API Key (one per cloud account, unchangeable)

API Access Key (multiple per cloud account, expiring)• https://cloud.wowza.com/en/manage/access_keys

Example cURL:• curl -H 'wsc-api-key: acbd' -H 'wsc-access-key: defg' https://api.cloud.wowza.com/api/v1/live_streams/

Input & Output Theory

Standard HTTP Methods• GET, POST, PUT, PATCH, DELETE

Supported Format: JSON in Request & Response

No XML, no form-urlencoded data

Namespaced Input and Output (Wrapping, Plural <> Singular)

Status Codes

2xx: all about success• 200 OK, 201 CREATED

3xx: all about redirection

4xx: all about client errors

• 401 Unauthorized, 403 Forbidden, 404 Not Found, 410 Gone, 422 Unprocessable Entity

5xx: all about server errors• 500 Internal Server Error, 503 Service Unavailable

Error Response

custom Error Codes:

"meta": {

"status": 401,

"code": "ERR-401-NoApiKey",

"title": "No API Key Error",

"message": "No API Key sent in header.",

"description": "More detailled description",

"links": [

”url”: ”http://…/ ERR-401-NoApiKey.html"

]

}

File Uploads

• Where? Watermark, Player and Hosted Page Images

• How? Push Base64-encoded (string representation of image)

• Example cURL command (PATCH):(echo -n '{"live_stream":{"player_video_poster_image": "'; base64

~/player_video_poster.jpg; echo '"}}') | curl -H 'wsc-api-key:

KEY' -H 'wsc-access-key: KEY' -H 'Content-Type: application/json'

-X PATCH -d @- https://api.cloud.wowza.com/api/v1/live_streams/ID

Future

• Continuing Public Preview to get more and more feedback

• Expected Release: NAB 2016

• Programmatically self-documenting API (Hypermedia Controls, e.g. respond with Array of Hyperlinks, HTTP OPTIONS verb)

• Pagination (accounts with a huge amount of transcoders)

• Deprecation warnings

• Advanced Documentation Website including: Changelog, Error Descriptions, Help Pages, Interactive UI, Workflows, etc.

Getting support

After you start using the REST API, some questions may arise.

To provide you with answers in the most efficient way, the Wowza team will provide active support and assistance during this preview. If you send an email message to support@wowza.com, the Wowza team will respond quickly and appropriately to your questions, comments, and concerns. Please provide as much detail as possible about how you're trying to use the REST API, the issues you're experiencing, and the specific hardware and software you're using.

Questions?

Thirdpartytrademarksare trademarksorregistered trademarksoftheirrespectiveownerandareusedsolelytoidentifyanddescribethirdpartyproductsasbeingcompatiblewithWowzaproducts.Wowzaisinnowaysponsored,endorsedby,orotherwiseaffiliatedwithanysuchthirdpartytrademarkowners.

© 2015 Wowza Media Systems, LLC. All rights reserved. Confidential & Proprietary.

“Wowza” and other identified trademarks are either registered or claimed trademarks of Wowza Media Systems, LLC;

visit wowza.com/legal/trademarks for more information. Third-party trademarks are property of their respective owners; their use does not imply

endorsement of Wowza products or services by the trademark owner.

“Wowza” and other identified trademarks are either registered or claimed trademarks of Wowza Media Systems, LLC;

visit wowza.com/legal/trademarks for more information. Third-party trademarks are property of their respective owners; their use does not imply

endorsement of Wowza products or services by the trademark owner.

www.twitter.com/wowzamedia

www.youtube.com/user/wowzamediawww.facebook.com/wowza

www.plus.google.com/+wowza/posts

www.linkedin.com/company/wowza-media-systemsWWW.WOWZA.COM