From 27d22297323eb1422463d8df44a8a5f5b7ddd447 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Fri, 3 Sep 2021 22:14:10 +0200 Subject: [PATCH] Filter out VP9 streams, sort by quality --- www/functions.php | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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) { -- 2.30.2