code: async def start_worker(
          self,
          cmd: List[str],
          input_source: str,
          output: Optional[str] = None,
          extra_cmd: Optional[str] = None,
          pattern: Optional[str] = None,
          reading: str = FFMPEG_STDERR,
      ) -> None:
          
          if self.is_running:
              _LOGGER.warning("Can't start worker. It is allready running!")
              return
  
          if reading == FFMPEG_STDERR:
              stdout = False
              stderr = True
          else:
              stdout = True
              stderr = False
  
          # start ffmpeg and reading to queue
          await self.open(
              cmd=cmd,
              input_source=input_source,
              output=output,
              extra_cmd=extra_cmd,
              stdout_pipe=stdout,
              stderr_pipe=stderr,
          )
  
          self._input = await self.get_reader(reading)
  
          # start background processing
          self._read_task = self._loop.create_task(self._process_lines(pattern))
          self._loop.create_task(self._worker_process())
docs: Start ffmpeg do process data from output.