Create a Live Stream with Nginx and FFmpeg using HLS RTMP and Docker Compose

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024

Комментарии • 29

  • @mr_tpk
    @mr_tpk 4 месяца назад +1

    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.

  • @terfy
    @terfy 10 дней назад

    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 ?

    • @WittCode
      @WittCode  8 дней назад

      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!

  • @romeocaillon2506
    @romeocaillon2506 Месяц назад

    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.

    • @WittCode
      @WittCode  Месяц назад

      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?

  • @matthewdraevich4214
    @matthewdraevich4214 25 дней назад

    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.

    • @WittCode
      @WittCode  25 дней назад

      Yeah I think that could actually be implemented through the HTML Video element. You could use the currentTime attribute or something along those lines?

  • @GMNNATBR
    @GMNNATBR 2 месяца назад +1

    to change the video file to an RTMP camera input?

    • @WittCode
      @WittCode  2 месяца назад

      Sounds like a future video idea!

    • @hugo-abdou
      @hugo-abdou 19 дней назад

      ​@@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

  • @scratchguy5851
    @scratchguy5851 Месяц назад +1

    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

    • @WittCode
      @WittCode  Месяц назад

      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

    • @scratchguy5851
      @scratchguy5851 Месяц назад

      @@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

    • @WittCode
      @WittCode  Месяц назад

      @@scratchguy5851 The issue is in the message. It can't find the file

    • @scratchguy5851
      @scratchguy5851 Месяц назад

      @@WittCode Thank you sir, I reinstalled Docker and it fixed all the errors

    • @WittCode
      @WittCode  Месяц назад +1

      @@scratchguy5851 Interesting! But hey if it works it works!

  • @danliciousxs4415
    @danliciousxs4415 25 дней назад

    Hey, I wanted to ask how I can use an RTMP link as the input instead of a video file?

    • @WittCode
      @WittCode  25 дней назад

      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.

  • @SunHouse-APTO61
    @SunHouse-APTO61 Месяц назад

    Good video, do you have the repository with all the files you used?

    • @WittCode
      @WittCode  Месяц назад

      hey there! yup my blog site in the description should contain everything!

  • @Ayoubz73
    @Ayoubz73 Месяц назад

    now how can i host this live thats i want to stream the live in my host web site how can or is possible

    • @WittCode
      @WittCode  Месяц назад

      That's the beauty of Docker! You can just get a cheap VPS, spin this up there, and change the locations to that server.

  • @thiagocosme242
    @thiagocosme242 3 месяца назад

    Good job, i need code with python