Wowza Streaming Cloud REST API Examples

December 9, 2020 by

The Wowza Streaming Cloud REST API uses HTTP to request data from Wowza Streaming Cloud servers through requests to API endpoints, while offering complete programmatic control over live streams, transcoders, stream sources, and stream targets. Learn how to use the Wowza Streaming Cloud REST API to add live streaming and playback functionality to your applications in this helpful video tutorial.

 
Full Video Transcript

 

Justin Miller:

Hi, I’m Justin Miller, from Wowza Media Systems and today we’re going to be talking about the REST API for Wowza Streaming Cloud with our friend here, Tim Dougherty Tim, how’s it going?

Tim Dougherty:

Justin, it’s going well. Thanks for bringing me in today.

Justin Miller:

Tim, I’m excited to talk about this because honestly we discuss the REST API all the time when we talk about Cloud, but we haven’t seen really any examples of how it works. Now, Tim, I know you work very often with customers, I do not, I’m the video and webinar producer, obviously, but in the past I used to work with companies that were interested in software development. At one point I worked with a company that was putting dog houses all over New York City, for people to be able to leave their dog there, able to go shopping for a little while and come back and I get it because people want to be able to take out their dog, get to a certain point, do their own thing, and then maybe come back and pick up their dog.

So they had these little dog houses on the side of the sidewalk where they could, using an app, let the dog in, give the dog say a certain amount of time, or maybe it was by the minute, I’m not sure exactly how it worked, until they opened the door again and brought their dog out. But during that time they needed a way to make sure that the owner could see the dog through the app, wherever they were, also a way to record what was happening just in case, liability purposes. And maybe even a way for someone to be able to monitor all the dog houses on a regular basis, in case there was something that was happening that needed to be rectified right away. I’m not sure what that would be, but certainly you don’t know what’s happening, maybe a dog is getting very scared inside a place they’re not used to without their master.

So they had our company try to produce an app for this, which of course required a lot of backend solutions and at the time I did not personally know about Wowza, I was not working at Wowza. Now today, had I been able to talk to them again, I would definitely suggest Wowza Streaming Cloud to get them up and running quickly and certainly using the REST API, they could probably control a lot of that right through the app.

Tim Dougherty:

That’s exactly right and that’s a wonderful setup for talking about Webhooks and having an application like what you described, do something inside of Wowza based on a demand. So it could be something as simple as at the same time the app opens the gate, the app could also send a command to Wowza Streaming Engine or Wowza Streaming Cloud, in this case, that says, “Start recording.”

So, that’s a great example and the cool thing about API application interface is, it’s relatively straightforward. You just send an HTTPS signal basically to the platform and it can do a variety of things. So that’s a wonderful example, by the way, whilst it does support, in fact we were just working with one today, a doggy daycare, and we have some premiere doggy daycares, if you will. I hesitate if I’m using the wrong term, that offer that exact service, the dogs can be monitored while they’re at play, while they’re in their pen, if you will. So it’s a great use case for video, because we all love animals and some of us love our animals, our pets, more than the people in our life, right? So we want to keep an eye on them.

Justin Miller:

Absolutely, but more so, these are living creatures and so you never know what’s going to happen while you’re gone. You can’t just assume it’s a phone, you put it in a locker and it’s there and you’re not worried about it, right? Something bad could be happening. For all I know, and I was always wondering, how did they put these dog houses on the street? What’s keeping them there? So you never know somebody might be trying to break into one or take it away, but having that monitor system is a great way to know, not just for the owner, but for the people who are managing the whole business.

Tim Dougherty:

That’s right, that’s right and that’s a great use case. As we talk about APIs today, I’m going to try to continue it in that vein, because it’s always enjoyable and helpful to tie a real-world experience or real-world scenario in with the technology that you’re using. That’s one thing that APIs do, they make it real, they make it so you don’t have to be in a UI, you don’t have to login, you can do things in an automated fashion. So today, Justin, I’d like to, first of all, offer this disclaimer that we talk a lot about the REST API at Wowza, for all of our products, today we’re talking about Cloud in general, and often it’s just a term we use, “Hey, just use the API to start a recording, use the API to create a stream.” Well, the reality of that is there’s a little bit of complexity there and there’s some tangibility there.

