code: async def open(
          self,
          cmd: List[str],
          input_source: Optional[str],
          output: Optional[str] = "-",
          extra_cmd: Optional[str] = None,
          stdout_pipe: bool = True,
          stderr_pipe: bool = False,
      ) -> bool:
          
          stdout = subprocess.PIPE if stdout_pipe else subprocess.DEVNULL
          stderr = subprocess.PIPE if stderr_pipe else subprocess.DEVNULL
  
          if self.is_running:
              _LOGGER.warning("FFmpeg is already running!")
              return True
  
          # set command line
          self._generate_ffmpeg_cmd(cmd, input_source, output, extra_cmd)
  
          # start ffmpeg
          _LOGGER.debug("Start FFmpeg with %s", str(self._argv))
          try:
              proc_func = functools.partial(
                  subprocess.Popen,
                  self._argv,
                  bufsize=0,
                  stdin=subprocess.PIPE,
                  stdout=stdout,
                  stderr=stderr,
              )
              self._proc = await self._loop.run_in_executor(None, proc_func)
          except Exception as err:  # pylint: disable=broad-except
              _LOGGER.exception("FFmpeg fails %s", err)
              self._clear()
              return False
  
          return self._proc is not None
docs: Start a ffmpeg instance and pipe output.