code: def _start_reader_thread(self, stream, chunks):
      
      import io  # pylint: disable=g-import-not-at-top
      import threading  # pylint: disable=g-import-not-at-top
      def target():
        while True:
          chunk = stream.read(io.DEFAULT_BUFFER_SIZE)
          if not chunk:
            break
          chunks.append(chunk)
      thread = threading.Thread(target=target)
      thread.start()
      return thread
docs: Starts a thread for reading output from FFMPEG.
  
      The thread reads consecutive chunks from the stream and saves them in
      the given list.
  
      Args:
        stream: output stream of the FFMPEG process.
        chunks: list to save output chunks to.
  
      Returns:
        Thread