I want to, at a real base-level, go through the documentation in Wowza Streaming Cloud, and just take a look at the live stream list of hooks and commands that we have. I’d like to put that into a text file, modify it and just drop it into a terminal and show you that you can tailor these commands to do a variety of things and I’m hoping this is somewhat an introductory or an orientation for people that hear the term API, but have never really used one before because it just can help get your feet wet. The reality is, when you’re programming a REST API or an API driven workflow, there’s a ton of complexity. There’s interaction with databases. There’s syntax, there’s code, application logic. We’re not really touching on that today. We’re just looking at the raw API and that cause and effect that is really fun when you’re working under the hood, like we will be here shortly.

Justin Miller:

Right, and these are some examples that we have in our own docs, right?

Tim Dougherty:

That’s right. In fact, I’ll go ahead and show my browser. Right here I’m logged into Wowza Streaming Cloud, but over here, you can see that I’m on api.docs.cloud.wowza.com, which is, if you can see where my cursor’s moving around, Wowza Streaming Cloud REST API documentation. So this is where you find out how to use the API and it’s interesting to note that there have been several versions of the Wowza Streaming Cloud REST API. I believe we launched the product in 2014 and we’ve iterated and improved. We’re in fact, it looks like version 1.6 is in process, but current version is 1.5 and that’s the version we’re going to focus on today.

Justin Miller:

Right, so that slash current is just to let us know that, that’s version 1.5?

Tim Dougherty:

Correct, obviously, yeah. So another aspect you’ll see, though, if you’re interacting with the Wowza Docs, we have this fairly exhaustive API breakdown, but there are also technical articles and examples on our Wowza Support site. This is the Wowza Streaming Cloud REST API and SDK. We have some places where you can start, and give you an overview building. I’m going to just click here on some examples and then there’s categories of examples. I’m just going to click streams and transcoders, and I’m going somewhat fast here, but what I want to get to is you’ll see, it’s formatted differently than our API documentation. It’s tabular, it’s somewhat explanatory, but this is what I wanted to get to. This cURL post example, because this is a lot of what I’m dealing with today, is taking an example from Wowza documentation and then using it in a real REST API call. So that’s what we’re going to try to do. You want to give it a shot?

Justin Miller:

Absolutely.

Tim Dougherty:

So, first of all, I’m logged into Wowza Streaming Cloud, we’re going to go back and compare some of these REST API calls when we start to make them. So I’m going to switch over to my text editor and give me a second here to get over there. Can you see my text editor on the screen?

Justin Miller:

I can, yes.

Tim Dougherty:

Okay, good. So first thing you need to do is set up a foundation of how you’re going to be formatting these REST API requests. Now there are clients, for example, there’s a client called Postman, that really makes this easy, but I’m intentionally doing it in text form today just to illustrate the dynamics of this. So you have to have your API key and your access key. These are basically the username and password, for lack of a better term, to get into the API so that you access it. By the way, if you were to copy this information and start interacting with the Wowza API right now, this very minute, you could literally control my Wowza Cloud account, and I’m going to delete this key afterwards. So good luck trying to hack that later.

But anyway, you need these two pieces of information and I’ll show you where you can get them in Wowza Streaming Cloud. You go to your name and then you go to API access right here from the top bar. So we’re logged into Wowza Streaming Cloud, click on your name and click on API access and here is the API key. That’s the first element you’ll remember over here. I have the API key right here.

Justin Miller:

Right at the top.

Tim Dougherty:

At the top and then you can create different access keys. So I could create one for Justin and one for Bob and one for Andrew. And we could go on and on, I created this one here. I even said, this is for demo and should be deleted when done for obvious reasons and then there’s that access key. I could copy that and put it inside my text file here. So that’s that as well. So [crosstalk 00:10:06].

Justin Miller:

[crosstalk 00:10:06].

Tim Dougherty:

Thank you. It would probably be a good idea to get rid of that after we put this video up live. So anyway, those are the two critical pieces that you have to have in order to interact with these APIs. The other part is the host. You want to be sending them to the right IP address. So in this case, api-sandbox.cloud.wowza.com/api/v1.5. And if you’re interacting with the documentation, like for example, here in Wowza Streaming Cloud. This document is best explored and not having someone real-time trying to go for it like me, but if I click on create live stream, there’s get live streams over here. There’s these examples. So I should probably step back.

