Тёмный

HLS Streaming Server with NGINX 

Nerd on the Street
Подписаться 29 тыс.
Просмотров 171 тыс.
50% 1

Want to make your own streaming server so you can deliver live HTTP video to your website? Grab a VPS and strap in, because it's easier than you might think!
Affiliate links for DigitalOcean and Linode:
digitalocean.nots.co
linode.nots.co
Guide used as a reference for this video (not comprehensive): docs.peer5.com/guides/setting...
Currently-maintained NGINX RTMP module fork: github.com/sergey-dryabzhinsk...
---
Join the Nerd Club: nerdclub.nots.co
nerdonthestreet.com
discord.nots.co
/ nerdonthestreet
/ nerdonthestreet
/ nots_network
E-Mail: jacob@nerdonthestreet.com

Наука

Опубликовано:

 

5 сен 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 271   
@casm101
@casm101 3 года назад
This really helped me out! I had been following the same guide as you, but once it go to loading the stream in VideoJS, it just wasn't having it... Thanks to you I saw that I needed to enable SSL in the Nginx config and it worked straight away, so thank you!
@johndunn6253
@johndunn6253 4 года назад
Cool seeing you make this happen. I'm learning to work with the terminal, and it was cool recognizing some of what I've learned.
@mathematicsuccess
@mathematicsuccess 3 года назад
This tutorial helped me set up a stream server without any previous experience. Thanks for your super valuable help!!!
@testuser3167
@testuser3167 4 года назад
This video earned you a sub, and likely the next time I'm at a convenient spot to do so, a patron too!
@Borsting89
@Borsting89 4 года назад
I’ll save this video, cant see any reason why I would not need this in the near future. Thanks for making this, Jacob.
@explosivo3065
@explosivo3065 4 года назад
This video helped me a lot to get my final project half way done Thank you so much You got now a new subscriber
@venkateshbabu1504
@venkateshbabu1504 3 года назад
This is the kind of things people need for a business or support.
@blissweb
@blissweb 2 года назад
Loved your analysis and open commentry on streaming services and big tech. I think most of them are covering their asses, but I too totally object to people telling me what I can and cannot do online. I now have multiple VPS with multiple providers like digital ocean. However,... it seems, as far as I know, that to stream your vid to 10k people usinng your own server would cost an insane amount of money in bandwidth charges. ( If someone knows otherwise, please let me know. ) This is how people like Google, Amazon and Microsoft get away with telling you what you can and cannot do.
@vaibhav71188
@vaibhav71188 4 года назад
This was very helpful. Thank you very much.🙌🏻
@barclayiversen376
@barclayiversen376 4 года назад
Just wanted to give my personal thanks, this tutorial rocks!
@alpallovi5950
@alpallovi5950 4 года назад
Nerd in the street, they call it murdaaaa! Welcome to jamrock!
@supremeirie8480
@supremeirie8480 3 года назад
Underrated comment.
@andrewhiggins8284
@andrewhiggins8284 4 года назад
I absolutely loved your video! I subscribed.
@Alderm10
@Alderm10 4 года назад
Great tutorial! Struggled a little bit getting the videojs working but everything was smooth man. Earned a sub for this video. Thank you!
@drivingwhileblack6225
@drivingwhileblack6225 3 года назад
This was freaking amazing.
@sonymegas7951
@sonymegas7951 3 года назад
thank you very much for the tutorial ..you deserve more subs
@williamheckman4597
@williamheckman4597 4 года назад
Earned another sub. Great video!
@Sony32115
@Sony32115 2 года назад
It's helped me set up a streaming server done, Thanks.
@wuw24
@wuw24 Год назад
Thank you so much. really good steps by steps for non-tech like me.
@frankhdz
@frankhdz 4 года назад
Thanks! your video helped me debug my own install and finally got it running!
@recordable542
@recordable542 3 года назад
Great Work! I'm going to follow that by myself
@blissweb
@blissweb 2 года назад
Also, loved the video. I'm now missing a final piece of the puzzle which would be to source the video to send to the backend server using just a web page and a webcam, rather than installing dedicated pc software (which is what you seemed to do here). If you want another challenge, please consider figuring that out.
@jimbo1231969
@jimbo1231969 3 года назад
Nice work, Jacob! I need to do this using RTSP instead of RTMP. It seems nginx doesn't have a RTMP module. I see where a pull directive can be used to make ffmpeg do the conversion, but it seems that if that method is used, it only works if a client is requesting the RTMP feed, and stops when that client disconnects, even if another is consuming the HLS feed. If there is a straightforward way of turning RTSP feeds into HLS, I'd LOVE to see that video.
@slammerjackson7349
@slammerjackson7349 4 года назад
this is the bomb! GOOD STUFF
@NicholasPOGM
@NicholasPOGM 3 года назад
Is there a way to stream just pics and website pages without videos so as to use less bandwidth. I use xsplit and I set up my own streaming server in house (mistserver) but even if I put the kbps all the way down to 200 on Xsplit or OBS - with only 20MB upload (I live outside the city) I am very limited as to being able to share to many people simultaneously. I have hundreds that listen LIVE to an audio stream I do but each week, but I need to show pics and webpages at times wherein when I do that not many people can see what I am sending at the same time due to trying to send them at 200kbps each. Is there a way to just stream pics and pages?
@RelevantDad
@RelevantDad Год назад
This was wonderful. Thank you
@Manuelperrotta
@Manuelperrotta 2 года назад
Great content dude Bravo !!!
@chandanarora688
@chandanarora688 3 года назад
perfect working thanks for this amazing video
@evermartell5074
@evermartell5074 2 года назад
This video is GOLD!. thx.
@asepdarmawan8793
@asepdarmawan8793 7 месяцев назад
THIS IS AMAZING !!!! thank you
@ChristianCastaldi
@ChristianCastaldi 4 года назад
don't forget to set 2 new inbound rules in the droplet's firewall: TCP 1935 TCP 8080
@Oskar0001
@Oskar0001 3 года назад
thanks very much
@luganskukraine
@luganskukraine 4 года назад
great video! what would you suggest if let's say I want to run simple test app similar to Google Meet hosted at heroku for example? and I don't want to use WebRTC, just stream connected client video from webcam to any other connected client
@alendra9533
@alendra9533 Год назад
Nice tutorials! it's help me with my project! thanks
@shankarbavan6394
@shankarbavan6394 3 года назад
Thanks for the great video.
@gdkush
@gdkush 4 года назад
Thanks for the info!
@supersportalbanialive9983
@supersportalbanialive9983 3 года назад
Thanks MASTER! I did it!
@daniellbrinneman
@daniellbrinneman 3 года назад
Great video!
@NoobishAlpha
@NoobishAlpha 3 года назад
I managed to get it to work, thank you. Great content !
@MrRahul15937
@MrRahul15937 2 года назад
You are a hero 👍
@nasnaras1
@nasnaras1 3 года назад
Hi there!! just a bit fast for my understanding, but still it serves me a lot. The procedure would be the same if I raise the server on AWS?
@peco3221
@peco3221 3 года назад
It would definitely work on any cloud provider. So AWS, GCP, Azure etc.
@amrEltayeb47
@amrEltayeb47 3 года назад
Thank you very much for your effort and great explanation, but in fact I have two questions Hello, welcome. I have a live match streaming website and I have ubuntu 18.4 CPU 8 ram 32320 SSD, but when it is used on the site the number of simultaneous internet callers is no more than 1000. But I want more traffic to my site The broadcast is interrupted when I reach 1000 viewers online at one time, but have more than that number at one time and exceed 10,000 viewers at one time? First of all, do I have to do loadbalance and can I do it this way? Is there an explanation to describe this method and how it works? Second, what is installed on the backend servers, and what are its steps?
@micahburnside2281
@micahburnside2281 2 года назад
My hero
@sebaspi
@sebaspi 4 года назад
thanks so much for this tutorial my friend, i am trying to implement something like this at work, thanks so much to you i have learned a lot, don´t have much linux experience but i will try to follow your steps, also agree on not depending on big platforms, again thanks a lot cheers!
@AMian-yf2hn
@AMian-yf2hn 4 года назад
Really cool 😎 Your original 2016 rtmp multi streaming tut brought me to this video. Good for interactive webinars I guess. I am thinking: 1. Could OBS enable you to stream a live ( continually updated) blog site to RU-vid and other sites, as opposed to live streaming your desktop? By inputting the blog url, for example? If not OBS, another streaming package? 2. If you just wanted to stream to the usual suspects - FB, RU-vid, DM- would you need the original rtmp, or this https or either method? I am thinking of joining Da Club...need some tech advice. Cheers 😊 Shippy.
@CanerILGAZ
@CanerILGAZ 4 года назад
Thanks, great video! But i want to record the live stream on VPS, how can I do this?
@igmarmontenegro5715
@igmarmontenegro5715 3 года назад
Yes, is possible
@marpensatv
@marpensatv 4 года назад
Hello everyone, excellent project I did it to the letter and it works spectacularly, but I would like to know if there is a way to lower the latency to less than 2 to 3 seconds, I will thank you very much for your support.
@michaelanthonygutierrez
@michaelanthonygutierrez Год назад
Thanks brother
@jossushardware1158
@jossushardware1158 3 года назад
Would the process to make this be similar with RTSP? And what is the format of the jwplayer plugin, is it playing the video as HTML5 or Flash? And another question about OBS, do I need it? I have a IP cam which outputs RTSP stream...
@basspig
@basspig Год назад
I finally solved the streaming problem with this setup after 4 years of failed attempts. The problem wasn't with the server the problem was with open broadcaster software and the choice of the encoder. I was using the nvenc and coder but then today I switched to the nvenc new encoder and suddenly everything works.
@andyfifedenim
@andyfifedenim 3 года назад
this is a really great video.... i was wondering if you could do one on adding mp4 files etc.... to be streamed on demand?
@issahaddadin5934
@issahaddadin5934 3 года назад
Is there any web libraries that you recommend to use instead of using OBS studio?
@True_Muslim_Momin
@True_Muslim_Momin 4 года назад
Hello, I really like your tutorial and I was able to restream to FB and RU-vid for very cheap using a VPS. All thanks to your Re Streaming server tutorial. Recently FB has stopped support for RTMP and now it needs RTMPS. I have searched for quite a few days for a solution and it looks like I need an STunnel to wrap the RTMP stream into 'secured' RTMPS stream and then push it to fb. The problem is that I have tried several times to do it on a VPS but it just doesn't seem to work. Can you please make a tutorial on how to do it on a VPS? I would really appreciate any help you can provide in this regard.
@mariusz5938
@mariusz5938 3 года назад
I loved that video
@Gigabyteserviceofficial
@Gigabyteserviceofficial 4 года назад
Just like running multiple websites from one server can we do multiple video streaming?? if yes then please show us how?
@rameshnattar1607
@rameshnattar1607 4 года назад
This was clearly explained and I like your comment on motivating to own your on streaming
@SOUL_Creations
@SOUL_Creations 4 года назад
worth noting that you no longer have to compile nginx with rtmp by yourself, libnginx-mod-rtmp is available for debian and ubuntu
@frankhahn4804
@frankhahn4804 3 года назад
great video! any idea why alpha channel is not transparent?
@krisclem8290
@krisclem8290 3 года назад
I use switcher studio which has the option to send its stream to rtmp capable platforms is there anyway using nginx or something to take that stream and save it to a file?
@manit77
@manit77 3 года назад
is nginx stable enough to do video streaming? I configured RTMP a long time ago and had to restart the service quite often.
@HassenjeeRuhomally
@HassenjeeRuhomally 3 года назад
Can you help how to add adaptive frame rate in the nginx conf. Thanks
@nathanaellacourly
@nathanaellacourly 3 года назад
very helpful ty !!
@MJNOVAK87
@MJNOVAK87 4 года назад
hello so at 13:34 you put in an edit saying "We need this enabled", but what am I enabling? I'm asking cause I get to the part where I can start the streaming and all that works but with I do IP:8080/hls/test.m3u8 I only get the Nginx error page. thanks for any input
@NerdOnTheStreet
@NerdOnTheStreet 3 года назад
If you watch the rest of the video, I come back and fix that later, so there's no need to ask that in a comment.
@swoopertr
@swoopertr 4 года назад
great job.
@MyLifeBeLike-Official
@MyLifeBeLike-Official 4 года назад
thank you sheldon cooper 😂😂😂❤ that was helpful
@dragonAwkward
@dragonAwkward 4 года назад
great video, but can i send multiple rtmp streams, but with different stream names, under the same port (1935), into nginx??
@MrGarfield
@MrGarfield 4 года назад
Yes you can
@salaopen-official
@salaopen-official 4 года назад
Interesting, thanks.
@majicediting7514
@majicediting7514 2 года назад
is there a way to take url links from dropbox and add HLS to them for videos to keep them from being downloaded and viewed in the inspect tools in browsers
@Alcinos
@Alcinos 3 года назад
Thanks man, now i can run my server with ssl. I wish this tutorial would've been available 3 years ago Haha
@TheJP1700
@TheJP1700 3 года назад
Since he installed the certbot .pem files in the nginx server and the site that is requesting the server has https, does that mean that the video stream transmission is encrypted/protected. Both from source to server and from server to client request?
@juancholuna265
@juancholuna265 Год назад
You are awesome
@hipeoplesocialmedia
@hipeoplesocialmedia 3 года назад
hello I need help, I have links hls live streaming on these links I have to enable the cors support, because now the view of the live channels, after a minute is blocked, for this I have to enable sharing between the origins can you help me? Taking into account that I cannot access the server so I should bypass the cors, can you help me?
@madnlooney
@madnlooney Год назад
i know this video is old but i when i do the last part with ssl i can no longer see the m3u8 stream file. Before ssl it was working fine. is there anything that could be blocking it?
@LibraGeek
@LibraGeek 4 года назад
I want to broadcast around 20 different pre-recorded music videos on my YT channel... will I need to buy 20+ new laptops/PCs to do that?
@MrGarfield
@MrGarfield 4 года назад
I'm Using : nginx-http-flv-module it's a fork of the rtmp module but add's flv for javascript compatibility this drops down the lag to about 2-3 seconds. Also nice to have a look is the Node-Media-Server it's a multi protocol stream server including rtmp / hls / WebSockets. You cut back on the bandwidth anyway, but also performance of your web server that does not always refresh the * .ts files and *.m3u8 playlist. I use this to turn an small brand computer (Pi/ThinClient) into an NVR for IP camera's this is running flawless since ±2013
@MrGarfield
@MrGarfield 4 года назад
@@hussainbharmal5998 My personal advice would be use Nginx with the rtmp/flv just because i trust it since 2013. The Nginx is written in C that means the memory usage is a bit better. Especially when you run for long times (24/7 streams) and nginx can do also HLS / DASH (github.com/winshining/nginx-http-flv-module) read the readme.md there is a quick overview what this module is capable of.
@estebang.jandres7351
@estebang.jandres7351 4 года назад
Hello Jacob, Thank you for sharing this A++ Tutorial, I want to know if you could share your html file that contains the videojs configuration, reagards.
@sandeepsinhrathore1683
@sandeepsinhrathore1683 3 года назад
Hy I'm unable to add rtmp://myip and key and stream straight away through my phone I what steps should I take to proceed?
@rahweekhum9931
@rahweekhum9931 Год назад
I followed the videos HLS Streaming Server with NGINX. Thank for you videos. I'm trying to make my digitalocean ubuntu virtual run on https like yours. But I have a hard time try understand that. Do I have to have a domain and host it first to follow the video. Do you have any videos on how to make that happen from the ground up. I try to find these kind of video in your channel but no luck. Thank you.
@roozbehyeganeh
@roozbehyeganeh 4 года назад
tank you this is very helpfull how should i have a live stream creator in html and java script like webrtc and screen record?
@peektower6450
@peektower6450 3 года назад
Thank you
@MattMcGraw
@MattMcGraw 4 года назад
not trying to troll... i'm honestly curious. why the rage against codes of conduct? is it just because mixer makes you jump through hoops? are you against codes of conduct as a concept? love the video, i'm walking through the process right now.
@jodhrajkumawat1846
@jodhrajkumawat1846 4 года назад
How can we send live stream from html page using JavaScript without software
@Optimo2010
@Optimo2010 3 года назад
Cool!! Run good but how renew Letsencrypt certificate?
@TisinaUmaVideoBlog
@TisinaUmaVideoBlog 3 года назад
What about required internet connection (upload speed) if you plan to stream to 500 concurrent viewers? 100Mbps enough for 720p or such? Any idea or calculation methods? Thanks!
@genmen
@genmen Год назад
As far as I understand, upload bandwidth or speed are not affected by number of users watching. You stream it on a single connection to NGINX, which is in the cloud. Most of the traffic is flowing from the cloud (NGINX) to users and this is where the Digital Ocean (or other provider) outgoing bandwidth is the limiting factor. So the requirement on your Internet connection is to be able to handle one streaming connection from you to Cloud provider.
@jorgeandrescardenasc.1182
@jorgeandrescardenasc.1182 3 года назад
Hello, I have a problem, it does not create the m3u8 files on start streaming in OBS despite having the necessary permissions, why? :(
@OrionGarcia
@OrionGarcia 4 года назад
for anyone trying to get this hls stream into wordpress i had success using the 'Video.js HLS Player' plugin.
@scottburns5237
@scottburns5237 3 года назад
Hey, great video - are you able to share your html code for the website player? Thanks.
@NerdOnTheStreet
@NerdOnTheStreet 3 года назад
The website video player is based on VideoJS, like I mentioned in the video: github.com/videojs/video.js VideoJS isn't just HTML code, you either need to host the JavaScript and CSS files on your web server (like I'm doing) or you can use the public instance hosted by their sponsors: videojs.com/getting-started In addition to the base VideoJS player, the NOTS website uses a number of off-the-shelf plugins (which you can find through their GitHub page and website), but most of the plugins that I use are only useful for VODs (playback rate, quality selection, etc.) I've helped another group of streamers get up and running with only the stock player, so I know there are no plugins required for HLS support in recent versions. I also wrapped the livestream player in an and wrote a JavaScript file to check if the player's playing anything every 15 seconds, and reload the if nothing's playing-- this lets people sit on the livestream page while they wait for a stream to start, and not have to manually refresh their page when the stream does start. You can read the code for that here (remember to copy it to a file on your own server if you want to use it, since I'm not obligated to keep it online at this location): nerdonthestreet.com/player/livestream-reload.js
@Yohoyboy
@Yohoyboy 3 года назад
How did you design your video player?
@rickreynolds9306
@rickreynolds9306 2 года назад
Screw ‘em! I like it.
@PhongsakornW
@PhongsakornW 3 года назад
i want to know can user exec ffmpeg to add web browser or alert from streamlabs or image to rtmp module 🤔
@JJskizzGmailCom
@JJskizzGmailCom 4 года назад
can anyone help me. I followed all the steps through putting server address to my obs. Somehow obs start to streaming but server has no signal. It keep showing www-data www-data. and date. I tried with no steam key or any stream key. Any advise for me?
@alimaqsood8680
@alimaqsood8680 3 года назад
hi can i use this as a streaming from many to many .like many people are streaming and many people are watching ..also if you can suggest a way to stream many to many
@JonathanRobert23
@JonathanRobert23 2 года назад
Hey Jacob, thank you for this tutorial and due to it my team and I were able to run our livestream this morning! With that said I would like to know how to get in limit our bitrate to 2000Kbps or so. Not sure if we need anyother module or can we edit the conf file to support the same. If there is a document for the same would be greatly appreciated. Looking forward to your reply.
@dmitryponyatov2158
@dmitryponyatov2158 3 года назад
Why you dont use rtmp binary package provided by your lunux distributive?
@krishankaushiktiruvidula2186
@krishankaushiktiruvidula2186 4 года назад
I am not getting m3u8 files any where. Please help me
@musaabdullah8515
@musaabdullah8515 4 года назад
hey could you help me out i want to do this but with windows. can u give me a link to a good source for this. (i dont want to ask u to make a video just for one comment)
@rajarizwanhotmail
@rajarizwanhotmail 3 года назад
I became your subscriber after this video. Now can you tell how I can live stream from a browser to this streaming webserver, instead of using OBS?
@planeetpaul
@planeetpaul 10 месяцев назад
Hi, I know this is an old video, but is seeking also possible ? And does this also work for audio only? Iam looking for a way to stream audio (wav) files via HLS to a music player on my website. Thank you for the video!
@greeshmasusanjohn4416
@greeshmasusanjohn4416 4 месяца назад
Im also trying this, where you able to do it?
@markjaysongonzaga1131
@markjaysongonzaga1131 4 года назад
is it possibe to replace obs with mobile like built from flutter or react native?im working on a project but instead obs my objective is to stream from mobile from scratch
@paulmaydaynight9925
@paulmaydaynight9925 4 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-M58rc7cxl_s.html FFMPEG Advanced Techniques Pt2 - Filtergraphs & Timeline 17,185 views•Oct 5, 2016 ,0612 TV w/ NERDfirst
@ronalgaldamez5971
@ronalgaldamez5971 5 месяцев назад
Hello, help me, I am new and I have reached the video.js part 20:20 but I don't know how to load the files, whether manually or through npm
@axelh7459
@axelh7459 3 года назад
Hello. Is it possible to convert a google drive shared link (video link) to mkv, avi, mp4 ... because if I copy my shared link in m3u list, my iptv player can't play this video :((((
@patriziomarchesan7081
@patriziomarchesan7081 4 года назад
Is it possible to protect the server with authentication to receive streaming only from me? Thank you so much for the video!
@NerdOnTheStreet
@NerdOnTheStreet 4 года назад
The authentication would be your application name. Make that a long, random string, and keep it secret. Only people who know the application name will be able to stream to the server (because it's part of the stream URL.)
Далее
The NGINX Crash Course
50:53
Просмотров 476 тыс.
你们会选择哪一辆呢#short #angel #clown
00:20
Host a Jitsi Meet Server
26:48
Просмотров 164 тыс.
Using NGINX Open Source for Video Streaming and Storage
14:11
Streaming HLS and DASH with NGINX | Verizon
38:42
Просмотров 43 тыс.
How To Self Host Your Own Live Stream | Owncast
18:22
Node JS - HTTP Streaming
37:22
Просмотров 19 тыс.
Video Formats, Codecs and Containers (Explained)
12:29
Просмотров 327 тыс.
OZON РАЗБИЛИ 3 КОМПЬЮТЕРА
0:57
Просмотров 47 тыс.