From: Christian Weiske Date: Fri, 3 Sep 2021 20:14:10 +0000 (+0200) Subject: Filter out VP9 streams, sort by quality X-Git-Tag: v1.2.0~4 X-Git-Url: https://git.cweiske.de/playVideoOnDreamboxProxy.git/commitdiff_plain/27d22297323eb1422463d8df44a8a5f5b7ddd447?ds=sidebyside Filter out VP9 streams, sort by quality --- diff --git a/www/functions.php b/www/functions.php index 6ad1044..617724a 100644 --- a/www/functions.php +++ b/www/functions.php @@ -89,17 +89,36 @@ function extractVideoUrlFromJson($json) errorOut('Cannot decode JSON: ' . json_last_error_msg()); } - $url = null; + $safeFormats = []; foreach ($data->formats as $format) { if (strpos($format->format, 'hls') !== false) { //dreambox 7080hd does not play hls files continue; } + if (strpos($format->format, 'vp9') !== false) { + //dreambox 7080hd does not play VP9 video streams + continue; + } if ($format->protocol == 'http_dash_segments') { //split up into multiple small files continue; } + if ($format->ext == 'flv') { + //Internal data flow error + continue; + } + $safeFormats[] = $format; + } + + $url = null; + + //filter: best quality + usort($safeFormats, function ($a, $b) { + return ($b->quality ?? 0) - ($a->quality ?? 0); + }); + foreach ($safeFormats as $format) { $url = $format->url; + break; } if ($url === null) {