Justin Miller:

Actually, if we could, I’d like to just step back into Wowza Streaming Cloud. One thing that you pointed out in your text file, you talked about it, it showed it was in sandbox and this isn’t sandbox and I think we should talk about what sandbox is.

Tim Dougherty:

Correct. I’m not in sandbox right now, but you can move into the sandbox mode and as I understand it, Justin, that gives you the ability to test your API, we are now actually interacting with the real transcoders and streams and CDNs and those things.

Justin Miller:

Right, and if you go back to where you were to set up the API, you can see that there’s information there regarding it. So under API access, if you scroll down a little, you see API sandbox and definitely has some explanation there, as well as the option to open the API sandbox. So when you were in your text file, if you could just jump over to that, to the list specifically, see for the Wowza Streaming Cloud host, you see sandbox and that’s why I wanted to clarify it.

Tim Dougherty:

Thank you, I’m glad. Two eyes on this or four eyes on this are better than one. I didn’t even notice that and it would have, it would have eventually come out, right? Because I don’t think these would have worked right if they were all on API sandbox.

Justin Miller:

Right and I see some of your, under like say, create base syntax, you have API sandbox, but in the fetch live stream, you don’t, because I think we’re planning on doing this with actually a live account.

Tim Dougherty:

Definitely.

Justin Miller:

But if you just wanted to test it out, you could do it in the API sandbox. And you’re not going to be accountable for ingest or egress costs or anything like that.

Tim Dougherty:

That’s right, really glad you pointed that out. This is what I’ve been doing inside the documentation. I mean, you find your API that you want, in this case, it’s create a live stream, and this is posted, now, if you click on this, it’ll give you a sample URL, which is golden to me. So, right now it says API sandbox. I don’t really want to be in the sandbox. So if I wasn’t in the sandbox right now, it would obviously say something else. So I must have this document in the sandbox mode and not realize it, which is totally fine. I just need to take the sandbox out of it when I actually do the test.

The first thing we want to do is create a live stream. So I’ll jump back over to my text editor and I’m going to build my base API requests. So this is something that came from the example code. So this came from that document that I had up in the browser where it was saying how to create. They have these variables which worked great for Postman, but we need to populate those. So I’ve taken the API key and put it in this base syntax here, I’ve taken the access key, put it here, and then I need to get the URL, correct. Now you were right to point out that I was in sandbox mode earlier, in this one here, I’m not in sandbox mode. I’m just going to grab that URL, actually that domain I’ll just grab and I’ll put it in here as my reference. So this is my worksheet.

So I’ve got my base syntax here. Looks like I’m ready to go. The Wowza Streaming Sloud version it’s v1.5. I’m going to go ahead and update that. It’s just good to have when you’re messing around with these APIs, a place that you can return to, that is clean, that you haven’t broken because you will start messing around with different commands and different syntax. So just get the base URL right and that’s why I start with this simple fetch a livestream command right here, because it’s so simple. I’ll bring up my terminal. You should be able to see both my terminal and…

Justin Miller:

Yes, we can.

Tim Dougherty:

So I’m just going to paste this, again this is just cURL and then there’s the command. When I hit enter it’ll, it sent back some response and these are the lists of live streams that are in my Wowza Streaming Cloud account. You can see one called DemoLoop. You can see one called My Dental Broadcast. I bet you, I was working with a dentist, My Live Event 2. I’m calling these out because when I go back over to the browser, and I go back into my Cloud, let me go over to my live streams. It’s loading here, see DemoLoop, My Dental Broadcast. This is essentially a clean UI display of what I just showed you over here in the terminal, where you’ve got just a bunch of texts. So, that works, obviously. That means my base URL is good and I’m good to go.

The next thing I’m going to do is create a live stream and again, this command is available in the API documentation. So if I go in here, it’s create a live stream. There’s a whole bunch of options that you can put in there if you want to. Everything from, should it be a VOD stream, low latency, security, different types of delivery. I’m not going to go into the methodology on what you should and shouldn’t put in your stream because there’s so many different use cases that support so many different things.

