public function parse($filepath) { if (!is_file($filepath)) { throw new Exception("File '" . $filepath . "' not found"); } $basename = pathinfo($filepath, PATHINFO_FILENAME); $release = new Release($basename); $container = $this->mediainfo->getInfo($filepath); foreach ($container->getVideos() as $video) { // CODEC if (!$release->getEncoding()) { if ($codec = $video->get('codec_cc')) { switch ($codec) { case 'DIVX': $release->setEncoding(Release::ENCODING_DIVX); break; case 'XVID': $release->setEncoding(Release::ENCODING_XVID); break; } } else { if ($codec = $video->get('encoded_library_name')) { switch ($codec) { case 'x264': $release->setEncoding(Release::ENCODING_X264); break; case 'x265': $release->setEncoding(Release::ENCODING_X265); break; } } else { if ($codec = $video->get('internet_media_type')) { switch ($codec) { case 'video/H264': $release->setEncoding(Release::ENCODING_H264); break; } } } } } // RESOLUTION if (!$release->getResolution()) { $height = $video->get('height')->getAbsoluteValue(); $width = $video->get('width')->getAbsoluteValue(); if ($height >= 1000 || $width >= 1900) { $release->setResolution(Release::RESOLUTION_1080P); } else { if ($height >= 700 || $width >= 1200) { $release->setResolution(Release::RESOLUTION_720P); } } } } // LANGUAGE $audios = $container->getAudios(); if (!$release->getLanguage()) { if (count($audios) > 1) { $release->setLanguage(Release::LANGUAGE_MULTI); } else { $languages = $audios[0]->get('language'); if ($languages && $languages[1] != 'English') { $release->setLanguage(strtoupper($languages[1])); } else { $release->setLanguage($this->getDefaultLanguage()); } } } return $release; }
continue; } $release = utf8_encode($release); $Release = new Release($release); $element = ['generated' => $Release->__toString(), 'title' => utf8_encode($Release->getTitle()), 'type' => utf8_encode($Release->getType())]; if ($year = $Release->getYear()) { $element['year'] = utf8_encode($year); } else { $element['guess']['year'] = $Release->guessYear(); } if ($language = $Release->getLanguage()) { $element['language'] = utf8_encode($language); } else { $element['guess']['language'] = $Release->guessLanguage(); } if ($resolution = $Release->getResolution()) { $element['resolution'] = utf8_encode($resolution); } else { $element['guess']['resolution'] = $Release->guessResolution(); } if ($source = $Release->getSource()) { $element['source'] = utf8_encode($source); } if ($dub = $Release->getDub()) { $element['dub'] = utf8_encode($dub); } if ($encoding = $Release->getEncoding()) { $element['encoding'] = utf8_encode($encoding); } if ($group = $Release->getGroup()) { $element['group'] = utf8_encode($group);