Links mentioned:
no links yet
Details automatically generated.
summary

Speaker did twitch streams. They were invited to be a guest on one. Then they were talking about hip-hop and code. Now he's working on something.

Speaker has to set up a virtual machine on their own server.

topics
  • tech events
  • node js implementation
  • cpu usage
  • gitlab instance
  • virtual machines
  • stream labs
transcript

God didn't need you.

Welcome back.

Welcome back.

Welcome back.

Welcome back.

Welcome back.

Welcome back.

Welcome back.

Always put spotted rare.

Welcome back.

And a smile way I think and I know you went to see you again.

Learn to me was this song.

It made me come back, never lead you.

Welcome back.

Hey, welcome back.

Alright, so this is the second break session of the day.

Hopefully you are getting things done.

I am actually in the process of still doing the post-show radio.

Yeah, brought like promotional stuff for the radio show that we had yesterday.

So yeah, so my weekends are pretty full Saturday's, pretty much dedicated to the radio show and then Sundays, I have got this.

So it's cool to be able to know like I have time to dedicate to getting stuff done.

So yeah, so it doesn't feel so bad if like on because yesterday I was like on.

I really want to do more stuff work on something but it's like I have a tomorrow which is today to work on things.

So something to look forward to All right.

Now, we're back and hope everything is going well on your end.

Please let me know how things are working out for you in the chat room.

Oh, I forgot to mention like in the last one.

Yeah, we have a chat room so you can join the room and then you can chat and ask questions.

All right, cool.

So like I said, if you were here last week, I am working on a project that so my next side project.

So this one is pretty good.

As where I want it to be like this.

Until it that works is kind of like is functional and the way I want it to work.

So now it's time to move on to another project.

So I made until it that works so that I would have time to Dedicated in a thing to do that.

I can work on other projects on so yeah, so that was the point of doing this whole thing.

So yeah.

Alright cool.

So next project is I really been getting.

I want to get more into Like live streaming because let me share my screen and all this stuff here.

And you see, do you know, pull this side up real quick?

I have spoken up before.

But since these are all kind of like videos.

I stand on their own kind of thing.

All right, so let us share my screen.

So yeah, so like I was saying last week been trying to get my new side project going, and so I like to build like little small pieces and then like put them all together in a project.

So this is part of the project can go to helps its help towards this.

Like what I am working on now is for a totally separate side project from this is Website, I made otech dot events.

And it's a site where you can go and see and learn more information.

Like I said a place to watch Orlando Tech talks basically, so I am a big fan of going to meet ups and things that nature.

So I wanted a place where everyone can just go to and see like upcoming meet up.

So for example have this upcoming tab And so it has all the different Tech events that are coming up here in Orlando, and I am pulling them from the Meetup API from all these different groups here.

So, once they post their next upcoming event, it shows up in upcoming cool.

Now, of course, I got the shop.

So you remember if you want to get a T-shirt and then the about how I made it?

So this kind of goes into all the stuff used to create the site.

All right, now with this goes towards Is that when an event is live, like a meet-up, is live, and I am there, A lot of times I will just go and stream the event.

Since I have a little bit of a background in streaming, and so I go to the events and I set up a camera.

I have all these things, a lot of stuff to get done.

You know, I mean and so you can kind of see this is how it turns out.

So, this is just one of the things I have done before then, so you can see like the layout.

So, I have this thing where I had the camera, I get nothing about sensor their database and there's nothing in.

This is their screen showing up.

Who is that?

So, this is their screen.

So I have them sharing their screen to like my computer's is whole big setup thing.

That is just a lot.

So now what I am looking to do is to be able to kind of simplify everything and part of that is going to require me to create like my own media server, so I came across This because the research I did before, like you have a sub, this whole engine next thing and then load balancers and a whole bunch of other stuff that I was like, I am cool.

I am good, but came across this from a list pass.

I ll U s-- Pas on GitHub, and they have created a node media server.

And like I said before, I am a JavaScript over at, I am a JavaScript developer advocate.

So I have some experience with Node sounds like oh great, so I can spin up a node server and it will handle everything that I need because it's kind of awesome.

So you can do as a node js implementation of rtmp, which is what I was looking for because the cameras I am going to use and have been using to stream events.

You can point a rtmp and point like they can stream to an end point.

And then you can take that and display it on a website and all this stuff.

So it goes to the server and then it comes out.