Based on this documentation, I’ve created this command here and this one here is just going to create a stream, I’m going to call it, My New API Stream. How about that? If I could type, I’d be dangerous. I say that in every webinar or exercise you and I do, I think Justin, it’s going to be transcoded, which means it’s going to create an adaptive bitrate. I want it in US West California, because that’s closest to me as possible. I’m pushing from RTMP turning off the username and password, and I’m going to run it at 1080p. So these are just a few bits, some basic baseline stuff to create a stream.

Justin Miller:

Can I ask for one specific thing that you can add [crosstalk 00:17:06]?

Tim Dougherty:

Of course, yeah.

Justin Miller:

Well, it looks like you’ve already added it though, as you’re going through. I see recording is true.

Tim Dougherty:

Oh, sure.

Justin Miller:

I just wanted to be sure that we had, since it’s nice to have the ability to record the stream while it’s running.

Tim Dougherty:

Absolutely and again, in that API reference, there are quite a few other options that I didn’t include, but yes, recording, true. I think it’s typically left off. I don’t think it records by default. So this command here, you can use over and over again. I’m going to call it My New API Stream, and I’m just going to copy this whole thing. Now one thing to notice too, that’s really important and I’ve had people laugh at me because I don’t notice this as often as I should. This command here to fetch a live stream is GET. This one to create a live stream is POST. So if you’re exchanging your base URL with different stuff, make sure you’re updating POST, GET, patch. Keep an eye on that when you’re creating these commands. That’s just something I’ve learned from the school of hard knocks at Wowza.

So I’m going to go over to my terminal and I’m going to paste that big, long command. I’m going to hit enter and it’s taking a second, which means it’s busy. And there it goes, it kicked out this huge jumble of information, right? So if I were using Postman and I’ll show you Postman at the end, you would see this all formatted, but obviously it’s created the stream and it’s done something. If I run over to the UI for Wowza Streaming Cloud, I’ll refresh this page and there’s my new API stream. So you obviously created the stream, which is good. Now we want to start the stream, right? We actually want to do something with it. So, that’s the next command and one of the key things you have to recognize is, in this command here, it’s the same URL, but then there’s that stream ID.

So I need to go get the stream ID from when I created this live stream. I actually have to go over to this pile of text. The first response is the ID, if you can see that right there. So I’m going to copy that to the clipboard, go back over to my text, command paste it. I have the updated ID, and that should do it. I’m going to copy it and then I’m going to clear the screen just because it looks better. You’ll notice that I’m pasting the same command hit enter, and it shot out a whole. I just did the fetch live stream, I wanted to actually start it. So I got a little ahead of myself, I’ll start it in a minute. I fetched the live stream because I actually want to set it up in an encoder.

Justin Miller:

I had a question for you about that when you fetch the live stream. Where are you fetching that particular ID? Is that why you added it at the bottom?

Tim Dougherty:

Exactly. So when I created this stream here, it generated a bunch of texts just like this and so what I needed to do then was now start interacting with that individual stream. In this case, fetch live stream, it’s going to get to this URL based on that ID. It’s going to bring up this information here. I know it’s confusing, but the intent is to get the URL in order to broadcast to this particular stream. So I actually have to go through this information, and I know from experience that I need the primary server and again, this is just raw text. If we were using Postman, you’d be able to see this in a much more formatted capacity, but I’ve got entrypoint.cloud.wowza.com. So there’s that piece of information there. I’m going to copy that to the clipboard and I’m just going to put it right down here in my text file.

Then I need the port 1935. So I’m going to put that in here. I’m basically building a streaming URL and then I need the stream key. I’ve got 1935 and then see this stream name right here? I got grab that, so I’ll do that as well. That should be enough for my encoder. What I’ll do here, because I know where I’m going, I’m going to go over to OBS, and OBS likes one line. I’m just going to copy that right there and go over to my encoder. You should see OBS here. This only takes a second. I’m going to paste that in there. Grab the stream key, and paste it in there.

Justin Miller: You deleted that slash just now?

Tim Dougherty:

