code: def snapshot(self, channel=0, path_file=None, timeout=None):
          
          ret = self.command(
              "snapshot.cgi?channel={0}".format(channel),
              timeout_cmd=timeout
          )
  
          if path_file:
              with open(path_file, 'wb') as out_file:
                  shutil.copyfileobj(ret.raw, out_file)
  
          return ret.raw
docs: Args:
  
              channel:
                  Values according with Amcrest API:
                  0 - regular snapshot
                  1 - motion detection snapshot
                  2 - alarm snapshot
  
                  If no channel param is used, default is 0
  
              path_file:
                  If path_file is provided, save the snapshot
                  in the path
  
          Return:
              raw from http request