The other end to a file format that you can put on the website, and we will see that coming up.

Let us kind of amazing.

You have HTTP FLV, websocket FLV, hls — and its media server.

It's kind of amazing.

And then, even out the box, you get a dashboard, which is what you're going to see.

And yeah, and they can preview the streams.

It's pretty awesome.

So, yes, and it has all these different features so much stuff you can do with it.

So, it's pretty cool.

Now, previously.

A lot of my side projects since its just me, and they're kind of like smaller projects, and they don't like a lot of stuff happening.

I normally go with like Firebase, as the first one because with Firebase, you have everything that you need at least everything that I need.

For my project for the again.

They're smaller projects.

They, so I have a place where I can host my files.

Like they have two databases that you can use.

They have, it's called functions which are kind of like, There's sort of like a tiny node.js server that you have at your disposal.

You can write certain functions to is not like, super, full fledge, but you can get stuff done.

For example, like here until it dot Works.

Everything is running on Firebase and then and it's cool because like if I need to that, I can always scale up to other things, and we will see where I have been scaling up to, and they have these new things extensions, which is pretty cool.

And then the different Integrations And then, like I said, Google cloud and Firebase.

So you can since Firebase is owned by Google their infrastructure.

So, Firebase is basically running on top of Google Cloud, but they just abstract things to make it a bit more straightforward to use.

All right, cool.

Let us see.

Trying to figure out, they had altered so that the common use cases that it is.

And so, yeah, and then you can do a bunch of stuff.

Pretty cool.

So, this is what I have been using for years on my side projects, like even the otech doubt events that's running on Firebase.

Now I am getting into projects where I need a little bit more than what Firebase give me especially, like, with that.

I could have run node media server on Firebase.

I am saying through the cloud functions.

It just not possible for my understand because it spins up spins down the whole bunch of stuff.

All right, so I need something a little bit more.

That would be permanent.

So my next thing was, like, oh well, let me try app engine and as from Google.

So again, so I normally do in Firebase and I go up a little bit.

And so next thing for me is like app engine and so it's kind of like your own server so you can deploy all sort like.

I think you can do python, you can do a bunch of different languages, but I know you can do node.

So that's what I was doing.

So I was like, all right.

I am just going to deploy the node media server to app, engine cool.

Did that show that last week?

It was weird because the CPU usage that you can see here in the Screenshot like CPUs users was at a hundred the whole time being connected or not.

It was weird.

So I will try to figure that out last week and on the stream and like locally, I was able and I showed it.

I was able to stream from my camera, from my phone on the camera, on my phone.

So I was able to stream it locally and it worked by could for whatever reason, not get it to work with the app engine instance.

So a whole bunch of research last week during the week.

Week.

And so, turns out that the app engine instance also has like a cool-down period, so it has a spin up.

So there was that then there was also the fact that when it spins up it has a different IP address and so trying to get rtmp and points consistent to stream to would be a problem.

And so then, Read something where you could put like a load balancer in front of it.

So I did that.

But then I got a static IP, but then it looked like it only was good for like HTTP request.

So my rtmp wasn't going through at all.

So had a scratch all that.

All right, fine, then I was like, and I was like, oh, don't tell me.

I got to go even a step further up into the Quagmire of cloud infrastructure.

And, so I went to compute engine and compute engine.

Is basically you get a like your own server like for real deal server.

So it's a virtual machine and so is kind of just like the app engine except you have to set up a lot more stuff.

So like with the app engine, you get like https certificates and all that stuff managed for you.

Whereas with the virtual machine.

I had to set that up, myself wasn't too bad because the let us encrypt they have the cert bot thing.

Hills.

It wasn't easy, but it was more straightforward and not as much as the pain as I thought it was going to be because I have used compute engine before.

When I set up my own instance of gitlab because back in the day GitHub, didn't have private repos.

So I set up my own gitlab instance just to kind of try it out to see how it was.

I was kind of like following a tutorial because I always wanted to get more into like server stuff.

So I figured I will be able to follow this tutorial and get it.

So I got up and running then until the certificate ran out.

And then I had then it was a whole thing.

I had to upgrade the get lab and then one version wasn't doing this thing.

It was a total nightmare.

So I was like, oh, I don't have to go through that again.

But this time it wasn't too bad.

So had the same stuff.

So I set up the compute engine.

I installed the node media server on there.

Then, I got everything working.

It was cool.