I did, yeah. I’m going to hit apply, then I’m going to go back to the API document again. I’m going to start this stream. So this this is the stream ID right here, the kvh9 I’m going to copy that, go down to this command for start livestream, and paste it. At this point everybody’s thinking, why would you do this? Just use the UI. Well, remember, we’re just playing around here. I’m going to paste that there in the console hit enter and it says starting. Now it’s starting the stream that we just created.

There’s also a check livestream state command. So I can actually take that ID again, paste it into this command. It’s very similar. This one starts, this one’s asks for state. So copy that and just paste it and it says state started. That means it’s ready to go. I’m going to jump over to my encoder. It should start working if everything is going well, and it looks like it is. My encoder, it says it’s streaming, I’ll jump back over to Chrome and I’ll go into Wowza Streaming Cloud. This is my new API stream, should be running and we should see the inbound connection. That’s my encoder coming in and this is just validating it. Let me refresh this. I Should see the player here and then you can see the stream coming through from the encoder. Does that make sense, Justin? Am I going too fast?

Justin Miller:

Yeah, absolutely. In fact, I’m personally seeing new information. In fact, if you scroll up and go back to seeing all of the different streams that you have available, I never really thought about the ID that’s listed.

Tim Dougherty:

Oh yeah.

Justin Miller:

It’s right there on the front of the screen, ID under each of the titles, but that’s basically the ID that’s referenced every time for each of the streams. I just didn’t realize this is really more than anything for the needs of the API.

Tim Dougherty:

Yeah. In fact, the website itself, cloud.wowza.com is using the API. It’s just a web application that we built to make it easy. But yeah, this kh, what is it, khvh, whatever it is, that should be the same ID that we’ve been interacting with here and it is. So it’s just, once you’ve got that ID, you can start interacting with the stream,

Justin Miller:

Right.

Tim Dougherty:

You can see that we’ve made it go. So the encoder is running. Now let’s stop the stream. Again, I got to grab that ID, paste it, copy the stop command. I’ll go over here, I’ll hit clear just to make everything done and it stopped it. So, we can jump back over. I always like to see the cause and effect. Over here in my new API stream, I just clicked on it. It’s loading, it stopped. Then I’ll go back out here and I’m going to actually tell the API to delete it so I can go up and clean up after myself here.

Justin Miller:

Before you do that, though, do you think you could go into the documentation just so we could look at this stop live stream and the cURL command and compare it to what it would have been if we had gone to the docs?

Tim Dougherty:

Sure. So stop the live stream, for example, right? Is that the one we wanted to take a look at?

Justin Miller:

That is right, yes. So over there on the right side, it shows the shell command right there for cURL and…

Tim Dougherty:

Correct and I think it’s pretty similar. It’s got a dummy ID in there. So if I copy that, I do this all the time where it’s frequent that something isn’t working. You have to go back and check your syntax. So I’ll just paste that right there and you can see that it’s same API key, access key content type. It’s a put command. So, yeah, it’s pretty much the same as the document there, I think?

Justin Miller:

Yeah, absolutely. It’s good definitely to know that that WSC_HOST is going to be generally api.cloud.wowza.com.

Tim Dougherty:

That’s right, that’s right. Then just to clean things up here on the end, actually, I don’t want to delete it yet. Because I think we have, just a second, I want to jump over to Postman. So do you see Postman?

Justin Miller:

No I don’t, not yet.

Tim Dougherty:

Where is my Postman guy? He’s hiding from me. I might have to share it differently. Hold on just a minute here. I can get it. So is this making it Justin?

Justin Miller:

Absolutely, yeah. It’s great to see it too. That’s why I just wanted to see the commands once again, so we can see that we have them all listed in the documentation. Now, certainly we have variables and recommendations on how you should format those variables, but just by following along or entering the hard coding that information as it were, you can get it to work very easily, just right through a terminal.

Tim Dougherty:

Oh yeah, definitely. It’s really fun to get into Postman, because, you’re interacting with it, but the information you get back is so much more formatted. For example, I just did fetch live streams. So you have to adapt all of your commands and that’s a tutorial for another day, but all these streams here, what I see in the cloud API. For example, there’s my API stream that I had just stopped.

