Post on 04-Jun-2020
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