So I am like, alright, great rtmp, all that stuff.

Working.

Great fine.

Then I noticed that I would have it running and then when I come back later, like the server was down like it wasn't working anymore.

And, so I am not sure what happened because the instance was still running like the actual virtual machine is still running by my server, wasn't for whatever reason.

So then did more research and I found out a process manager called PM To and then I don't let me see if I can pull that up.

So because that's gonna be kind of important.

Also, P & 2 to thank you.

See like the start implementing there and it was pn2 Ayo.

I am pretty sure is the one I use.

Here you go.

So after a whole bunch of stuff, so I came across this through some other articles where people were deploying stuff, not necessarily the node media server, whether deploying other things to Virtual machines and what these does are a process manager and so like it says it helps deploy more confidently and what I use this for.

So instead of doing, so I installed it just like any other thing.

And so this is what I am using, you can manage maintain Increase nodejs performance.

So, from what I understand is that I just do instead of like node and file to get the notes are running, I do PM To and the file and that's Ben's it up.

But it also I guess the text, if the server goes down or stops, whatever reason, it will automatically restart it.

So that's what I am using that for.

So, yeah, so after all that and then In order for me to be able to get because again, I needed a static IP address which I got with the VM from cloud compute.

Right?

So I got that but then I needed to be able to because you can't stream to a website like your website won't show the stream if it's not an H2.

If the feed is not coming from like http.

Like server or what-have-you.

I am saying.

So to make it more secure which is understandable, but it's kind of pain because if you it's like a whole process, if you just have the HTTP on the user to, they have a say, yes, I trust this and do all this other stuff.

So it was pain.

So the best way for me to do it.

So it was easier was to make my server.

Serve HTTP like content, right?

So the video.

File that I am streaming is coming from an HTTP server.

Cool, but to do that, I need a certificate, and so I was going to use, let us encrypt.

But then the way let us encrypt works with their cert bot.

Is that on your server?

You have to like when you're setting it up on your server.

There's cert.

Bot will send a message to the verify that you do own that server.

It will send a message.

Or some something, some a request to an end point to the server that you say you own.

And it's going to listen for the request because that server that you're running it on should be the server that you say, you own great.

So I took so to do that.

I had to have a like a domain name to make it simpler.

So, I have many domain names.

So I created a sub-domain off of one of my domain names, which are going to use for my side project.

So, it makes sense.

So with that, I was able to use cert Bots to verify that domain that I do own it and that it gave me the SSL certificate that I need to get an HTTP on my domain.

Yeah, so that's all well and good.

Great.

Now did all that.

Got everything running is States running, and so I am going to do a quick demo.

Of it.

So yeah.

Oh, so here it is running.

So before you see, there're no connections is not using any network bandwidth or anything like that shows input and output.

The CPU usage is very minimal, which is great and in the memory usage that's happening and it's like 80% and so far everything's been running fine.

Because again, this is like the micro server and I think this is covered under the free tier so and of testing it out to see how much if I need to bump up the specs of the server, but right now, we're like one stream.

Not too bad.

And then so, yeah.

So here we go.

So then you can see it gives you a list of the streams.

I will have anything streaming yet and then the profile of the server that's on there.

So you can see, it's only like 581 megabytes of memory on the server is doing pretty well and showed me the uptime two days.

So it's not too bad and that's probably around the time.

I installed PM To maybe around that time.

So it may have gone down but it's back up.

So that's good.

Cool.

And then you see it's like one Intel.

So this is the server, my virtual machine that's running great.

So now let me so this is my website lifelong dot Dev, and so I am on that site because I was any page as connected to it shows that the Action.

And I want to have a running connection on the server.

So I just want to that site.

So I am gonna go back and you will see the server.

All right, so I have not been clicking my add two clips thing.

All right, cool.

Which one am I using?

I think it's this one.

Oh, wait.

No, my bad.

I need to.

Okay, so I am using stream Labs which is an app on the that I put on my phone and it allows me to take the camera and then feed that to rtmp server and that's what I am going to do here.

So let us get this going.

All right, cool.

So this is the video player that I eventually I will have like on a dashboard and stuff.

I am gonna do a bunch of more stuff with it and let me go live.

Here, cool and do custom rtmp.

Next stream tile is make it test.

Cool done.

All right, I am going to go live.

Hopefully this works.

It should work hopefully.

All right, here we go.

Whoops, fingering away.

