code: public static function getMetadata($fileName, $fullExtract = false)
      {
          $metadata = static::getBasicMetadata($fileName);
  
          if ($fullExtract && !empty($metadata)) {
              $virtualFileObject = static::getVirtualFileObject($fileName, $metadata);
              $extractorRegistry = \TYPO3\CMS\Core\Resource\Index\ExtractorRegistry::getInstance();
              $extractionServices = $extractorRegistry->getExtractorsWithDriverSupport('Local');
  
              $newMetadata = [
                  0 => $metadata,
              ];
              foreach ($extractionServices as $service) {
                  if ($service->canProcess($virtualFileObject)) {
                      $newMetadata[$service->getPriority()] = $service->extractMetaData($virtualFileObject, $newMetadata);
                  }
              }
              ksort($newMetadata);
              foreach ($newMetadata as $data) {
                  $metadata = array_merge($metadata, $data);
              }
          }
  
          return $metadata;
      }
docs: Returns metadata from a given file.
  
  @param string $fileName
  @param bool $fullExtract
  @return array