If I want to actually start that stream again, I can just double click on that and the cool thing about Postman, is you can use these variables. I’m just going to set it as the live stream ID, and I can actually start the live stream. It’s so cool because my host is already entered my live stream ID is already there. If I hit send, boom, it’s starting the stream, it’s just that easy and so you can interact with it at a pretty quick level. The same thing for stopping the live stream, you can interact with recordings. If I wanted to actually start and stop the recording, I can do that. There’s just a whole lot of functions inside Postman.

Justin Miller:

It’s nice to see it this way too. I mean, on the left side, when you’re showing it, I see it’s showing posts, get, put, delete at the top, that things are color coded. So you know exactly what you should be looking for, for variables.

Tim Dougherty:

Absolutely. Yesterday, oh, no it was two days ago, one of our engineers, I had a question, I was struggling with the API for Wowza Streaming Engine. He told me all about these variables in Postman and he gave me like a five minute primmer. I’m having so much fun with it, because it takes the API from that awkward, bulky text-based foundation, which is a good start, like going over what we went over today. It gives you that, “Okay, now I get it. I see the fundamentals of it.”

But once you start to learn how this Postman environment works, it’s super powerful, I can get the state of a live stream. This is the one I just started. So it’s running. If I want to stop it, I can go over here and just hit stop and it says stopped. Then of course, if I want to delete it, which I will now, just hit delete, it doesn’t give a response on delete. But if I go back to fetch live streams, my awesome API stream should be gone, and it is. So, I’m risking going down the rabbit hole with Postman, but if if you’re learning the API APIs, it’s great to start with these commands that you learn in text, you learn the nuances of cURL, you learn how the syntax works.

Justin Miller:

No, you’re doing great. I’m learning a lot while you’re doing it.

Tim Dougherty:

So let’s do the final thing. Let’s disconnect that stream. So we’ll go back to the managing stream files article. Disconnect a stream file. Okay? So we’ll do what I’ve been doing the whole time. Copy it. Compare it. Oh, that’s not right. I did something wrong. Copy that block, paste that block. There it is. So, IP address, right? We’ve got that loaded. Application.

Justin Miller:

We’re still seeing the same screen. I don’t think you’ve switched screens from the…

Tim Dougherty:

Oh, sorry about that.

Justin Miller:

No problem.

Tim Dougherty:

There we go. There we go. Thanks for catching me up. So I just pasted this from the code example and then this is my updated version. So I’ve got the IP address updated, and then I’ve got the application name updated and then the droneLive.stream. So it looks like this API call is clean and again, do this in a text editor because if you’re doing it in the terminal, it gets really messy. So I’ll switch over to terminal, I won’t forget this time and again, we’re going to go to that IP.

Justin Miller:

I noticed what you were talking about here, where it showed credence.stream to let you know that you needed that .stream at the end.

Tim Dougherty:

Exactly. It’s a true working example. I’ve just seen a couple of commands where I don’t know if it’s disconnecting the stream, no, it wouldn’t be disconnecting, where one of them… it doesn’t, you don’t have to have the .stream file, but the other ones you do. So it could be developer A did this one and developer B did this one. Just be mindful of that nuance. So I’m going to hit enter here, publish stream successfully stopped. That means it’s disconnected from the IP camera and we can go back to Chrome.

And just because I really liked the cause and effect, you can see that the stream has gone and we’ve gone through that particular cycle. So how am I doing Justin? Are you getting a good idea? A little bit of an idea?

Justin Miller:

Yeah, absolutely.

Tim Dougherty:

Particularly, like this one here was actually hard because you got the headers, but then you have to have the payload, right? And the payload is very detailed.

Justin Miller:

If you could show, for right now, when you go onto body there, you’re seeing, as you say, you call it nicely formatted, but they call it pretty. That’s what it says right there.

Tim Dougherty:

Oh, back in Postman?

Justin Miller:

Yeah, and we can see Postman right now. If you click on raw instead, you could see what the raw format of this information is going to be. I was hoping you were going to [crosstalk 00:30:20].

Tim Dougherty:

No, definitely, I’ll hit body and then I’ll…

Justin Miller:

Create a new live stream?

Tim Dougherty:

