Answers.Body: <p>If you're streaming, OBS will re-encode the output each time.</p>
  <p>You can stream and record to disk at the same time,</p>
  <p>However, there's no way to &quot;replay&quot; that data directly to YouTube, it must be re-encoded.</p>
  <p>I notice that you have your stream encoder set to Software x264 which is CPU based.
  I also noticed that your recording encoder is set to NVENC which is GPU based.</p>
  <p>If you use NVENC as your stream encoder, it can offload encoding from the CPU to the GPU, which <em>could</em> drastically reduce your CPU load.</p>
  <p>However, the CPU load maybe coming from the decoding of the video file your trying to playback so you may not be able to reduce it massively but NVENC will definitely help.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-13T13:23:10.223Z
Answers.Text: Thank you. Is the "replay" possible with ffmpeg or some other alternative to OBS?
Answers.UserDisplayName: abel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-14T06:29:31.587Z
Answers.Text: Theoretically yes, YouTube Live uses RTMP Protocol for streaming, there is lots of software out there that can generate an RTMP stream and ffmpeg is one of them, technically all your doing with OBS is decoding an MP4, re-encoding it at a lower bitrate then sending it over RTMP, if you want to do this with FFMpeg you can just re-encode all your videos before hand to a stream acceptable rate, then use a playlist to play them back over RTMP to YouTube.
Answers.UserDisplayName: Adam Leyshon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-13T10:50:08.087Z
Answers.LastActivityDate: 2020-09-13T10:50:08.087Z
Answers.UserDisplayName: Adam Leyshon
Body: <p>I am a beginner and I am trying to stream a local file to YouTube Live.</p>
  <p>I noted that when I start streaming on OBS using the below settings, the CPU usage is at 35-40%.
  <a href="https://i.sstatic.net/v6TEL.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/v6TEL.png" alt="stream screen settings obs" /></a>
  <a href="https://i.sstatic.net/KiCJK.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/KiCJK.png" alt="output screen settings obs" /></a>
  <a href="https://i.sstatic.net/TvmME.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/TvmME.png" alt="audio screen settings obs" /></a>
  <a href="https://i.sstatic.net/bGGM7.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/bGGM7.png" alt="video screen settings obs" /></a>
  Since, I am using a local file which then OBS encodes (converts my local .mp4 (H.264) file to a data stream) using the settings given above and streams the data to the YouTube server, is there a way of capturing the data that OBS has streamed to YouTube, saving it as a file and then sending that data directly to YouTube without going through the conversion/encoding the next time I want to stream the same file?</p>
  <p>I am sorry if this is a stupid question.</p>
  
Tags: <streaming><obs>
Title: How to skip/minimize encoding workload in OBS?
UserDisplayName: abel
ThreadText: # How to skip/minimize encoding workload in OBS?
  
  (Asked by: username_0 on 2020-09-13)
  
  I am a beginner and I am trying to stream a local file to YouTube Live.
  
  I noted that when I start streaming on OBS using the below settings, the CPU usage is at 35-40%.
  [![stream screen settings obs](https://i.sstatic.net/v6TEL.png)](https://i.sstatic.net/v6TEL.png)
  [![output screen settings obs](https://i.sstatic.net/KiCJK.png)](https://i.sstatic.net/KiCJK.png)
  [![audio screen settings obs](https://i.sstatic.net/TvmME.png)](https://i.sstatic.net/TvmME.png)
  [![video screen settings obs](https://i.sstatic.net/bGGM7.png)](https://i.sstatic.net/bGGM7.png)
  Since, I am using a local file which then OBS encodes (converts my local .mp4 (H.264) file to a data stream) using the settings given above and streams the data to the YouTube server, is there a way of capturing the data that OBS has streamed to YouTube, saving it as a file and then sending that data directly to YouTube without going through the conversion/encoding the next time I want to stream the same file?
  
  I am sorry if this is a stupid question.
  
  **Tags:** streaming, obs
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2020-09-13. Score: 3
  
  If you're streaming, OBS will re-encode the output each time.
  
  You can stream and record to disk at the same time,
  
  However, there's no way to "replay" that data directly to YouTube, it must be re-encoded.
  
  I notice that you have your stream encoder set to Software x264 which is CPU based.
  I also noticed that your recording encoder is set to NVENC which is GPU based.
  
  If you use NVENC as your stream encoder, it can offload encoding from the CPU to the GPU, which *could* drastically reduce your CPU load.
  
  However, the CPU load maybe coming from the decoding of the video file your trying to playback so you may not be able to reduce it massively but NVENC will definitely help.
  
  > **Comments:**
  > **username_0**: Thank you. Is the "replay" possible with ffmpeg or some other alternative to OBS?  
  > **username_1**: Theoretically yes, YouTube Live uses RTMP Protocol for streaming, there is lots of software out there that can generate an RTMP stream and ffmpeg is one of them, technically all your doing with OBS is decoding an MP4, re-encoding it at a lower bitrate then sending it over RTMP, if you want to do this with FFMpeg you can just re-encode all your videos before hand to a stream acceptable rate, then use a playlist to play them back over RTMP to YouTube.  
  
  ---
  
  