wowza streaming cloud - cloud object storage · the rest api enables custom development of...

18
Wowza Streaming Cloud REST API © 2015 Wowza Media Systems, LLC. All rights reserved. Confidential & Proprietary.

Upload: others

Post on 04-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

Wowza Streaming CloudREST API

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

Page 2: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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

Page 3: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

PRESENTERS

Philipp AngeleSenior Product Manager

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

Alex TitzeSenior Software Architect

Page 4: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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.

Page 5: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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

Page 6: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

Endpoints

Live Streams (> Players)

Transcoders (> Outputs > Stream Targets)Stream SourcesStream Targets

RecordingsSchedulesUsage

Page 7: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

DEMONSTRATION

Wowza Streaming Cloud REST API

Page 8: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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

Page 9: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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

Page 10: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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/

Page 11: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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)

Page 12: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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

Page 13: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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"

]

}

Page 14: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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

Page 15: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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.

Page 16: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

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 [email protected], 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.

Page 17: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

Questions?

Thirdpartytrademarksare trademarksorregistered trademarksoftheirrespectiveownerandareusedsolelytoidentifyanddescribethirdpartyproductsasbeingcompatiblewithWowzaproducts.Wowzaisinnowaysponsored,endorsedby,orotherwiseaffiliatedwithanysuchthirdpartytrademarkowners.

Page 18: Wowza Streaming Cloud - Cloud Object Storage · The REST API enables custom development of applications that can be used for remote management, configuration and monitoring of Wowza

© 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