Well, this is the create live stream, right? So you’ve got your headers here where this is the access key variable and the API key variable. You can put those in there, but, and then in the body, if I want to create another stream, I’m going to call it Justin’s Awesome API Live Stream and I’m going to put a time tag on there of 1545, just because I can, when I hit start or hit send, it doesn’t have the recorder in there. So let’s get real crazy. Just have fun with the API, decoding…

Justin Miller:

Yeah, there are so many different variables to put in. It’s nice that you don’t have to put everything in, just what you need.

Tim Dougherty:

Correct. So I just added recording true. Let’s see how good I did, I hit send. Sending the request and it created it. So, Justin’s API Stream 1545 has been created.

Justin Miller:

Now if you put it in raw mode, just so they can see what it looks like. No, no. At the bottom right next to pretty, just click on raw.

Exactly. So with the cURL command, you get that same thing. It’s horrible in the way that it’s hard to read that information.

Tim Dougherty:

Right.

Justin Miller:

Then you switch over to pretty, and you can grab what you need from this data.

Tim Dougherty:

Yeah, but another cool thing about Postman is I can just double click on that ID and set my live stream ID right there. Boom.

Justin Miller:

Oh, yeah, perfect.

Tim Dougherty:

Then it autofills all the rest of them. So I can start that stream over here. Boom. I just started your stream, and I can fetch the stream, I can interact with it really easy. And the reason I get excited…

Justin Miller:

When you’re searching the stream right there, that ID has to be changed. Is that correct or?

Tim Dougherty:

Well, yeah, this one here is going to fetch all the streams.

Justin Miller:

Got you.

Tim Dougherty:

I’m cheating a little bit, because I know the command, if I take that ID and paste it here, or if I just insert the ID, like you can just do, I think it’s the WSC, see how they pop up? Then there’s live stream ID right there. I think that’s it.

Justin Miller:

Nice.

Tim Dougherty:

Yeah and then, I’ll right click on this, set live stream ID. This should fetch that stream, and it did. So that’s the one we’d… Oh, that’s DemoLoop. I’m getting into the weeds a little Justin, I’m sorry. But as you can see, it’s almost like putting a puzzle together, you feel like you’re under the hood and really working with the product.

Justin Miller:

Yeah, absolutely and I can definitely tell you’re excited about Postman. It’d be nice to see it though, going back into Wowza Streaming Cloud, that it was created and just to show people where the recording option is and that it was turned on.

Tim Dougherty:

Absolutely, you can see Wowza Streaming Cloud right now. So I refresh it. There’s the stream we made for you.

Justin Miller:

Right, and your stream’s gone, obviously.

Tim Dougherty:

I click on it, go over to video source, and I should down here, see recording. Maybe it’s down a little further. There it is recording. Yes. So yeah, that’s that cause and effect, which is fantastic.

Justin Miller:

No, it’s great to see.

Tim Dougherty:

Yeah, I hope that is a value. It’s a difficult topic to explain. I work with people both inside and outside of Wowza who have so much talent and deep understanding of these APIs. But for me, it’s nice to be able to see the text converted into something that does something, that in and of itself has a great feeling like, “Wow, I’m really under the hood. I’m interacting with this platform, using an API.” Get it into Postman and start interacting with it there. Then you really get to the next level, when you create maybe a CRON job that creates a stream at nine o’clock on a Sunday for a church and records it and stops it. You can set up all kinds of your own framework of orchestration. So there’s a lot of power in this, Justin, a lot of power.

Justin Miller:

And like I said before, the idea of then using this either through a website or through an application, I think just, there’s more functionality that you can do for any company that either wants to offer this to their clients or even for their own internal uses.

Tim Dougherty:

Definitely.

Justin Miller:

Well, hey, I want to thank you for showing me all of this. It’s like the sun came out, but literally the sun has come out. I don’t know if you can tell.

Tim Dougherty:

I can tell.

Justin Miller:

Shining in my eyes. Wasn’t like this when we started. Thanks again.

Tim Dougherty:

That’s great, Justin, pleasure. I look forward to our next opportunity to get together and go over a couple of these and it’s been great. So thank you.

 

About Laurie Wherley

Based in Denver, CO, Laurie Wherley is a passionate marketer, who is responsible for a variety of outbound activities including global events, social media, product marketing, and webinar creation. When she isn’t working, you’ll find Laurie traveling the globe, throwing… View more