Thank you for sharing this wonderful tutorial. With your guidance I was able to implement a live streaming app in Python. Thanks a lot dude. Keep up the good work.
There are a few ways! You could spin up an application server in Node, Python, etc. to handle the streams. Nginx also might have a library to play things sequentially
Hello, I'm getting an error like this whenever I start. Is there any fix for this? ! ffmpeg Warning pull access denied for ffmpeg-i, repository does not exist or may require 'docker login': denied: requested access to the resource is denied ! nginx Warning pull access denied for nginx-i, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Looks like you're trying to pull an image called ffmpeg-i from an online repo. ffmpeg-i is what I called the image. The actual image is just called ffmpeg
@@WittCode Ok but I ran into another problem, it says The system cannot find the file specified. ffmpeg: image: ffmpeg container_name: ${FFMPEG_HOST} build: context: ./ffmpeg dockerfile: Dockerfile env_file: .env depends_on: - nginx
great tutorial. I do have a question if possible :) So, you stream the video file live. But how is it possible to stream live while allowing viewers to rewind? For example, RUclips offers the ability to watch a live stream from an earlier timestamp. As I can guess, it somehow related to your backend implementation rather than to NGINX configuration. So, an ingester will stream its video using RTMP, then our backend will assemble it to a video file and then forward the stream to NGINX/CDN over HLS/DASH? Hope the question is clear.
Yeah I think that could actually be implemented through the HTML Video element. You could use the currentTime attribute or something along those lines?
so.. this is a live stream.. what about if you just want to serve a youtube like service, on-demand videos ?.. and how many dockers should I create then ? one for each video ?
That's a fully loaded question! I wouldn't spin up a container per video though. You would just have multiple streams at once. You containerize each process not each video!
I don't know off the top of my head but I would suggest checking the ffmpeg docs. You probably just have to change the command to stream from a link as opposed to a file.
Thank you for the video and the comprehensive blog. I've deployed this code on a vps server, but unfortunately I can't get it to work. I have The media could not be loaded, either because the server or network failed or because the format is not supported. Maybe someone else also had this error and managed to solve it.
Hey there thanks for watching! Are there any more logs than just that? Check the logs in each of the containers. Also what is the video format you are using?
Thank you for sharing this wonderful tutorial. With your guidance I was able to implement a live streaming app in Python. Thanks a lot dude. Keep up the good work.
to change the video file to an RTMP camera input?
Sounds like a future video idea!
@@WittCode yes please wee nead to know how to stream directly from the webcam to server then to the viewers like Facebook lives or youtube
@@hugo-abdou Did u get it?
How would you stream a "playlist" of MP4 files in a folder to play sequentially?
There are a few ways! You could spin up an application server in Node, Python, etc. to handle the streams. Nginx also might have a library to play things sequentially
Was this a re-upload? You mention flash, which doesn't work any more?
No it wasn't. What did I say about flash? I can't remember
@@WittCode hahaha ill watch again and time stamp it
@@WittCode 7:38
@@shaun7611 From what I recall flash is different from flash format. That flv is a format while you're thinking of Adobe flash?
Hello, I'm getting an error like this whenever I start. Is there any fix for this?
! ffmpeg Warning pull access denied for ffmpeg-i, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
! nginx Warning pull access denied for nginx-i, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Looks like you're trying to pull an image called ffmpeg-i from an online repo. ffmpeg-i is what I called the image. The actual image is just called ffmpeg
@@WittCode Ok but I ran into another problem, it says The system cannot find the file specified.
ffmpeg:
image: ffmpeg
container_name: ${FFMPEG_HOST}
build:
context: ./ffmpeg
dockerfile: Dockerfile
env_file: .env
depends_on:
- nginx
@@scratchguy5851 The issue is in the message. It can't find the file
@@WittCode Thank you sir, I reinstalled Docker and it fixed all the errors
@@scratchguy5851 Interesting! But hey if it works it works!
is the nginx-proxy-manger in truenas scale the same on what you used?
I'm not actually sure what truenas scale is? I just used the official docker nginx image
great tutorial.
I do have a question if possible :)
So, you stream the video file live. But how is it possible to stream live while allowing viewers to rewind? For example, RUclips offers the ability to watch a live stream from an earlier timestamp.
As I can guess, it somehow related to your backend implementation rather than to NGINX configuration. So, an ingester will stream its video using RTMP, then our backend will assemble it to a video file and then forward the stream to NGINX/CDN over HLS/DASH?
Hope the question is clear.
Yeah I think that could actually be implemented through the HTML Video element. You could use the currentTime attribute or something along those lines?
so.. this is a live stream.. what about if you just want to serve a youtube like service, on-demand videos ?.. and how many dockers should I create then ? one for each video ?
That's a fully loaded question! I wouldn't spin up a container per video though. You would just have multiple streams at once. You containerize each process not each video!
Hey, I wanted to ask how I can use an RTMP link as the input instead of a video file?
I don't know off the top of my head but I would suggest checking the ffmpeg docs. You probably just have to change the command to stream from a link as opposed to a file.
Can I stream a live screen share with sound?
of course
Good video, do you have the repository with all the files you used?
hey there! yup my blog site in the description should contain everything!
Thank you for the video and the comprehensive blog. I've deployed this code on a vps server, but unfortunately I can't get it to work.
I have
The media could not be loaded, either because the server or network failed or because the format is not supported.
Maybe someone else also had this error and managed to solve it.
Hey there thanks for watching! Are there any more logs than just that? Check the logs in each of the containers. Also what is the video format you are using?
now how can i host this live thats i want to stream the live in my host web site how can or is possible
That's the beauty of Docker! You can just get a cheap VPS, spin this up there, and change the locations to that server.
Good job, i need code with python
😀
how is this a live streaming.. this is streaming a file, it's not a live streaming
If you want to be that specific fair enough. If you want to real live streaming just change the input