So now I am connected and Bam.

Look at that pretty quick.

And so the, so I am using oh by the way this as anybody had this juice kind of awesome.

Like it's no sponsor anything, but it's what is it called?

Cherry Bundy or something.

It's basically like, 100% like cherries in the juice.

It's awesome.

So All right here.

So as you can see, I am just kind of streaming from my phone that you see right here.

It's got a cool.

So I have a bunch of other cameras that I am going to be using for live streams.

And so I just wanted to show that day.

This is actually working and I it's super unstable.

That's like well shaky.

So I think it's because I am shaking around.

So, all right.

So yeah, so that's it.

That's it working, as you can see.

Here's my Dashboard that I see when I am doing these break sessions.

And yeah, so the next step is to be able to bring this into a dashboard and then like I am gonna do some canvas stuff, so I can add some graphics to it and then send that out to what people can see and consume.

So, like I said, so now this you have different ways.

There's the oh, and then I had to open up a bunch of different ports because like rtmp runs on 1935.

Port normally.

And I think the app engine instance didn't like that.

So it was a whole nother thing.

So I guess if people want and let me know, I will do like a deeper dive in like, what went into everything.

But yeah, so cool.

And so there's the HTTP.

So this is an FLV file that's being sent to that player.

So, from there.

There're different ways.

You can get that HTTP, you can get that FLV file, the video, and there's HTTP.

There's also websockets and I from what I am seeing, the web sockets have a little bit lower latency between it.

So it's almost real time.

There's maybe like four or five seconds delay, which is pretty cool.

And yeah, so I just kind of wanted to show that.

I thought it was pretty cool.

And then let me show you back on the dashboard now.

So you can see we got one connection here and then here's the bandwidth that's being used.

So this is the output input.

It gets kind of see like the mirror each other as well.

And then CPU usage again, not much and the memory usage not much at all.

And what's cool here?

Now, the streams.

I am trying to hold this one hand.

It's like shaky.

So here is the test stream that I just created and Bam, there it is.

So you can kind of actually preview from the dashboard to make sure.

Sure is the server, is getting that stuff.

And yeah, so that's just that's pretty cool.

That was super cool.

And so I got it working.

And yeah, it was kind of whole thing.

I had to do.

So, let me stop the broadcast here so you can I stop it?

You will see the connection and go back to only stop.

So the connection goes back to zero.

Cool.

And then the player.

Is stopped and so, yeah, so he worked and that's kind of awesome.

So the next thing is to like I said, I need to figure out the whole canvas situation and be able to add graphics and text to that feed.

And then from there, pop it out to something that a viewer can use.

I am going to use the Vonage video API for that other part that last part to the user, because it just makes my life easier because that's what I am using now.

And I have some experience with it.

So, so yeah, so that's the next step and think that's it.

So cool.

So, thank you all for hanging out.

Going to be out of here.

So let me stop my screen share.

So what do y'all think?

Did I do it?

Right?

Let me know if you have any experience because again, my only other experience with like Google Cloud infrastructure was setting up my gitlab instance.

So let me know if there's another way that you have done or so.

Or if you're even thinking about doing it.

Let me know.

And yeah, so I am happy.

That got that working.

Super cool.

So again, I am going to give you all set this timer.

So again, I am going to give you all more time after the when we, the last break and so to make up for this.

So, sorry, anytime I get to talk about code.

I just get really into it.

And so, and it's funny.

And I just had an interview on at which show for my company.

We have, we do twitch streams, and I was invited to be a guest on one and normally they're, like, 30 minutes, but get me talking about hip-hop and or code.

It's going to keep on talking until you tell me to shut up.

So it was like two hours and so it was a good times good time.

So it's on our Twitter Vonage, Deb's twitch Channel.

But yeah, that's it.

So again, thank you all for hanging out.

See you back 15 minutes after the hour.

And I think that's it.

So, again, thank you all for hanging out.

We will be back.

Good luck with everything that you're working on.

If you need anything, hit me up.

And yeah, thank you and the super happy.

Got it working.

So that's great.

All right, cool.

So let me share my screen with the audio.

All right, busy.

Good luck.

See you in 50 minutes after our.

Oh, and we're going to go over an artist website that I am super fan of a group.

Super, super cool group.

All right, here we go.

All right.

Share this screen.

All right, going to be back.

All right.

Thank you.

All again.

All right, here we go.

Down and out.