diff --git a/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializer.java index 1276ea565..1dd09e36d 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializer.java @@ -164,22 +164,13 @@ public List deserialize( final Optional date = parseDate(itemObject); final Optional duration = parseDuration(itemObject); final Sender sender = determinePartner(itemObject); - final Optional videoInfoStandard = parseVideoUrls(itemObject, "standard", "video/mp4"); - final Optional videoInfoAdaptive = parseVideoUrls(itemObject, "standard", "application/vnd.apple.mpegurl"); - final Optional videoInfoAD = parseVideoUrls(itemObject, "standard", "audio-description"); - //final Optional videoInfoDGS = parseVideoUrls(itemObject, "standard", "sign-language"); - // FUNK provides adaptive only - Optional videoInfo = videoInfoStandard; - if (videoInfoStandard.isEmpty() && videoInfoAD.isEmpty()) { - videoInfo = fallbackToM3U(videoInfoAdaptive); + final Optional videoInfo = parseVideos(itemObject, title); + + if (title.isEmpty() || topic.isEmpty() || videoInfo.isEmpty()) { + return films; } - - - if (topic.isPresent() - && title.isPresent() - && videoInfo.isPresent() - && videoInfo.get().getVideoUrls().size() > 0) { - videoInfo.get().setSubtitleUrl(prepareSubtitleUrl(itemObject)); + // normal + if (videoInfo.isPresent()) { // add film to ARD final ArdFilmDto filmDto = new ArdFilmDto( @@ -191,47 +182,26 @@ public List deserialize( date.orElse(null), duration.orElse(null), videoInfo.get())); - films.add(filmDto); - // if (widgets.size() > 1) { parseRelatedFilms(filmDto, widgets.get(1).getAsJsonObject()); } - // - if (topic.isPresent() - && title.isPresent() - && videoInfoAD.isPresent() - && videoInfoAD.get().getVideoUrls().size() > 0) { - videoInfoAD.get().setSubtitleUrl(prepareSubtitleUrl(itemObject)); - // add film to ARD - final ArdFilmDto filmDtoAD = - new ArdFilmDto( - createFilm( - sender, - topic.get(), - title.get(), - description.orElse(null), - date.orElse(null), - duration.orElse(null), - videoInfo.get())); - films.add(filmDtoAD); - } - } else { - LOG.debug("No title, topic or video found for {} {} {} ", title, topic, sender); + films.add(filmDto); } - + return films; } - private Optional fallbackToM3U(Optional m3u) { + private Optional> fallbackToM3U(Optional m3u) { // FUNK provides adaptive only - if (m3u.isPresent() && m3u.get().containsResolution(Resolution.NORMAL)) { + if (m3u.isPresent() && !m3u.get().getVideoUrls().isEmpty()) { + String m3uUrl = m3u.get().getVideoUrls().values().toArray(new String[1])[0]; Map resolutionUrlMapFromM3U; try { - resolutionUrlMapFromM3U = videoDeserializer.loadM3U8(new URL(m3u.get().getVideoUrls().get(Resolution.NORMAL))); + resolutionUrlMapFromM3U = videoDeserializer.loadM3U8(new URL(m3uUrl)); if (resolutionUrlMapFromM3U.size() > 0) { - ArdVideoInfoDto newVideoInfo = new ArdVideoInfoDto(); - resolutionUrlMapFromM3U.forEach((key, value) -> newVideoInfo.put(key, value.toString())); - return Optional.of(newVideoInfo); + Map newUrls = new EnumMap<>(Resolution.class); + resolutionUrlMapFromM3U.forEach((key, value) -> newUrls.put(key, value.toString())); + return Optional.of(newUrls); } } catch (MalformedURLException e) { // TODO Auto-generated catch block @@ -318,8 +288,9 @@ private Film createFilm( Optional.ofNullable(description).ifPresent(film::setBeschreibung); - film.setGeoLocations( - GeoLocationGuesser.getGeoLocations(Sender.ARD, videoInfo.getDefaultVideoUrl())); + + film.setGeoLocations(GeoLocationGuesser.getGeoLocations(Sender.ARD, videoInfo.getDefaultVideoUrl())); + if (videoInfo.getSubtitleUrl().isPresent()) { for (String subtitleUrl : videoInfo.getSubtitleUrl().get()) { try { @@ -336,6 +307,8 @@ private Film createFilm( } } addUrls(film, videoInfo.getVideoUrls()); + addADUrls(film, videoInfo.getVideoUrlsAD()); + addDGSUrls(film, videoInfo.getVideoUrlsDGS()); return film; } @@ -350,34 +323,96 @@ private void addUrls(final Film film, final Map videoUrls) { } } } + + private void addADUrls(final Film film, final Map videoUrls) { + for (final Map.Entry qualitiesEntry : videoUrls.entrySet()) { + final String url = qualitiesEntry.getValue(); + try { + film.addAudioDescription(qualitiesEntry.getKey(), new FilmUrl(url, crawler.determineFileSizeInKB(url))); + } catch (final MalformedURLException ex) { + LOG.error("InvalidUrl AD: {}", url, ex); + } + } + } + + private void addDGSUrls(final Film film, final Map videoUrls) { + for (final Map.Entry qualitiesEntry : videoUrls.entrySet()) { + final String url = qualitiesEntry.getValue(); + try { + film.addSignLanguage(qualitiesEntry.getKey(), new FilmUrl(url, crawler.determineFileSizeInKB(url))); + } catch (final MalformedURLException ex) { + LOG.error("InvalidUrl AD: {}", url, ex); + } + } + } + + private Optional parseVideos(final JsonObject playerPageObject, Optional title) { + ArdVideoInfoDto allVideoUrls = new ArdVideoInfoDto(); + // + final Optional> videoInfoStandard = parseVideoUrls(playerPageObject, "main", "standard", "video/mp4"); + final Optional> videoInfoAdaptive = parseVideoUrls(playerPageObject, "main", "standard", "application/vnd.apple.mpegurl"); + final Optional> videoInfoAD = parseVideoUrls(playerPageObject, "main", "audio-description", "video/mp4"); + final Optional> videoInfoDGS = parseVideoUrls(playerPageObject, "sign-language", "standard", "video/mp4"); + final Optional> subtitles = prepareSubtitleUrl(playerPageObject); + // + if (subtitles.isPresent()) { + allVideoUrls.setSubtitleUrl(subtitles); + } + if (videoInfoAD.isPresent()) { + allVideoUrls.putAllAD(videoInfoAD.get()); + } + if (videoInfoDGS.isPresent()) { + allVideoUrls.putAllDGS(videoInfoDGS.get()); + } + if (videoInfoStandard.isPresent()) { + allVideoUrls.putAll(videoInfoStandard.get()); + } else if (videoInfoAdaptive.isPresent()) { + ArdVideoInfoDto fallbackM3UUrl = new ArdVideoInfoDto(); + fallbackM3UUrl.putAll(videoInfoAdaptive.get()); + Optional> fallback = fallbackToM3U(Optional.of(fallbackM3UUrl)); + if (fallback.isPresent()) { + allVideoUrls.putAll(fallback.get()); + } + } + if (allVideoUrls.getVideoUrls().isEmpty() && allVideoUrls.getVideoUrlsAD().isEmpty() && allVideoUrls.getVideoUrlsDGS().isEmpty() ) { + return Optional.empty(); + } + return Optional.of(allVideoUrls); + } - private Optional parseVideoUrls(final JsonObject playerPageObject, String videoType, String mimeType) { + private Optional> parseVideoUrls(final JsonObject playerPageObject, String streamType, String aduioType, String mimeType) { final Optional mediaCollectionObject = getMediaCollectionObject(playerPageObject); if (mediaCollectionObject.isEmpty()) return Optional.empty(); final Optional streams = JsonUtils.getElement(mediaCollectionObject.get(), ELEMENT_STREAMS); if (streams.isEmpty() || !streams.get().isJsonArray() || (streams.get().getAsJsonArray().size() == 0)) return Optional.empty(); - final Optional media = JsonUtils.getElement(streams.get().getAsJsonArray().get(0), ELEMENT_MEDIA); - if (media.isEmpty() || !media.get().isJsonArray() || (media.get().getAsJsonArray().size() == 0)) - return Optional.empty(); - ArdVideoInfoDto videoInfo = new ArdVideoInfoDto(); - for (JsonElement video : media.get().getAsJsonArray()) { - Optional mime = JsonUtils.getElementValueAsString(video, ATTRIBUTE_MIME); - if (mime.isPresent() && mime.get().equalsIgnoreCase(mimeType)) { - Optional audios = JsonUtils.getElement(video, ELEMENT_AUDIO); - if (audios.isPresent() && audios.get().isJsonArray() && audios.get().getAsJsonArray().size() > 0) { - Optional kind = JsonUtils.getElementValueAsString(audios.get().getAsJsonArray().get(0), ATTRIBUTE_KIND); - Optional res_h = JsonUtils.getElementValueAsString(video, ATTRIBUTE_RESOLUTION_H); - Optional url = JsonUtils.getElementValueAsString(video, ATTRIBUTE_URL); - if (url.isPresent() && res_h.isPresent() && kind.isPresent() && kind.get().equalsIgnoreCase(videoType)) { - Resolution resolution = Resolution.getResolutionFromWidth(Integer.parseInt(res_h.get())); - videoInfo.put(resolution, url.get()); + // + Map videoInfo = new EnumMap<>(Resolution.class); + for (JsonElement streamsCategory : streams.get().getAsJsonArray()) { + final Optional streamKind = JsonUtils.getElementValueAsString(streamsCategory, ATTRIBUTE_KIND); + final Optional media = JsonUtils.getElement(streamsCategory, ELEMENT_MEDIA); + if (media.isEmpty() || !media.get().isJsonArray() || (media.get().getAsJsonArray().size() == 0)) + return Optional.empty(); + if (streamKind.orElse("").equalsIgnoreCase(streamType)) { + for (JsonElement video : media.get().getAsJsonArray()) { + Optional mime = JsonUtils.getElementValueAsString(video, ATTRIBUTE_MIME); + if (mime.isPresent() && mime.get().equalsIgnoreCase(mimeType)) { + Optional audios = JsonUtils.getElement(video, ELEMENT_AUDIO); + if (audios.isPresent() && audios.get().isJsonArray() && audios.get().getAsJsonArray().size() > 0) { + Optional kind = JsonUtils.getElementValueAsString(audios.get().getAsJsonArray().get(0), ATTRIBUTE_KIND); + Optional res_h = JsonUtils.getElementValueAsString(video, ATTRIBUTE_RESOLUTION_H); + Optional url = JsonUtils.getElementValueAsString(video, ATTRIBUTE_URL); + if (url.isPresent() && res_h.isPresent() && kind.isPresent() && kind.get().equalsIgnoreCase(aduioType)) { + Resolution resolution = Resolution.getResolutionFromWidth(Integer.parseInt(res_h.get())); + videoInfo.put(resolution, url.get()); + } + } } } } } - if (videoInfo.getVideoUrls().size() > 0) { + if (videoInfo.size() > 0) { return Optional.of(videoInfo); } else { return Optional.empty(); diff --git a/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdVideoInfoDto.java b/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdVideoInfoDto.java index 45fa59424..1d3bba7c5 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdVideoInfoDto.java +++ b/src/main/java/de/mediathekview/mserver/crawler/ard/json/ArdVideoInfoDto.java @@ -4,8 +4,10 @@ import java.util.EnumMap; import java.util.Map; +import java.util.Map.Entry; import java.util.Optional; import java.util.Set; +import java.util.stream.Stream; /** * Video information from {@literal @@ -14,22 +16,43 @@ public class ArdVideoInfoDto { private final Map videoUrls; + private final Map videoUrlsAD; + private final Map videoUrlsDGS; private Optional> subtitleUrl; public ArdVideoInfoDto() { videoUrls = new EnumMap<>(Resolution.class); + videoUrlsAD = new EnumMap<>(Resolution.class); + videoUrlsDGS = new EnumMap<>(Resolution.class); + subtitleUrl = Optional.empty(); } public Resolution getDefaultQuality() { - if (videoUrls.containsKey(Resolution.NORMAL)) { + if (videoUrls.containsKey(Resolution.NORMAL) || + videoUrlsAD.containsKey(Resolution.NORMAL) || + videoUrlsDGS.containsKey(Resolution.NORMAL)) { return Resolution.NORMAL; } - return videoUrls.keySet().iterator().next(); + return Stream.of(videoUrls.keySet(), videoUrlsAD.keySet(), videoUrlsDGS.keySet()) + .flatMap(map -> map.stream()) + .findFirst() + .orElse(Resolution.SMALL); } public String getDefaultVideoUrl() { - return videoUrls.get(getDefaultQuality()); + if (videoUrls.containsKey(getDefaultQuality())) { + return videoUrls.get(getDefaultQuality()); + } else if (videoUrlsAD.containsKey(getDefaultQuality())) { + return videoUrlsAD.get(getDefaultQuality()); + } else if (videoUrlsDGS.containsKey(getDefaultQuality())) { + return videoUrlsDGS.get(getDefaultQuality()); + } + return Stream.of(videoUrls.values(), videoUrlsAD.values(), videoUrlsDGS.values()) + .flatMap(map -> map.stream()) + .findFirst() + .orElse(null); + } public Optional> getSubtitleUrl() { @@ -55,4 +78,38 @@ public boolean containsResolution(final Resolution key) { public String put(final Resolution key, final String value) { return videoUrls.put(key, value); } + + public void putAll(Map entries) { + for (Entry e : entries.entrySet()) { + put(e.getKey(), e.getValue()); + } + } + + public Map getVideoUrlsAD() { + return videoUrlsAD; + } + + public String putAD(final Resolution key, final String value) { + return videoUrlsAD.put(key, value); + } + + public void putAllAD(Map entries) { + for (Entry e : entries.entrySet()) { + putAD(e.getKey(), e.getValue()); + } + } + + public Map getVideoUrlsDGS() { + return videoUrlsDGS; + } + + public String putDGS(final Resolution key, final String value) { + return videoUrlsDGS.put(key, value); + } + + public void putAllDGS(Map entries) { + for (Entry e : entries.entrySet()) { + putDGS(e.getKey(), e.getValue()); + } + } } diff --git a/src/test/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializerTest.java b/src/test/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializerTest.java index 35dbc3dae..b82c59de9 100644 --- a/src/test/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializerTest.java +++ b/src/test/java/de/mediathekview/mserver/crawler/ard/json/ArdFilmDeserializerTest.java @@ -37,6 +37,12 @@ public class ArdFilmDeserializerTest { private final String expectedUrlSmall; private final String expectedUrlNormal; private final String expectedUrlHd; + private final String expectedADUrlSmall; + private final String expectedADUrlNormal; + private final String expectedADUrlHd; + private final String expectedDGSUrlSmall; + private final String expectedDGSUrlNormal; + private final String expectedDGSUrlHd; private final String expectedSubtitle; private final GeoLocations expectedGeo; private final ArdFilmInfoDto[] relatedFilms; @@ -55,6 +61,12 @@ public ArdFilmDeserializerTest( final String expectedUrlSmall, final String expectedUrlNormal, final String expectedUrlHd, + final String expectedADUrlSmall, + final String expectedADUrlNormal, + final String expectedADUrlHd, + final String expectedDGSUrlSmall, + final String expectedDGSUrlNormal, + final String expectedDGSUrlHd, final String expectedSubtitle, final GeoLocations expectedGeo, final ArdFilmInfoDto[] relatedFilms, @@ -68,6 +80,12 @@ public ArdFilmDeserializerTest( this.expectedUrlSmall = expectedUrlSmall; this.expectedUrlNormal = expectedUrlNormal; this.expectedUrlHd = expectedUrlHd; + this.expectedADUrlSmall = expectedADUrlSmall; + this.expectedADUrlNormal = expectedADUrlNormal; + this.expectedADUrlHd = expectedADUrlHd; + this.expectedDGSUrlSmall = expectedDGSUrlSmall; + this.expectedDGSUrlNormal = expectedDGSUrlNormal; + this.expectedDGSUrlHd = expectedDGSUrlHd; this.expectedSubtitle = expectedSubtitle; this.expectedGeo = expectedGeo; this.relatedFilms = relatedFilms; @@ -80,140 +98,254 @@ public static Collection data() { return Arrays.asList( new Object[][] { { - "/ard/ard_film_page11.json", - "Tagesschau", - "tagesschau, 09:00 Uhr", - "Themen der Sendung: Bundestag und Bundesrat stimmen über Kohleausstieg ab, Werbeverbot für Tabak wird verschärft, Großbritannien lockert Corona-Einreisebeschränkungen, Zahl der Corona-Neuinfektionen in den USA erreicht neuen Höchststand, Urteil im Prozess gegen Menschenrechtler Steudtner in Istanbul erwartet, Hongkonger Bürgerrechtsaktivist bittet Deutschland um Hilfe für die Demokratie-Bewegung, \n.....", - LocalDateTime.of(2020, 7, 3, 9, 0, 0), - Duration.ofMinutes(4).plusSeconds(9), - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webml.h264.mp4", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webl.h264.mp4", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webxl.h264.mp4", - "https://www.ardmediathek.de/subtitle/410890", - GeoLocations.GEO_NONE, - new ArdFilmInfoDto[0], - Optional.empty() + /*jsonFile*/ "/ard/ard_item_DGS_AD.json", + /*topic*/ "Sesamstraße Magazin", + /*title*/ "Die schlaflose Eule (mit Gebärdensprache)", + /*description*/ "2893. Ernie & Jan Delay bringen den müden Bert mit ihrem Lied um seinen nächtlichen Schlaf. In einer neuen Sesamstraßen Reihe nehmen uns Kinder mit an ihre \"Lieblingsorte\". Heute besuchen wir mit Elli (4), Jonathan (5) und Mattis (8) das nächtliche Miniaturwunderland. Außerdem hat der Prinz Probleme damit, Dornröschen zu wecken und Krümelmonster bringt Abby zur Verzweiflung. Susi Schraube erfindet\n.....", + /*date*/ LocalDateTime.parse("2024-02-19T07:45"), + /*duration*/ Duration.parse("PT20M26S"), + /*small*/ "https://mediandr-a.akamaihd.net/progressive_geo/2021/0928/TV-20210928-1420-0200.ln.mp4", + /*normal*/ "https://mediandr-a.akamaihd.net/progressive_geo/2021/0928/TV-20210928-1420-0200.hq.mp4", + /*hd*/ "https://mediandr-a.akamaihd.net/progressive_geo/2021/0928/TV-20210928-1420-0200.hd.mp4", + /*ADsmall*/ "https://mediandr-a.akamaihd.net/progressive_geo/2021/1001/TV-20211001-1625-4000.ln.mp4", + /*ADnormal*/ "https://mediandr-a.akamaihd.net/progressive_geo/2021/1001/TV-20211001-1625-4000.hq.mp4", + /*ADhd*/ "https://mediandr-a.akamaihd.net/progressive_geo/2021/1001/TV-20211001-1625-4000.hd.mp4", + /*DGSsmall*/ "https://mediandr-a.akamaihd.net/progressive_geo/2022/0104/TV-20220104-0902-5000.ln.mp4", + /*DGSnormal*/ "https://mediandr-a.akamaihd.net/progressive_geo/2022/0104/TV-20220104-0902-5000.hq.mp4", + /*DGShd*/ "https://mediandr-a.akamaihd.net/progressive_geo/2022/0104/TV-20220104-0902-5000.hd.mp4", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:eaa2ed13a677cd00", + /*hd*/ GeoLocations.GEO_DE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.KIKA) }, { - "/ard/ard_film_page_with_related11.json", - "Live nach neun", - "Live nach Neun", - "", - LocalDateTime.of(2020, 7, 3, 9, 5, 0), - Duration.ofMinutes(49).plusSeconds(46), - "https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_640x360-25p-1300kbit.mp4", - "https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_960x540-50p-2600kbit.mp4", - "https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_1920x1080-50p-8000kbit.mp4", - "https://www.ardmediathek.de/subtitle/410911", - GeoLocations.GEO_DE, - new ArdFilmInfoDto[] { - new ArdFilmInfoDto( - "Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA", - ArdConstants.ITEM_URL - + "Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA", - 0), - new ArdFilmInfoDto( - "Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg", - ArdConstants.ITEM_URL - + "Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg", - 0), - new ArdFilmInfoDto( - "Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ", - ArdConstants.ITEM_URL - + "Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ", - 0) - }, - Optional.empty() + /*jsonFile*/ "/ard/ard_item_DGS_UT_AD.json", + /*topic*/ "Tatort", + /*title*/ "Der Fluch des Geldes (mit Gebärdensprache)", + /*description*/ "Spielfilm Deutschland 2024 +++ \"Der Fluch des Geldes\" beginnt da, wo \"Die Kälte der Erde\" endete. Die Hauptkommissare streiten sich, denn Leo Hölzer musste entdecken, dass sein Partner Adam Schürk im Besitz der Beute aus einem Bankraub seines verstorbenen Vaters ist. +++ Mit Vladimir Burlakov, Daniel Sträßer, Susanne Bormann, Omar El-Saeidi, Jasmina Al Zihairi u.a. | Buch: Hendrik Hölzemann \n.....", + /*date*/ LocalDateTime.parse("2024-01-28T20:15"), + /*duration*/ Duration.parse("PT1H28M33S"), + /*small*/ "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_640x360-50p-1200kbit.mp4", + /*normal*/ "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_960x540-50p-1600kbit.mp4", + /*hd*/ "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_1280x720-50p-3200kbit.mp4", + /*ADsmall*/ "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_640x360-50p-1200kbit.mp4", + /*ADnormal*/ "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_960x540-50p-1600kbit.mp4", + /*ADhd*/ "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_1280x720-50p-3200kbit.mp4", + /*DGSsmall*/ "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_640x360-50p-1200kbit.mp4", + /*DGSnormal*/ "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_960x540-50p-1600kbit.mp4", + /*DGShd*/ "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_1280x720-50p-3200kbit.mp4", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:7b0043ec0b358eb8.vtt", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[] { + new ArdFilmInfoDto( + "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + String.format(ArdConstants.ITEM_URL, "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ"), + 0), + new ArdFilmInfoDto( + "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + String.format(ArdConstants.ITEM_URL, "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5"), + 0) + }, + /*sender*/ Optional.of(Sender.ARD) }, { - "/ard/ard_film_page_ndr11.json", - "Wer weiß denn sowas? | 03.07.2020", - "Wer weiß denn sowas? | 03.07.2020", - "Das beliebte Wissensspiel mit Bernhard Hoëcker und Elton. Moderator Kai Pflaume präsentiert unglaubliche Rätselfragen. Welches Team gewinnt? Gäste: Hardy Krüger jr. und Oliver Masucci.", - LocalDateTime.of(2020, 7, 3, 16, 25, 0), - Duration.ofMinutes(44).plusSeconds(14), - "https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.ln.mp4", - "https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.hq.mp4", - "https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.hd.mp4", - "https://www.ardmediathek.de/subtitle/411033", - GeoLocations.GEO_NONE, - new ArdFilmInfoDto[0], - Optional.of(Sender.NDR) + /*jsonFile*/ "/ard/ard_item_STD_BR.json", + /*topic*/ "PULS Reportage", + /*title*/ "Van-Urlaub für 1 Euro: Wie geht das?", + /*description*/ "Bei einer Relocation kann man sich für 1 Euro einen Mietwagen ausleihen und muss ihn dafür nur pünktlich zum nächsten Abholort bringen. Leah mietet sich einen Luxus-Van, mit dem sie in drei Tagen nach Italien fährt: Taugt's wirklich als Urlaub?", + /*date*/ LocalDateTime.parse("2024-05-01T15:00"), + /*duration*/ Duration.parse("PT20M47S"), + /*small*/ "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_E.mp4", + /*normal*/ "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_C.mp4", + /*hd*/ "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_X.mp4", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[] { + new ArdFilmInfoDto( + "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + String.format(ArdConstants.ITEM_URL, "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw"), + 0) + }, + /*sender*/ Optional.of(Sender.BR) }, { - "/ard/ard_film_page_funk.json", - "maiLab", - "Spieltheorie des Lebens | Tragödie des Gemeinguts", - "Dinge, von denen alle was haben, um die sich aber auch alle kümmern müssen, werden meist scheiße behandelt. Warum ist das so? Und muss das wirklich immer so sein?", - LocalDateTime.of(2019, 6, 19, 0, 0, 0), - Duration.ofMinutes(14).plusSeconds(27), - "", - "http://funk-01dd.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src_1024x576_1500.mp4", - "http://funk-01dd.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src_1920x1080_6000.mp4", - "", - GeoLocations.GEO_NONE, - new ArdFilmInfoDto[0], - Optional.of(Sender.FUNK) + /*jsonFile*/ "/ard/ard_item_STD_DasErste.json", + /*topic*/ "tagesschau", + /*title*/ "tagesschau 11:10 Uhr, 01.05.2024", + /*description*/ "Bundesweit Kundgebungen zum Tag der Arbeit für bessere Arbeitsbedingungen, Bereits erste Demonstrationen in Berlin und Hamburg, Polizei in Georgiens Hauptstadt Tiflis geht massiv gegen pro-europäische Demonstranten vor, US-Einsatzkräfte räumen mit Großaufgebot besetztes Gebäude der Columbia Universität in New York, US-Bestsellerautor Paul Auster stirbt im Alter von 77 Jahren, Walpurgisnacht im Har\n.....", + /*date*/ LocalDateTime.parse("2024-05-01T11:10"), + /*duration*/ Duration.parse("PT5M6S"), + /*small*/ "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webm.h264.mp4", + /*normal*/ "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webl.h264.mp4", + /*hd*/ "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webxl.h264.mp4", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:c09c9cee3bf53db8.vtt", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[] { + new ArdFilmInfoDto( + "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + String.format(ArdConstants.ITEM_URL, "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw"), + 0) + }, + /*sender*/ Optional.of(Sender.ARD), }, { - "/ard/ard_film_page_arte_geo.json", - "ARTE", - "Der Sommer nach dem Abitur", - "Nach dem Abitur wollten die drei Schulfreunde Alexander, Paul und Ole auf ein Konzert ihrer Lieblingsband Madness. Doch irgendetwas kam für alle dazwischen. Zu ihrem Glück gibt es die Band immer noch und so machen sie sich ein Vierteljahrhundert später auf den Weg ... - Tragikomödie (2019, Regie: Eoin Moore) über Lebenslügen, verpasste Träume und Existenzängste.", - LocalDateTime.of(2021, 6, 18, 5, 0, 0), - Duration.ofMinutes(88).plusSeconds(29), - "https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_HQ_1_VOA_05911353_MP4-800_AMM-IPTV-ARD_1ZbnJfgtHA.mp4", - "https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_EQ_1_VOA_05911351_MP4-1500_AMM-IPTV-ARD_1ZbnIfgtFZ.mp4", - "https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_SQ_1_VOA_05911354_MP4-2200_AMM-IPTV-ARD_1ZbnKfgtJr.mp4", - "", - GeoLocations.GEO_DE_FR, - new ArdFilmInfoDto[0], - Optional.empty() + /*jsonFile*/ "/ard/ard_item_STD_HR.json", + /*topic*/ "hallo hessen", + /*title*/ "hallo hessen – Teil 1 vom 30.04.2024", + /*description*/ "Der Mai steht vor der Tür und wir haben für Sie die perfekten Wandertipps. Los geht es heute mit dem herrlichen Rheingau. Außerdem wollen wir passend dazu auch die Grillsaison eröffnen. Und ein hessischer Erdbeerbauer verrät uns alles Wissenswerte um die roten Superfrüchtchen.", + /*date*/ LocalDateTime.parse("2024-04-30T16:00"), + /*duration*/ Duration.parse("PT46M"), + /*small*/ "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_640x360-50p-1200kbit.mp4", + /*normal*/ "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_960x540-50p-1600kbit.mp4", + /*hd*/ "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_1280x720-50p-3200kbit.mp4", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.HR), }, { - "/ard/ard_film_page_encoding_nbsp.json", - "Die Stein", - "Folge 8: Neues Glück (S01/E08)", - "Karola hat ein Stipendium für Italien bekommen. Aufgeregt ruft sie Katja an, die gerade mit Stefan ausreitet. Als Katja mit Stefan im Atelier erscheint, bricht Karola plötzlich zusammen. In der Klinik stellt sich heraus: Karola ist schwanger. Und alles spricht dafür, dass Oliver der Vater ist. Katja ist niedergeschlagen, hat sie doch ihr gemeinsames Kind damals verloren. Aber auch Karola ist kreuz\n.....", - LocalDateTime.of(2021, 10, 28, 17, 0, 0), - Duration.ofMinutes(47).plusSeconds(57), - "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488364.mp4", - "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488365.mp4", - "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488366.mp4", - "", - GeoLocations.GEO_NONE, - new ArdFilmInfoDto[0], - Optional.of(Sender.ONE) + /*jsonFile*/ "/ard/ard_item_STD_NDR.json", + /*topic*/ "NDR Info", + /*title*/ "NDR Info 14:00 | 30.04.2024", + /*description*/ "Die Nachrichten für den Norden: Suche nach Arian eingestellt / Viele Pflege-Ausbildungsplätze in Schleswig-Holstein unbesetzt", + /*date*/ LocalDateTime.parse("2024-04-30T14:00"), + /*duration*/ Duration.parse("PT10M19S"), + /*small*/ "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.ln.mp4", + /*normal*/ "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.hq.mp4", + /*hd*/ "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.hd.mp4", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:ea9ad6b71df1b8ed.vtt", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.NDR), }, { - "/ard/ard_film_page_uhd.json", - "Leeroy will's wissen", - "Wie ist das DOWN-SYNDROM ZU HABEN?", - "Tamara ist 26 Jahre alt und hat das Down-Syndrom. Doch das ist für sie kein Hindernis – ganz im Gegenteil! Seit Jahren ist sie als Model und Schauspielerin sehr erfolgreich. So stand sie schon für die Designer Hugo Boss und Victoria Beckham vor der Kamera", - LocalDateTime.of(2022, 7, 24, 20, 0, 0), - Duration.ofMinutes(15).plusSeconds(50), - "https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/4-q4xvKF6nmVLY7Pw8Ckr9.mp4", - "https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/2-M7wvJWnjNmgfBGCLDYZV.mp4", - "https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/1-dz73ZV4wXPrfK8YDMBxj.mp4", - "", - GeoLocations.GEO_NONE, - new ArdFilmInfoDto[0], - Optional.of(Sender.FUNK) + /*jsonFile*/ "/ard/ard_item_STD_ONE.json", + /*topic*/ "Murdoch Mysteries", + /*title*/ "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + /*description*/ "Murdoch schließt sich mit seinem Helden Arthur Conan Doyle zusammen, um einen Mord aufzuklären, der während einer Séance unter der Leitung des Mediums Sarah Pensall aufgedeckt wurde. Es scheint, dass das Opfer Ida Winston, Mitglied einer paranormalen Wächtergruppe, nicht von Sarahs Fähigkeiten überzeugt war. Murdoch fragt sich, ob Sarah Ida getötet hat, weil sie kurz davorstand, als Betrügerin ent\n.....", + /*date*/ LocalDateTime.parse("2024-05-01T04:15"), + /*duration*/ Duration.parse("PT46M4S"), + /*small*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089636.mp4", + /*normal*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089637.mp4", + /*hd*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089638.mp4", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:0567b031db73e4b9.vtt", + /*hd*/ GeoLocations.GEO_DE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.ONE), }, { - "/ard/ard_film_page_only_single_resolution.json", - "Planet Schule", - "Der Spargel · Feldküche: Vom Acker direkt in den Topf", - "Spargelernte ist Knochenarbeit! Das erlebt auch Tom bei Landwirtin Regina Rothkopf und ihrem Sohn Maximilian in Euskirchen. Ob grün oder weiß, die Stangen sind der Spross der Spargelpflanze und ein gesundes Frühlingsgemüse. Zusammen mit Maximilian brät Tom am Feldrand aus dem frisch geernteten Spargel ein schnelles Pfannengericht.", - LocalDateTime.of(2023, 2, 10, 5, 30, 0), - Duration.ofMinutes(10), - "https://odplanetschule-a.akamaihd.net/schulfernsehen/feldkueche/feldkueche-vom-acker-direkt-in-den-topf-spargel.mp4", - "", - "", - "https://api.ardmediathek.de/subtitle-format-service/ebutt/urn:ard:subtitle:1090d019e4f165e1", - GeoLocations.GEO_NONE, - new ArdFilmInfoDto[0], - Optional.of(Sender.SWR) + /*jsonFile*/ "/ard/ard_item_STD_RBB.json", + /*topic*/ "Blue Moon", + /*title*/ "Blue Moon vom 30.04.2024", + /*description*/ "Den Rucksack auskippen, bloßstellende Fotos posten oder Beleidigungen nachrufen - fast jedes sechste Schulkind ist bei uns von Mobbing betroffen. Aber auch im Büro, an der Uni oder im Verein gibt es Mobbing! Diese Woche sprechen wir bei Fritz über das Thema Mobbing, alle Inhalte und Hilfsangebote findet ihr hier: fritz.de/mobbing. Claudia Kamieth will deshalb heute im Blue Moon von euch wissen: Wu\n.....", + /*date*/ LocalDateTime.parse("2024-04-30T22:15"), + /*duration*/ Duration.parse("PT1H43M15S"), + /*small*/ "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc360.mp4", + /*normal*/ "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc540.mp4", + /*hd*/ "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc720.mp4", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.RBB), + }, + { + /*jsonFile*/ "/ard/ard_item_STD_AD_DasErste.json", + /*topic*/ "Mord mit Aussicht", + /*title*/ "Folge 3: Die Bestechlichen (S05/E03)", + /*description*/ "Marie zögert noch bei Gisberts Angebot, zu ihm auf den Schweine-Hof zu ziehen. Willkommene Ablenkung bietet Marie eine Leiche im Heuballen auf Müller Schlichtings Wiese. Der Tote ist Albert Appel, der mit seinem Bruder Kai einen Bauernhof betreibt und außerdem Schiedsrichter der Regionalliga ist. Die Ermittlungen führen in die Welt des Fußballs und zweier rivalisierender Clubs. Das Auftauchen ein\n.....", + /*date*/ LocalDateTime.parse("2024-04-30T20:15"), + /*duration*/ Duration.parse("PT47M20S"), + /*small*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955169.mp4", + /*normal*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955170.mp4", + /*hd*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955171.mp4", + /*ADsmall*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101825.mp4", + /*ADnormal*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101826.mp4", + /*ADhd*/ "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101827.mp4", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:a1d11ac623c7d120.vtt", + /*hd*/ GeoLocations.GEO_NONE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.ARD), + }, + { + /*jsonFile*/ "/ard/ard_item_STD_AD_MDR.json", + /*topic*/ "Auf schmaler Spur", + /*title*/ "Reichsbahn-Oldies im Trend", + /*description*/ "Mit gerade mal 27 Jahren ist Tobias Sambill Geschäftsführer des „Salzland Railservice“ in Bernburg. Seine Geschäftsidee: Er betreibt Güterverkehr mit alten Reichsbahnloks und ist ganz verrückt nach „Ludmilla“, Baujahr 1974, 3.000 PS Leistung. Ludmilla ist der Spitzname für Dieselloks der Baureihe 130, die ab 1970 aus der Sowjetunion zur Reichsbahn kamen. Auch in Löbau ist der Nachwuchs schon in d\n.....", + /*date*/ LocalDateTime.parse("2024-05-01T13:20"), + /*duration*/ Duration.parse("PT29M31S"), + /*small*/ "https://odgeomdr-a.akamaihd.net/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-41dd60577440_a6.mp4", + /*normal*/ "https://odgeomdr-a.akamaihd.net/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-730aae549c28_a6.mp4", + /*hd*/ "https://odgeomdr-a.akamaihd.net/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-be7c2950aac6_a6.mp4", + /*ADsmall*/ "https://odgeomdr-a.akamaihd.net/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-41dd60577440_25.mp4", + /*ADnormal*/ "https://odgeomdr-a.akamaihd.net/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-730aae549c28_25.mp4", + /*ADhd*/ "https://odgeomdr-a.akamaihd.net/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-be7c2950aac6_25.mp4", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:7d1c01087f8cae77", + /*hd*/ GeoLocations.GEO_DE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.MDR), + }, + { + /*jsonFile*/ "/ard/ard_item_STD_AD_SWR.json", + /*topic*/ "Traumziele", + /*title*/ "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + /*description*/ "Der Apennin ist das Rückgrat und die Seele Italiens. Orte voller Geschichte und wilde Natur prägen das Land.", + /*date*/ LocalDateTime.parse("2024-05-01T14:15"), + /*duration*/ Duration.parse("PT43M55S"), + /*small*/ "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.ml.mp4", + /*normal*/ "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.l.mp4", + /*hd*/ "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.xl.mp4", + /*ADsmall*/ "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.ml.mp4", + /*ADnormal*/ "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.l.mp4", + /*ADhd*/ "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.xl.mp4", + /*DGSsmall */ "", + /*DGSnormal */ "", + /*DGShd */ "", + /*sub*/ "", + /*hd*/ GeoLocations.GEO_DE, + /*related*/ new ArdFilmInfoDto[0], + /*sender*/ Optional.of(Sender.SWR), } }); } @@ -228,6 +360,7 @@ public void test() { assertThat(actualFilms.size(), equalTo(expectedFilmCount)); final ArdFilmDto[] films = actualFilms.toArray(new ArdFilmDto[] {}); + //AssertFilm.toTestCase("", films[0].getFilm()) AssertFilm.assertEquals( films[0].getFilm(), additionalSender.orElse(Sender.ARD), @@ -236,11 +369,17 @@ public void test() { expectedDateTime, expectedDuration, expectedDescription, - "", + "", // website new GeoLocations[] {expectedGeo}, expectedUrlSmall, expectedUrlNormal, expectedUrlHd, + expectedDGSUrlSmall, + expectedDGSUrlNormal, + expectedDGSUrlHd, + expectedADUrlSmall, + expectedADUrlNormal, + expectedADUrlHd, expectedSubtitle); assertThat(films[0].getRelatedFilms(), Matchers.containsInAnyOrder(relatedFilms)); } diff --git a/src/test/java/de/mediathekview/mserver/crawler/ard/tasks/ArdFilmDetailTaskTest.java b/src/test/java/de/mediathekview/mserver/crawler/ard/tasks/ArdFilmDetailTaskTest.java index 58be10278..cac3686aa 100644 --- a/src/test/java/de/mediathekview/mserver/crawler/ard/tasks/ArdFilmDetailTaskTest.java +++ b/src/test/java/de/mediathekview/mserver/crawler/ard/tasks/ArdFilmDetailTaskTest.java @@ -14,6 +14,9 @@ import java.time.LocalDateTime; import java.util.Arrays; import java.util.Collection; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Optional; import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; @@ -24,8 +27,8 @@ @RunWith(Parameterized.class) public class ArdFilmDetailTaskTest extends ArdTaskTestBase { - private final String filmUrl; - private final String filmJsonFile; + private final Map urlStub; + private final String crawlerUrl; private final String expectedTopic; private final String expectedTitle; private final LocalDateTime expectedTime; @@ -35,28 +38,36 @@ public class ArdFilmDetailTaskTest extends ArdTaskTestBase { private final String expectedUrlSmall; private final String expectedUrlNormal; private final String expectedUrlHd; + private final String expectedADUrlSmall; + private final String expectedADUrlNormal; + private final String expectedADUrlHd; private final String expectedSubtitle; private final GeoLocations expectedGeo; private final String id; - + private final Sender sender; + public ArdFilmDetailTaskTest( final String aId, - final String aFilmUrl, - final String aFilmJsonFile, + final String aCrawlerUrl, + final Map aUrlStub, final String aExpectedTopic, final String aExpectedTitle, + final String aExpectedDescription, final LocalDateTime aExpectedTime, final Duration aExpectedDuration, - final String aExpectedDescription, - final String aExpectedWebsite, final String aExpectedUrlSmall, final String aExpectedUrlNormal, final String aExpectedUrlHd, + final String aExpectedADUrlSmall, + final String aExpectedADUrlNormal, + final String aExpectedADUrlHd, final String aExpectedSubtitle, - final GeoLocations aExpectedGeo) { + final GeoLocations aExpectedGeo, + final String aExpectedWebsite, + final Sender aSender) { id = aId; - filmUrl = aFilmUrl; - filmJsonFile = aFilmJsonFile; + crawlerUrl = aCrawlerUrl; + urlStub = aUrlStub; expectedTopic = aExpectedTopic; expectedTitle = aExpectedTitle; expectedTime = aExpectedTime; @@ -66,8 +77,12 @@ public ArdFilmDetailTaskTest( expectedUrlSmall = aExpectedUrlSmall; expectedUrlNormal = aExpectedUrlNormal; expectedUrlHd = aExpectedUrlHd; + expectedADUrlSmall = aExpectedADUrlSmall; + expectedADUrlNormal = aExpectedADUrlNormal; + expectedADUrlHd = aExpectedADUrlHd; expectedSubtitle = aExpectedSubtitle; expectedGeo = aExpectedGeo; + sender = aSender; } @Parameters @@ -75,36 +90,47 @@ public static Collection data() { return Arrays.asList( new Object[][] { { - "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi", - "/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi", - "/ard/ard_film_page11.json", - "Tagesschau", - "tagesschau, 09:00 Uhr", - LocalDateTime.of(2020, 7, 3, 9, 0, 0), - Duration.ofMinutes(4).plusSeconds(9), - "Themen der Sendung: Bundestag und Bundesrat stimmen über Kohleausstieg ab, Werbeverbot für Tabak wird verschärft, Großbritannien lockert Corona-Einreisebeschränkungen, Zahl der Corona-Neuinfektionen in den USA erreicht neuen Höchststand, Urteil im Prozess gegen Menschenrechtler Steudtner in Istanbul erwartet, Hongkonger Bürgerrechtsaktivist bittet Deutschland um Hilfe für die Demokratie-Bewegung, \n.....", - "https://www.ardmediathek.de/video/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webml.h264.mp4", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webl.h264.mp4", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webxl.h264.mp4", - "https://www.ardmediathek.de/subtitle/410890", - GeoLocations.GEO_NONE, + /* id */ "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE", + /* crawlerUrl */ "/page-gateway/pages/ard/item/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE", + /* stup*/ Map.ofEntries( + Map.entry("/page-gateway/pages/ard/item/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE", "/ard/ard_item_fallback.json"), + Map.entry("/22679/files/21/01/30/2678992/22679-jqh9gFKRm8YDnC2.ism/manifest.m3u8", "/ard/ard_item_fallback_m3u.txt") + ), + /*topic*/ "Fickt euch!", + /*title*/ "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + /*description*/ "Den Penis richtig waschen ist ganz einfach! Was ihr beachten müsst, um Infektionen und unangenehme Gerüche zu vermeiden, erfahrt ihr im Video. Du willst mehr? Dann abonniere meinen Kanal: https://www.youtube.com/channel/UC3ZkjIfabQzVypsQBd9-AIQ?sub_confirmation=1Fickt euch! bei Facebook: http://www.facebook.com/istdochnursexFickt euch! bei Instagram: http://www.instagram.com/istdochnursexFickt euc\n.....", + /*date*/ LocalDateTime.parse("2016-12-13T15:00"), + /*duration*/ Duration.parse("PT3M5S"), + /*small*/ "http://localhost:50998/22679/files/21/01/30/2678992/22679-jqh9gFKRm8YDnC2.ism/22679-jqh9gFKRm8YDnC2-audio=128019-video=327000.m3u8", + /*normal*/ "http://localhost:50998/22679/files/21/01/30/2678992/22679-jqh9gFKRm8YDnC2.ism/22679-jqh9gFKRm8YDnC2-audio=152016-video=1484000.m3u8", + /*hd*/ "http://localhost:50998/22679/files/21/01/30/2678992/22679-jqh9gFKRm8YDnC2.ism/22679-jqh9gFKRm8YDnC2-audio=152016-video=3883000.m3u8", + /*ADsmall*/ "", + /*ADnormal*/ "", + /*ADhd*/ "", + /*sub*/ "", + /*hd*/ GeoLocations.GEO_NONE, + /* website */ "https://www.ardmediathek.de/video/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE", + /* sender */ Sender.FUNK } }); } @Test public void test() { - setupSuccessfulJsonResponse(filmUrl, filmJsonFile); + + for (Entry entry : urlStub.entrySet()) { + setupSuccessfulJsonResponse(entry.getKey(), entry.getValue()); + } - final Set actual = executeTask(filmUrl); + final Set actual = executeTask(crawlerUrl); assertThat(actual.size(), equalTo(1)); final Film film = actual.iterator().next(); + AssertFilm.toTestCase(crawlerUrl, film); AssertFilm.assertEquals( film, - Sender.ARD, + sender, expectedTopic, expectedTitle, expectedTime, @@ -115,6 +141,10 @@ public void test() { expectedUrlSmall, expectedUrlNormal, expectedUrlHd, + "","","", // sign language + expectedADUrlSmall, + expectedADUrlNormal, + expectedADUrlHd, expectedSubtitle); } diff --git a/src/test/resources/ard/ard_film_page11.json b/src/test/resources/ard/ard_film_page11.json deleted file mode 100644 index 0dbaff1bf..000000000 --- a/src/test/resources/ard/ard_film_page11.json +++ /dev/null @@ -1,285 +0,0 @@ -{ - "fskRating":"NONE", - "id":"1m0kFcyvowSiEYW4c6YYWg", - "personalized":false, - "links":{ - "self":{ - "id":"1m0kFcyvowSiEYW4c6YYWg", - "title":"Ondemand PlayerPage ARD", - "href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi?embedded=true", - "type":"application/vnd.ard.page+json" - - } - - }, - "title":"tagesschau, 09:00 Uhr", - "tracking":{ - "aggregationLevelId":38, - "atiCustomVars":{ - "clipTitle":"tagesschau, 09:00 Uhr", - "mediaType":"video", - "lra":"Das Erste", - "channel":"Das Erste", - "show":"Tagesschau", - "contentTypes":"UT", - "mediaDistributionType":1, - "contentId":77387418, - "metadataId":"crid://daserste.de/tagesschau/a46824b7-58e3-485b-8339-72512e29680b", - "clipLength":249 - - }, - "chapter2":"Player", - "chapter3":"Tagesschau", - "environmentId":511893, - "pageTitle":"Mediathek/Player/Tagesschau/tagesschau, 09:00 Uhr/77387418/20200703_0700", - "szmType":"CP" - - }, - "widgets":[ - { - "availableTo":"2020-07-10T07:14:16Z", - "blockedByFsk":false, - "broadcastedOn":"2020-07-03T07:00:00Z", - "embeddable":true, - "geoblocked":false, - "id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi", - "image":{ - "alt":"Sendungsbild", - "producerName":"ARD-Standbild", - "src":"https://img.ardmediathek.de/standard/00/77/38/74/22/-1774185891/16x9/{width}?mandant=ard", - "title":"tagesschau, 09:00 Uhr - Standbild" - - }, - "maturityContentRating":"NONE", - "mediaCollection":{ - "embedded":{ - "_type":"video", - "_isLive":false, - "_defaultQuality":[ - "auto", - 2, - 4, - 3, - 1, - 0 - - ], - "_previewImage":"https://img.ardmediathek.de/standard/00/77/38/74/22/-1774185891/16x9/960?mandant=ard", - "_subtitleUrl":"https://www.ardmediathek.de/subtitle/410890", - "_subtitleOffset":0, - "_mediaArray":[ - { - "_plugin":1, - "_mediaStreamArray":[ - { - "_quality":"auto", - "_server":"", - "_cdn":"flashls", - "_stream":"https://hlstagesschau-vh.akamaihd.net/i/video/2020/0703/TV-20200703-0912-2800.,webs,websm,webm,webml,webl,webxl,.h264.mp4.csmil/master.m3u8" - - }, - { - "_quality":0, - "_server":"", - "_cdn":"default", - "_stream":"https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webs.h264.mp4" - - }, - { - "_quality":1, - "_stream":[ - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webml.h264.mp4", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webm.h264.mp4", - "https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.websm.h264.mp4", - "https://download.media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.websm.h264.mp4" - - ] - - }, - { - "_quality":2, - "_server":"", - "_cdn":"default", - "_width":960, - "_height":540, - "_stream":"https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webl.h264.mp4" - - }, - { - "_quality":3, - "_server":"", - "_cdn":"default", - "_width":1280, - "_height":720, - "_stream":"https://media.tagesschau.de/video/2020/0703/TV-20200703-0912-2800.webxl.h264.mp4" - - } - - ] - - } - - ], - "_alternativeMediaArray":[ - - - ], - "_sortierArray":[ - 1 - - ], - "_duration":249, - "_dvrEnabled":false, - "_geoblocked":false - - }, - "href":"http://api.ardmediathek.de/page-gateway/mediacollection/77387418?devicetype={devicetype}" - - }, - "pagination":null, - "personalized":false, - "playerConfig":{ - "embedded":{ - "_baseUrl":"/ard/static/player/", - "_baseAssetUrl":"/ard/static/player/base/", - "_autoplay":"FORCE", - "_showSubtitelAtStart":false, - "_addons":[ - "AddonUntertitel_ebu_tt" - - ], - "_solaAnalyticsEnabled":true, - "_solaAnalyticsConfig":"/play/sola/77387418", - "_pixelConfig":[ - { - "tracker":"AGF", - "clipUrl":"https://hlstagesschau-vh.akamaihd.net/i/video/2020/0703/TV-20200703-0912-2800.,webs,websm,webm,webml,webl,webxl,.h264.mp4.csmil/master.m3u8", - "clipType":"content", - "agfVCID":"b02", - "agfMetadata":"https://www.ardmediathek.de/goto/tv/77387418249Das Erste_Tagesschau_tagesschau, 09:00 Uhr_03.07.2020 09:00nop2,Np5,ARD Mediathekp7,crid://daserste.de/tagesschau/a46824b7-58e3-485b-8339-72512e29680bp8,249p9,Tagesschau_tagesschau, 09:00 Uhr_03.07.2020 09:00p10,Das Erstep12,Contentp18,Np19,ARD-Aktuell", - "agfClipLength":"249", - "agfGlobalParamsSDK":{ - "clientid":"de-605508", - "apid":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5", - "sfcode":"eu", - "prod":"vc", - "vcid":"b02", - "apn":"ARD Mediathek" - - }, - "agfMetaDataSDK":{ - "assetid":"https://hlstagesschau-vh.akamaihd.net/i/video/2020/0703/TV-20200703-0912-2800.,webs,websm,webm,webml,webl,webxl,.h264.mp4.csmil/master.m3u8", - "type":"content", - "program":"Tagesschau", - "title":"Das Erste_Tagesschau_tagesschau, 09:00 Uhr_03.07.2020 09:00", - "length":"249", - "livestream":"no", - "uurl":"https://www.ardmediathek.de/goto/tv/77387418", - "nol_c2":"p2,N", - "nol_c5":"p5,ARD Mediathek", - "nol_c7":"p7,crid://daserste.de/tagesschau/a46824b7-58e3-485b-8339-72512e29680b", - "nol_c8":"p8,249", - "nol_c9":"p9,Tagesschau_tagesschau, 09:00 Uhr_03.07.2020 09:00", - "nol_c10":"p10,Das Erste", - "nol_c12":"p12,Content", - "nol_c18":"p18,N", - "nol_c19":"p19,ARD-Aktuell" - - } - - }, - { - "tracker":"ATI", - "x3":"video", - "x5":"Das+Erste", - "x6":"Das+Erste", - "x7":"Tagesschau", - "x8":"6", - "x9":"ARD-Aktuell", - "x10":"1", - "x14":"77387418", - "x20":"249", - "clipUrl":"https://hlstagesschau-vh.akamaihd.net/i/video/2020/0703/TV-20200703-0912-2800.,webs,websm,webm,webml,webl,webxl,.h264.mp4.csmil/master.m3u8", - "clipTitle":"tagesschau, 09:00 Uhr", - "countingUrl":"/ard/servlet/count/77387418" - - } - - ] - - }, - "href":"http://api.ardmediathek.de/page-gateway/playerconfig/77387418" - - }, - "publicationService":{ - "name":"Das Erste", - "logo":{ - "title":"DasErste", - "alt":"DasErste", - "producerName":"ARD", - "src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard", - "aspectRatio":"0" - - }, - "publisherType":"TV", - "partner":"das_erste", - "id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ" - - }, - "links":{ - "self":{ - "id":"5kG69Jms5UMSSUMwMCY0k0", - "title":"Player Widget ARD", - "href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi?pageNumber=0&pageSize=100&embedded=true", - "type":"application/vnd.ard.widget+json" - - } - - }, - "show":{ - "id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", - "title":"Tagesschau", - "image":{ - "alt":"tagesschau", - "producerName":"tagesschau", - "src":"https://img.ardmediathek.de/standard/00/07/64/05/74/2121327408/16x9/{width}?mandant=ard", - "title":"tagesschau, 07:00 Uhr - Standbild" - - } - - }, - "synopsis":"Themen der Sendung: Bundestag und Bundesrat stimmen über Kohleausstieg ab, Werbeverbot für Tabak wird verschärft, Großbritannien lockert Corona-Einreisebeschränkungen, Zahl der Corona-Neuinfektionen in den USA erreicht neuen Höchststand, Urteil im Prozess gegen Menschenrechtler Steudtner in Istanbul erwartet, Hongkonger Bürgerrechtsaktivist bittet Deutschland um Hilfe für die Demokratie-Bewegung, Relegations-Hinspiel der Fußball Bundesliga, Das Wetter", - "title":"tagesschau, 09:00 Uhr", - "type":"player_ondemand" - - }, - { - "compilationType":"itemsOfShow", - "id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", - "pagination":{ - "pageNumber":0, - "pageSize":24, - "totalElements":2417 - - }, - "personalized":false, - "links":{ - "self":{ - "id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", - "title":"Tagesschau", - "href":"https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU?excludedAssetIds=Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXUvYTQ2ODI0YjctNThlMy00ODViLTgzMzktNzI1MTJlMjk2ODBi&pageNumber=0&pageSize=24&embedded=true", - "type":"application/vnd.ard.widget+json" - - } - - }, - "size":"m", - "swipeable":true, - "title":"Tagesschau", - "titleVisible":true, - "type":"gridlist" - - } - - ] -} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_arte_geo.json b/src/test/resources/ard/ard_film_page_arte_geo.json deleted file mode 100644 index 2f185add3..000000000 --- a/src/test/resources/ard/ard_film_page_arte_geo.json +++ /dev/null @@ -1 +0,0 @@ -{"fskRating":"FSK0","id":"1m0kFcyvowSiEYW4c6YYWg","isChildContent":false,"personalized":false,"links":{"self":{"id":"1m0kFcyvowSiEYW4c6YYWg","urlId":"1m0kFcyvowSiEYW4c6YYWg","title":"Ondemand PlayerPage ARD","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2FydGUudHYvdmlkZW9zLzA4NDY1Ny0wMDAtQQ?devicetype=pc&embedded=false","type":"application/vnd.ard.page+json","partner":"ard"}},"title":"Der Sommer nach dem Abitur","tracking":{"aggregationLevelId":38,"atiCustomVars":{"clipTitle":"Der Sommer nach dem Abitur","mediaType":"video","lra":"ARTE","channel":"ARTE","show":"ARTE","contentTypes":"","mediaDistributionType":1,"contentId":90259952,"metadataId":"crid://arte.tv/videos/084657-000-A","clipLength":5309},"chapter2":"Player","chapter3":"ARTE","environmentId":511893,"pageTitle":"Mediathek/Player/ARTE/Der Sommer nach dem Abitur/90259952/20210618_0300","szmType":"CP"},"widgets":[{"availableTo":"2021-06-25T03:00:00Z","blockedByFsk":false,"broadcastedOn":"2021-06-18T03:00:00Z","embeddable":false,"geoblocked":false,"id":"Y3JpZDovL2FydGUudHYvdmlkZW9zLzA4NDY1Ny0wMDAtQQ","image":{"alt":"Der Sommer nach dem Abitur","producerName":"ARTE","src":"https://img.ardmediathek.de/standard/00/90/25/99/56/-1774185891/16x9/{width}?mandant=ard","title":"Der Sommer nach dem Abitur - Standbild"},"isChildContent":false,"maturityContentRating":"FSK0","mediaCollection":{"embedded":{"_type":"video","_isLive":false,"_defaultQuality":["auto",2,4,3,1,0],"_previewImage":"https://img.ardmediathek.de/standard/00/90/25/99/56/-1774185891/16x9/960?mandant=ard","_subtitleOffset":0,"_mediaArray":[{"_plugin":1,"_mediaStreamArray":[{"_quality":"auto","_server":"","_cdn":"flashls","_stream":"https://arte-ard-mediathek-hls.akamaized.net/am/cmaf/084000/084600/084657-000-A/210616070902/084657-000-A_VOA_XQ.m3u8"},{"_quality":0,"_server":"","_cdn":"akamai","_stream":"https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_MQ_1_VOA_05911350_MP4-300_AMM-IPTV-ARD_1ZbnHfgtIH.mp4"},{"_quality":1,"_server":"","_cdn":"akamai","_width":640,"_height":360,"_stream":"https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_HQ_1_VOA_05911353_MP4-800_AMM-IPTV-ARD_1ZbnJfgtHA.mp4"},{"_quality":2,"_server":"","_cdn":"akamai","_width":960,"_height":540,"_stream":"https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_EQ_1_VOA_05911351_MP4-1500_AMM-IPTV-ARD_1ZbnIfgtFZ.mp4"},{"_quality":3,"_server":"","_cdn":"akamai","_width":1280,"_height":720,"_stream":"https://arte-ard-mediathek.akamaized.net/am/mp4/084000/084600/084657-000-A_SQ_1_VOA_05911354_MP4-2200_AMM-IPTV-ARD_1ZbnKfgtJr.mp4"}]}],"_alternativeMediaArray":[],"_sortierArray":[1],"_duration":5309,"_dvrEnabled":false,"_geoblocked":false},"href":"https://api.ardmediathek.de/page-gateway/mediacollection/Y3JpZDovL2FydGUudHYvdmlkZW9zLzA4NDY1Ny0wMDAtQQ?devicetype=pc"},"pagination":null,"personalized":false,"playerConfig":{"embedded":{"_baseUrl":"/ard/static/player/","_baseAssetUrl":"/ard/static/player/base/","_autoplay":"FORCE","_showSubtitelAtStart":false,"_solaAnalyticsEnabled":true,"_solaAnalyticsConfig":"/play/sola/90259952","_pixelConfig":[{"tracker":"AGF","clipUrl":"https://arte-ard-mediathek-hls.akamaized.net/am/cmaf/084000/084600/084657-000-A/210616070902/084657-000-A_VOA_XQ.m3u8","clipType":"content","agfVCID":"b02","agfMetadata":"https://www.ardmediathek.de/goto/tv/902599525309ARTE_ARTE_Der Sommer nach dem Abitur_18.06.2021 05:00nop2,Np5,ARD Mediathekp7,crid://arte.tv/videos/084657-000-Ap8,5309p9,ARTE_Der Sommer nach dem Abitur_18.06.2021 05:00p10,ARTEp12,Contentp18,Np19,ARTE Kirsten Ellerbrake Tanja Ziegler","agfClipLength":"5309","agfGlobalParamsSDK":{"clientid":"de-605508","apid":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5","sfcode":"eu","prod":"vc","vcid":"b02","apn":"ARD Mediathek"},"agfMetaDataSDK":{"assetid":"https://arte-ard-mediathek-hls.akamaized.net/am/cmaf/084000/084600/084657-000-A/210616070902/084657-000-A_VOA_XQ.m3u8","type":"content","program":"ARTE","title":"ARTE_ARTE_Der Sommer nach dem Abitur_18.06.2021 05:00","length":"5309","livestream":"no","uurl":"https://www.ardmediathek.de/goto/tv/90259952","nol_c2":"p2,N","nol_c5":"p5,ARD Mediathek","nol_c7":"p7,crid://arte.tv/videos/084657-000-A","nol_c8":"p8,5309","nol_c9":"p9,ARTE_Der Sommer nach dem Abitur_18.06.2021 05:00","nol_c10":"p10,ARTE","nol_c12":"p12,Content","nol_c18":"p18,N","nol_c19":"p19,ARTE Kirsten Ellerbrake Tanja Ziegler"}},{"tracker":"ATI","x3":"video","x5":"ARTE","x6":"ARTE","x7":"ARTE","x8":"1","x9":"ARTE+Kirsten+Ellerbrake+Tanja+Ziegler","x10":"1","x14":"90259952","x20":"5309","clipUrl":"https://arte-ard-mediathek-hls.akamaized.net/am/cmaf/084000/084600/084657-000-A/210616070902/084657-000-A_VOA_XQ.m3u8","clipTitle":"Der Sommer nach dem Abitur","countingUrl":"/ard/servlet/count/90259952"}]},"href":"https://api.ardmediathek.de/page-gateway/playerconfig/Y3JpZDovL2FydGUudHYvdmlkZW9zLzA4NDY1Ny0wMDAtQQ"},"publicationService":{"name":"ARTE","logo":{"title":"ARTE","alt":"ARTE","producerName":"ARTE","src":"https://img.ardmediathek.de/standard/00/21/51/89/18/555337067/16x9/{width}?mandant=ard","aspectRatio":"16x9"},"publisherType":"TV","partner":"arte","id":"b3JnYW5pemF0aW9uX0FSVEU"},"links":{"self":{"id":"5kG69Jms5UMSSUMwMCY0k0","urlId":"5kG69Jms5UMSSUMwMCY0k0","title":"Player Widget ARD","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL2FydGUudHYvdmlkZW9zLzA4NDY1Ny0wMDAtQQ?pageNumber=0&pageSize=100&embedded=false","type":"application/vnd.ard.widget+json","partner":"ard"}},"show":{"id":"Y3JpZDovL2FydGUudHYvYXJ0ZQ","title":"ARTE","image":{"alt":"The European Collection","producerName":"ARTE","src":"https://img.ardmediathek.de/standard/00/88/44/31/72/-1774185891/16x9/{width}?mandant=ard","title":"ARTE - Bevorzugt"}},"synopsis":"Nach dem Abitur wollten die drei Schulfreunde Alexander, Paul und Ole auf ein Konzert ihrer Lieblingsband Madness. Doch irgendetwas kam für alle dazwischen. Zu ihrem Glück gibt es die Band immer noch und so machen sie sich ein Vierteljahrhundert später auf den Weg ... - Tragikomödie (2019, Regie: Eoin Moore) über Lebenslügen, verpasste Träume und Existenzängste.","title":"Der Sommer nach dem Abitur","type":"player_ondemand"},{"compilationType":"itemsOfShow","id":"Y3JpZDovL2FydGUudHYvYXJ0ZQ","isChildContent":false,"pagination":{"pageNumber":0,"pageSize":24,"totalElements":null},"personalized":false,"links":{"self":{"id":"Y3JpZDovL2FydGUudHYvYXJ0ZQ","urlId":"Y3JpZDovL2FydGUudHYvYXJ0ZQ","title":"ARTE","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2FydGUudHYvYXJ0ZQ?excludedAssetIds=Y3JpZDovL2FydGUudHYvdmlkZW9zLzA4NDY1Ny0wMDAtQQ&pageNumber=0&pageSize=24&embedded=false&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false","type":"application/vnd.ard.widget+json","partner":"ard"}},"size":"m","swipeable":true,"teasers":[],"title":"ARTE","titleVisible":true,"type":"gridlist"}]} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_encoding_nbsp.json b/src/test/resources/ard/ard_film_page_encoding_nbsp.json deleted file mode 100644 index 1f98ffb74..000000000 --- a/src/test/resources/ard/ard_film_page_encoding_nbsp.json +++ /dev/null @@ -1 +0,0 @@ -{"fskRating":"FSK0","id":"1m0kFcyvowSiEYW4c6YYWg","isChildContent":false,"personalized":false,"links":{"self":{"id":"1m0kFcyvowSiEYW4c6YYWg","urlId":"1m0kFcyvowSiEYW4c6YYWg","title":"Ondemand PlayerPage ARD","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTliODYzYWIyLWY2MDEtNDQ1MC04NjY0LTRjNGM4M2Q4NjRiYQ?embedded=true","type":"application/vnd.ard.page+json","partner":"ard"}},"title":"Folge 8: Neues Glück (S01/E08)","tracking":{"aggregationLevelId":38,"atiCustomVars":{"clipTitle":"Folge 8: Neues Glück (S01/E08)","mediaType":"video","lra":"ONE","channel":"ONE","show":"Die Stein","contentTypes":"","mediaDistributionType":1,"contentId":94177244,"metadataId":"crid://wdr.de/Beitrag-9b863ab2-f601-4450-8664-4c4c83d864ba","clipLength":2877},"chapter2":"Player","chapter3":"Die Stein","environmentId":511893,"pageTitle":"Mediathek/Player/Die Stein/Folge 8: Neues Glück (S01/E08)/94177244/20211028_1500","szmType":"CP"},"widgets":[{"availableTo":"2022-04-28T15:00:00Z","blockedByFsk":false,"broadcastedOn":"2021-10-28T15:00:00Z","embeddable":false,"geoblocked":false,"id":"Y3JpZDovL3dkci5kZS9CZWl0cmFnLTliODYzYWIyLWY2MDEtNDQ1MC04NjY0LTRjNGM4M2Q4NjRiYQ","image":{"alt":"Karola (Katja Studt, r.) erfährt im Krankenhaus, dass sie schwanger ist. Und alles spricht dafür, dass der Mann ihrer Schwester Katja (Julia Stemberger, l.) der Vater ihres Kindes ist.","producerName":"WDR","src":"https://img.ardmediathek.de/standard/00/94/17/72/52/-1774185891/16x9/{width}?mandant=ard","title":"Folge 8: Neues Glück (S01/E08) - Standbild"},"isChildContent":false,"maturityContentRating":"FSK0","mediaCollection":{"embedded":{"_type":"video","_isLive":false,"_defaultQuality":["auto",2,4,3,1,0],"_previewImage":"https://img.ardmediathek.de/standard/00/94/17/72/60/1663778729/16x9/960?mandant=ard","_subtitleOffset":0,"_mediaArray":[{"_plugin":1,"_mediaStreamArray":[{"_quality":"auto","_server":"","_cdn":"flashls","_stream":"//wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk0/255/2559347/,2559347_39488364,2559347_39488365,2559347_39488363,2559347_39488366,.mp4.csmil/master.m3u8"},{"_quality":0,"_server":"","_cdn":"akamai","_stream":"//wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488363.mp4"},{"_quality":1,"_server":"","_cdn":"akamai","_width":640,"_height":360,"_stream":"//wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488364.mp4"},{"_quality":2,"_server":"","_cdn":"akamai","_width":960,"_height":540,"_stream":"//wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488365.mp4"},{"_quality":3,"_server":"","_cdn":"akamai","_width":1280,"_height":720,"_stream":"//wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk0/255/2559347/2559347_39488366.mp4"}]}],"_alternativeMediaArray":[],"_sortierArray":[1],"_duration":2877,"_dvrEnabled":false,"_geoblocked":false},"href":"https://api.ardmediathek.de/page-gateway/mediacollection/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTliODYzYWIyLWY2MDEtNDQ1MC04NjY0LTRjNGM4M2Q4NjRiYQ?devicetype=pc"},"pagination":null,"personalized":false,"playerConfig":{"embedded":{"_baseUrl":"/ard/static/player/","_baseAssetUrl":"/ard/static/player/base/","_autoplay":"FORCE","_showSubtitelAtStart":false,"_solaAnalyticsEnabled":true,"_solaAnalyticsConfig":"/play/sola/94177244","_pixelConfig":[{"tracker":"AGF","clipUrl":"//wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk0/255/2559347/,2559347_39488364,2559347_39488365,2559347_39488363,2559347_39488366,.mp4.csmil/master.m3u8","clipType":"content","agfVCID":"b02","agfMetadata":"https://www.ardmediathek.de/goto/tv/941772442877ONE_Die Stein_Folge 8: Neues Glück (S01/E08)_28.10.2021 17:00nop0,0p2,Np5,ARD Mediathekp7,crid://wdr.de/Beitrag-9b863ab2-f601-4450-8664-4c4c83d864bap8,2877p9,Die Stein_Folge 8: Neues Glück (S01/E08)_28.10.2021 17:00p10,ONEp12,Contentp15,258785p16,Unterhaltungp18,Np19,WDR","agfClipLength":"2877","agfGlobalParamsSDK":{"clientid":"de-605508","apid":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5","sfcode":"eu","prod":"vc","vcid":"b02","apn":"ARD Mediathek"},"agfMetaDataSDK":{"assetid":"//wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk0/255/2559347/,2559347_39488364,2559347_39488365,2559347_39488363,2559347_39488366,.mp4.csmil/master.m3u8","type":"content","program":"Die Stein","title":"ONE_Die Stein_Folge 8: Neues Glück (S01/E08)_28.10.2021 17:00","length":"2877","livestream":"no","uurl":"https://www.ardmediathek.de/goto/tv/94177244","nol_c0":"p0,0","nol_c2":"p2,N","nol_c5":"p5,ARD Mediathek","nol_c7":"p7,crid://wdr.de/Beitrag-9b863ab2-f601-4450-8664-4c4c83d864ba","nol_c8":"p8,2877","nol_c9":"p9,Die Stein_Folge 8: Neues Glück (S01/E08)_28.10.2021 17:00","nol_c10":"p10,ONE","nol_c12":"p12,Content","nol_c15":"p15,258785","nol_c16":"p16,Unterhaltung","nol_c18":"p18,N","nol_c19":"p19,WDR"}},{"tracker":"ATI","x3":"video","x5":"ONE","x6":"ONE","x7":"Die+Stein","x8":"1","x9":"WDR","x10":"1","x14":"94177244","x20":"2877","clipUrl":"//wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk0/255/2559347/,2559347_39488364,2559347_39488365,2559347_39488363,2559347_39488366,.mp4.csmil/master.m3u8","clipTitle":"Folge 8: Neues Glück (S01/E08)","countingUrl":"/ard/servlet/count/94177244"}]},"href":"https://api.ardmediathek.de/page-gateway/playerconfig/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTliODYzYWIyLWY2MDEtNDQ1MC04NjY0LTRjNGM4M2Q4NjRiYQ"},"publicationService":{"name":"ONE","logo":{"title":"One","alt":"One","producerName":"One","src":"https://img.ardmediathek.de/standard/00/21/51/88/90/-295433861/16x9/{width}?mandant=ard","aspectRatio":"16x9"},"publisherType":"TV","partner":"one","id":"b3JnYW5pemF0aW9uX09ORQ"},"links":{"self":{"id":"5kG69Jms5UMSSUMwMCY0k0","urlId":"5kG69Jms5UMSSUMwMCY0k0","title":"Player Widget ARD","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTliODYzYWIyLWY2MDEtNDQ1MC04NjY0LTRjNGM4M2Q4NjRiYQ?pageNumber=0&pageSize=100&embedded=true","type":"application/vnd.ard.widget+json","partner":"ard"}},"show":{"id":"Y3JpZDovL3dkci5kZS9vbmUvZGllc3RlaW4","title":"Die Stein","image":{"alt":"Lehrerin Katja Stein","producerName":"ARD/Claudius Pflug","src":"https://img.ardmediathek.de/standard/00/93/72/66/44/-1774185891/16x9/{width}?mandant=ard","title":"Die Stein - Logo"}},"synopsis":"Karola hat ein Stipendium für Italien bekommen. Aufgeregt ruft sie Katja an, die gerade mit Stefan ausreitet. Als Katja mit Stefan im Atelier erscheint, bricht Karola plötzlich zusammen. In der Klinik stellt sich heraus: Karola ist schwanger. Und alles spricht dafür, dass Oliver der Vater ist. Katja ist niedergeschlagen, hat sie doch ihr gemeinsames Kind damals verloren. Aber auch Karola ist kreuzunglücklich. Sie will das Kind nicht.","title":"Folge 8: Neues Glück (S01/E08)","type":"player_ondemand"},{"compilationType":"itemsOfShow","id":"Y3JpZDovL3dkci5kZS9vbmUvZGllc3RlaW4","isChildContent":false,"pagination":{"pageNumber":0,"pageSize":24,"totalElements":8},"personalized":false,"links":{"self":{"id":"Y3JpZDovL3dkci5kZS9vbmUvZGllc3RlaW4","urlId":"Y3JpZDovL3dkci5kZS9vbmUvZGllc3RlaW4","title":"Die Stein","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL3dkci5kZS9vbmUvZGllc3RlaW4?excludedAssetIds=Y3JpZDovL3dkci5kZS9CZWl0cmFnLTliODYzYWIyLWY2MDEtNDQ1MC04NjY0LTRjNGM4M2Q4NjRiYQ&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false","type":"application/vnd.ard.widget+json","partner":"ard"}},"size":"m","swipeable":true,"teasers":[],"title":"Die Stein","titleVisible":true,"type":"gridlist"}]} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_funk.json b/src/test/resources/ard/ard_film_page_funk.json deleted file mode 100644 index f3f3be97e..000000000 --- a/src/test/resources/ard/ard_film_page_funk.json +++ /dev/null @@ -1,235 +0,0 @@ -{ - "fskRating":"NONE", - "id":"1m0kFcyvowSiEYW4c6YYWg", - "personalized":false, - "links":{ - "self":{ - "id":"1m0kFcyvowSiEYW4c6YYWg", - "urlId":"1m0kFcyvowSiEYW4c6YYWg", - "title":"Ondemand PlayerPage ARD", - "href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Z1bmsubmV0Lzk5Ni92aWRlby8xNzAwNDU4?embedded=true", - "type":"application/vnd.ard.page+json", - "partner":"ard" - } - }, - "title":"Spieltheorie des Lebens | Tragödie des Gemeinguts", - "tracking":{ - "aggregationLevelId":38, - "atiCustomVars":{ - "clipTitle":"Spieltheorie des Lebens | Tragödie des Gemeinguts", - "mediaType":"video", - "lra":"funk", - "channel":"funk", - "show":"maiLab", - "contentTypes":"", - "mediaDistributionType":1, - "contentId":81483340, - "metadataId":"crid://funk.net/996/video/1700458", - "clipLength":867 - }, - "chapter2":"Player", - "chapter3":"maiLab", - "environmentId":511893, - "pageTitle":"Mediathek/Player/maiLab/Spieltheorie des Lebens | Tragödie des Gemeinguts/81483340/20190618_2200", - "szmType":"CP" - }, - "widgets":[ - { - "availableTo":null, - "blockedByFsk":false, - "broadcastedOn":"2019-06-18T22:00:00Z", - "embeddable":false, - "geoblocked":false, - "id":"Y3JpZDovL2Z1bmsubmV0Lzk5Ni92aWRlby8xNzAwNDU4", - "image":{ - "alt":"Bild zur Sendung", - "producerName":"funk", - "src":"https://img.ardmediathek.de/standard/00/81/48/33/44/-1774185891/16x9/{width}?mandant=ard", - "title":"Spieltheorie des Lebens | Tragödie des Gemeinguts - Standbild" - }, - "maturityContentRating":"NONE", - "mediaCollection":{ - "embedded":{ - "_type":"video", - "_isLive":false, - "_defaultQuality":[ - "auto", - 2, - 4, - 3, - 1, - 0 - ], - "_previewImage":"https://img.ardmediathek.de/standard/00/81/48/33/44/-1774185891/16x9/960?mandant=ard", - "_subtitleOffset":0, - "_mediaArray":[ - { - "_plugin":1, - "_mediaStreamArray":[ - { - "_quality":"auto", - "_server":"", - "_cdn":"flashls", - "_stream":"https://funk-01.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src.ism/Manifest(format=m3u8-aapl-v3).m3u8" - }, - { - "_quality":2, - "_server":"", - "_cdn":"akamai", - "_width":960, - "_height":540, - "_stream":"http://funk-01dd.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src_1024x576_1500.mp4?fv=1" - }, - { - "_quality":4, - "_server":"", - "_cdn":"akamai", - "_width":1920, - "_height":1080, - "_stream":"http://funk-01dd.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src_1920x1080_6000.mp4?fv=1" - } - ] - } - ], - "_alternativeMediaArray":[ - - ], - "_sortierArray":[ - 1 - ], - "_duration":867, - "_dvrEnabled":false, - "_geoblocked":false - }, - "href":"http://api.ardmediathek.de/page-gateway/mediacollection/81483340?devicetype={devicetype}" - }, - "pagination":null, - "personalized":false, - "playerConfig":{ - "embedded":{ - "_baseUrl":"/ard/static/player/", - "_baseAssetUrl":"/ard/static/player/base/", - "_autoplay":"FORCE", - "_showSubtitelAtStart":false, - "_solaAnalyticsEnabled":true, - "_solaAnalyticsConfig":"/play/sola/81483340", - "_pixelConfig":[ - { - "tracker":"AGF", - "clipUrl":"https://funk-01.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src.ism/Manifest(format=m3u8-aapl-v3).m3u8", - "clipType":"content", - "agfVCID":"b02", - "agfMetadata":"https://www.ardmediathek.de/goto/tv/81483340867funk_maiLab_Spieltheorie des Lebens | Tragödie des Gemeinguts_19.06.2019 00:00nop0,0p2,Np5,ARD Mediathekp7,crid://funk.net/996/video/1700458p8,867p9,maiLab_Spieltheorie des Lebens | Tragödie des Gemeinguts_19.06.2019 00:00p10,funkp12,Contentp18,Np19,funk", - "agfClipLength":"867", - "agfGlobalParamsSDK":{ - "clientid":"de-605508", - "apid":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5", - "sfcode":"eu", - "prod":"vc", - "vcid":"b02", - "apn":"ARD Mediathek" - }, - "agfMetaDataSDK":{ - "assetid":"https://funk-01.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src.ism/Manifest(format=m3u8-aapl-v3).m3u8", - "type":"content", - "program":"maiLab", - "title":"funk_maiLab_Spieltheorie des Lebens | Tragödie des Gemeinguts_19.06.2019 00:00", - "length":"867", - "livestream":"no", - "uurl":"https://www.ardmediathek.de/goto/tv/81483340", - "nol_c0":"p0,0", - "nol_c2":"p2,N", - "nol_c5":"p5,ARD Mediathek", - "nol_c7":"p7,crid://funk.net/996/video/1700458", - "nol_c8":"p8,867", - "nol_c9":"p9,maiLab_Spieltheorie des Lebens | Tragödie des Gemeinguts_19.06.2019 00:00", - "nol_c10":"p10,funk", - "nol_c12":"p12,Content", - "nol_c18":"p18,N", - "nol_c19":"p19,funk" - } - }, - { - "tracker":"ATI", - "x3":"video", - "x5":"funk", - "x6":"funk", - "x7":"maiLab", - "x8":"1", - "x9":"funk", - "x10":"1", - "x14":"81483340", - "x20":"867", - "clipUrl":"https://funk-01.akamaized.net/06961997-44b3-4888-8f86-ad60286370ce/1700458_src.ism/Manifest(format=m3u8-aapl-v3).m3u8", - "clipTitle":"Spieltheorie des Lebens | Tragödie des Gemeinguts", - "countingUrl":"/ard/servlet/count/81483340" - } - ] - }, - "href":"http://api.ardmediathek.de/page-gateway/playerconfig/81483340" - }, - "publicationService":{ - "name":"funk", - "logo":{ - "title":"funk", - "alt":"funk", - "producerName":"SWR", - "src":"https://img.ardmediathek.de/standard/00/81/43/06/12/-1774185891/16x9/{width}?mandant=ard", - "aspectRatio":"16x9" - }, - "publisherType":"TV", - "partner":"funk", - "id":"b3JnYW5pemF0aW9uX2Z1bms" - }, - "links":{ - "self":{ - "id":"5kG69Jms5UMSSUMwMCY0k0", - "urlId":"5kG69Jms5UMSSUMwMCY0k0", - "title":"Player Widget ARD", - "href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL2Z1bmsubmV0Lzk5Ni92aWRlby8xNzAwNDU4?pageNumber=0&pageSize=100&embedded=true", - "type":"application/vnd.ard.widget+json", - "partner":"ard" - } - }, - "show":{ - "id":"Y3JpZDovL2Z1bmsubmV0Lzk5Ng", - "title":"maiLab", - "image":{ - "alt":"Bild zur Sendereihe maiLab.", - "producerName":"funk", - "src":"https://img.ardmediathek.de/standard/00/81/45/66/78/-1774185891/16x9/{width}?mandant=ard", - "title":"maiLab - Bevorzugt" - } - }, - "synopsis":"Dinge, von denen alle was haben, um die sich aber auch alle kümmern müssen, werden meist scheiße behandelt. Warum ist das so? Und muss das wirklich immer so sein?", - "title":"Spieltheorie des Lebens | Tragödie des Gemeinguts", - "type":"player_ondemand" - }, - { - "compilationType":"itemsOfShow", - "id":"Y3JpZDovL2Z1bmsubmV0Lzk5Ng", - "pagination":{ - "pageNumber":0, - "pageSize":24, - "totalElements":128 - }, - "personalized":false, - "links":{ - "self":{ - "id":"Y3JpZDovL2Z1bmsubmV0Lzk5Ng", - "urlId":"Y3JpZDovL2Z1bmsubmV0Lzk5Ng", - "title":"maiLab", - "href":"https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Z1bmsubmV0Lzk5Ng?excludedAssetIds=Y3JpZDovL2Z1bmsubmV0Lzk5Ni92aWRlby8xNzAwNDU4&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false", - "type":"application/vnd.ard.widget+json", - "partner":"ard" - } - }, - "size":"m", - "swipeable":true, - "teasers":[], - "title":"maiLab", - "titleVisible":true, - "type":"gridlist" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_ndr11.json b/src/test/resources/ard/ard_film_page_ndr11.json deleted file mode 100644 index d750deddf..000000000 --- a/src/test/resources/ard/ard_film_page_ndr11.json +++ /dev/null @@ -1 +0,0 @@ -{"fskRating":"NONE","id":"1m0kFcyvowSiEYW4c6YYWg","personalized":false,"links":{"self":{"id":"1m0kFcyvowSiEYW4c6YYWg","title":"Ondemand PlayerPage ARD","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL25kci5kZS80YzE2ZWFlOC02YjY4LTQ4ZmMtYTdlNS0wMWFhYTY2OGMzYmM?embedded=true","type":"application/vnd.ard.page+json"}},"title":"Wer weiß denn sowas? | 03.07.2020","tracking":{"aggregationLevelId":38,"atiCustomVars":{"clipTitle":"Wer weiß denn sowas. | 03.07.2020","mediaType":"video","lra":"NDR","channel":"NDR Fernsehen","show":"Ohne Sendereihe","contentTypes":"UT","mediaDistributionType":1,"contentId":77407976,"metadataId":"crid://ndr.de/4c16eae8-6b68-48fc-a7e5-01aaa668c3bc","clipLength":2654},"chapter2":"Player","chapter3":null,"environmentId":511893,"pageTitle":"Mediathek/Player/Wer weiß denn sowas. | 03.07.2020/77407976/20200703_1425","szmType":"CP"},"widgets":[{"availableTo":"2020-07-10T14:25:00Z","blockedByFsk":false,"broadcastedOn":"2020-07-03T14:25:00Z","embeddable":false,"geoblocked":false,"id":"Y3JpZDovL25kci5kZS80YzE2ZWFlOC02YjY4LTQ4ZmMtYTdlNS0wMWFhYTY2OGMzYmM","image":{"alt":"Der Moderator Kai Pflaume.","producerName":"NDR","src":"https://img.ardmediathek.de/standard/00/77/40/79/80/-1774185891/16x9/{width}?mandant=ard","title":"Wer weiß denn sowas? | 03.07.2020 - Standbild"},"maturityContentRating":"NONE","mediaCollection":{"embedded":{"_type":"video","_isLive":false,"_defaultQuality":["auto",2,4,3,1,0],"_previewImage":"https://img.ardmediathek.de/standard/00/77/40/79/80/-1774185891/16x9/960?mandant=ard","_subtitleUrl":"https://www.ardmediathek.de/subtitle/411033","_subtitleOffset":0,"_mediaArray":[{"_plugin":1,"_mediaStreamArray":[{"_quality":"auto","_stream":"https://ndrod-vh.akamaihd.net/i/ndr/2020/0703/TV-20200703-1726-5500.,hd,hq,ln,hi,mn,lo,ao,.mp4.csmil/master.m3u8"},{"_quality":0,"_server":"","_cdn":"akamai","_stream":"https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.lo.mp4"},{"_quality":1,"_stream":["https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.ln.mp4","https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.hi.mp4","https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.mn.mp4"]},{"_quality":2,"_server":"","_cdn":"akamai","_width":960,"_height":540,"_stream":"https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.hq.mp4"},{"_quality":3,"_server":"","_cdn":"akamai","_width":1280,"_height":720,"_stream":"https://mediandr-a.akamaihd.net/progressive/2020/0703/TV-20200703-1726-5500.hd.mp4"}]}],"_alternativeMediaArray":[],"_sortierArray":[1],"_duration":2654,"_dvrEnabled":false,"_geoblocked":false},"href":"http://api.ardmediathek.de/page-gateway/mediacollection/77407976?devicetype={devicetype}"},"pagination":null,"personalized":false,"playerConfig":{"embedded":{"_baseUrl":"/ard/static/player/","_baseAssetUrl":"/ard/static/player/base/","_autoplay":"FORCE","_showSubtitelAtStart":false,"_addons":["AddonUntertitel_ebu_tt"],"_solaAnalyticsEnabled":true,"_solaAnalyticsConfig":"/play/sola/77407976","_pixelConfig":[{"tracker":"AGF","clipUrl":"https://ndrod-vh.akamaihd.net/i/ndr/2020/0703/TV-20200703-1726-5500.,hd,hq,ln,hi,mn,lo,ao,.mp4.csmil/master.m3u8","clipType":"content","agfVCID":"b02","agfMetadata":"https://www.ardmediathek.de/goto/tv/774079762654NDR Fernsehen_Wer weiß denn sowas?_Wer weiß denn sowas? | 03.07.2020_03.07.2020 16:25nop0,0p2,Np5,ARD Mediathekp7,crid://ndr.de/4c16eae8-6b68-48fc-a7e5-01aaa668c3bcp8,2654p9,Wer weiß denn sowas?_Wer weiß denn sowas? | 03.07.2020_03.07.2020 16:25p10,NDR Fernsehenp12,Contentp15,196272720_10563275p16,ARD_Unterhaltungp18,Np19,NDR","agfClipLength":"2654","agfGlobalParamsSDK":{"clientid":"de-605508","apid":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5","sfcode":"eu","prod":"vc","vcid":"b02","apn":"ARD Mediathek"},"agfMetaDataSDK":{"assetid":"https://ndrod-vh.akamaihd.net/i/ndr/2020/0703/TV-20200703-1726-5500.,hd,hq,ln,hi,mn,lo,ao,.mp4.csmil/master.m3u8","type":"content","program":"Wer weiß denn sowas?","title":"NDR Fernsehen_Wer weiß denn sowas?_Wer weiß denn sowas? | 03.07.2020_03.07.2020 16:25","length":"2654","livestream":"no","uurl":"https://www.ardmediathek.de/goto/tv/77407976","nol_c0":"p0,0","nol_c2":"p2,N","nol_c5":"p5,ARD Mediathek","nol_c7":"p7,crid://ndr.de/4c16eae8-6b68-48fc-a7e5-01aaa668c3bc","nol_c8":"p8,2654","nol_c9":"p9,Wer weiß denn sowas?_Wer weiß denn sowas? | 03.07.2020_03.07.2020 16:25","nol_c10":"p10,NDR Fernsehen","nol_c12":"p12,Content","nol_c15":"p15,196272720_10563275","nol_c16":"p16,ARD_Unterhaltung","nol_c18":"p18,N","nol_c19":"p19,NDR"}},{"tracker":"ATI","x3":"video","x5":"NDR","x6":"NDR+Fernsehen","x7":"Ohne+Sendereihe","x8":"6","x9":"NDR","x10":"1","x14":"77407976","x20":"2654","clipUrl":"https://ndrod-vh.akamaihd.net/i/ndr/2020/0703/TV-20200703-1726-5500.,hd,hq,ln,hi,mn,lo,ao,.mp4.csmil/master.m3u8","clipTitle":"Wer weiß denn sowas? | 03.07.2020","countingUrl":"/ard/servlet/count/77407976"}]},"href":"http://api.ardmediathek.de/page-gateway/playerconfig/77407976"},"publicationService":{"name":"NDR Fernsehen","logo":{"title":"NDR Fernsehen","alt":"NDR Logo","producerName":"NDR","src":"https://img.ardmediathek.de/standard/00/21/51/88/72/-2062574680/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"ndr","id":"b3JnYW5pemF0aW9uX05EUg"},"links":{"self":{"id":"5kG69Jms5UMSSUMwMCY0k0","title":"Player Widget ARD","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL25kci5kZS80YzE2ZWFlOC02YjY4LTQ4ZmMtYTdlNS0wMWFhYTY2OGMzYmM?pageNumber=0&pageSize=100&embedded=true","type":"application/vnd.ard.widget+json"}},"show":null,"synopsis":"Das beliebte Wissensspiel mit Bernhard Hoëcker und Elton. Moderator Kai Pflaume präsentiert unglaubliche Rätselfragen. Welches Team gewinnt? Gäste: Hardy Krüger jr. und Oliver Masucci.","title":"Wer weiß denn sowas? | 03.07.2020","type":"player_ondemand"}]} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_only_single_resolution.json b/src/test/resources/ard/ard_film_page_only_single_resolution.json deleted file mode 100644 index 42f4cf3f6..000000000 --- a/src/test/resources/ard/ard_film_page_only_single_resolution.json +++ /dev/null @@ -1,196 +0,0 @@ -{ - "fskRating": "NONE", - "id": "1m0kFcyvowSiEYW4c6YYWg", - "isChildContent": false, - "personalized": false, - "links": { - "self": { - "id": "1m0kFcyvowSiEYW4c6YYWg", - "urlId": "1m0kFcyvowSiEYW4c6YYWg", - "title": "Ondemand PlayerPage ARD", - "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3BsYW5ldC1zY2h1bGUuZGUvQVJEXzEwNTQ3X3ZpZGVv?embedded=true", - "type": "application/vnd.ard.page+json", - "partner": "ard" - } - }, - "title": "Der Spargel · Feldküche: Vom Acker direkt in den Topf", - "tracking": { - "aggregationLevelId": 38, - "atiCustomVars": { - "clipTitle": "Der Spargel · Feldküche: Vom Acker direkt in den Topf", - "mediaType": "video", - "lra": "SWR", - "channel": "SWR", - "show": "Planet Schule", - "contentTypes": "UT | Online first", - "mediaDistributionType": 1, - "contentId": 10492683, - "metadataId": "crid://planet-schule.de/ARD_10547_video", - "clipLength": 600 - }, - "chapter2": "Player", - "chapter3": "Planet Schule", - "environmentId": 511893, - "pageTitle": "Mediathek/Player/Planet Schule/Der Spargel · Feldküche: Vom Acker direkt in den Topf/10492683/20230210_0430", - "szmType": "CP" - }, - "widgets": [ - { - "availableTo": "2028-02-10T04:30:00Z", - "blockedByFsk": false, - "broadcastedOn": "2023-02-10T04:30:00Z", - "embeddable": true, - "geoblocked": false, - "id": "Y3JpZDovL3BsYW5ldC1zY2h1bGUuZGUvQVJEXzEwNTQ3X3ZpZGVv", - "image": { - "alt": "ohne Beschreibung", - "producerName": "WDR", - "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:fbb9b4ba3de7165a?w={width}&ch=816f04230bb72443", - "title": "Der Spargel · Feldküche: Vom Acker direkt in den Topf" - }, - "isChildContent": false, - "maturityContentRating": "NONE", - "mediaCollection": { - "embedded": { - "_defaultQuality": [ - "auto", - 2, - 3, - 4, - 1, - 0, - 5 - ], - "_duration": 600, - "_dvrEnabled": false, - "_geoblocked": false, - "_isLive": false, - "_mediaArray": [ - { - "_mediaStreamArray": [ - { - "_height": 360, - "_quality": 1, - "_stream": "https://odplanetschule-a.akamaihd.net/schulfernsehen/feldkueche/feldkueche-vom-acker-direkt-in-den-topf-spargel.mp4", - "_width": 640 - }, - { - "_quality": "auto", - "_stream": "https://swrplanetschulevod.akamaized.net/i/schulfernsehen/feldkueche/feldkueche-vom-acker-direkt-in-den-topf-spargel,,.mp4/master.m3u8" - } - ], - "_plugin": 1 - } - ], - "_previewImage": "https://api.ardmediathek.de/image-service/images/urn:ard:image:fbb9b4ba3de7165a?w=960&ch=816f04230bb72443", - "_sortierArray": [ - 1 - ], - "_subtitleUrl": "https://api.ardmediathek.de/subtitle-format-service/ebutt/urn:ard:subtitle:1090d019e4f165e1", - "_subtitleWebVTTUrl": "https://api.ardmediathek.de/subtitle-format-service/webvtt/urn:ard:subtitle:1090d019e4f165e1.vtt", - "_type": "video" - }, - "href": "https://api.ardmediathek.de/page-gateway/mediacollection/Y3JpZDovL3BsYW5ldC1zY2h1bGUuZGUvQVJEXzEwNTQ3X3ZpZGVv?devicetype=pc" - }, - "pagination": null, - "personalized": false, - "playerConfig": { - "embedded": { - "_autoplay": "FORCE", - "_baseAssetUrl": "/ard/static/player/base/", - "_baseUrl": "/ard/static/player/", - "_pixelConfig": [ - { - "agfMetaDataSDK": { - "assetId": "10492683", - "length": "600", - "nol_c0": "p0,666", - "nol_c10": "p10,SWR", - "nol_c12": "p12,Content", - "nol_c15": "p15,", - "nol_c16": "p16,ARD_Information", - "nol_c18": "p18,N", - "nol_c19": "p19,WDR", - "nol_c2": "p2,N", - "nol_c5": "p5,ARD Mediathek", - "nol_c7": "p7,crid://planet-schule.de/ARD_10547_video", - "nol_c8": "p8,600", - "nol_c9": "p9,Planet Schule_Der Spargel · Feldküche: Vom Acker direkt in den Topf_0", - "program": "Planet Schule", - "title": "SWR_Planet Schule_Der Spargel · Feldküche: Vom Acker direkt in den Topf_0", - "type": "content" - }, - "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", - "tracker": "AGF" - } - ], - "_showSubtitelAtStart": false - }, - "href": "https://api.ardmediathek.de/page-gateway/playerconfig/Y3JpZDovL3BsYW5ldC1zY2h1bGUuZGUvQVJEXzEwNTQ3X3ZpZGVv" - }, - "publicationService": { - "name": "SWR", - "logo": { - "title": "Logo SWR", - "alt": "Logo SWR", - "producerName": "SWR", - "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", - "aspectRatio": "16x9" - }, - "publisherType": "TV", - "partner": "swr", - "id": "b3JnYW5pemF0aW9uX1NXUg" - }, - "links": { - "self": { - "id": "5kG69Jms5UMSSUMwMCY0k0", - "urlId": "5kG69Jms5UMSSUMwMCY0k0", - "title": "Player Widget ARD", - "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL3BsYW5ldC1zY2h1bGUuZGUvQVJEXzEwNTQ3X3ZpZGVv?pageNumber=0&pageSize=100&embedded=true", - "type": "application/vnd.ard.widget+json", - "partner": "ard" - } - }, - "show": { - "id": "Y3JpZDovL3N3ci5kZS8yNTgyNzUw", - "title": "Planet Schule", - "image": { - "alt": "Logo Planet Schule", - "producerName": "SWR, SWR", - "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:ea5e08eeec8ef204?w={width}&ch=ae7717289dd776ef", - "title": "Planet Schule" - } - }, - "synopsis": "Spargelernte ist Knochenarbeit! Das erlebt auch Tom bei Landwirtin Regina Rothkopf und ihrem Sohn Maximilian in Euskirchen. Ob grün oder weiß, die Stangen sind der Spross der Spargelpflanze und ein gesundes Frühlingsgemüse. Zusammen mit Maximilian brät Tom am Feldrand aus dem frisch geernteten Spargel ein schnelles Pfannengericht.", - "title": "Der Spargel · Feldküche: Vom Acker direkt in den Topf", - "type": "player_ondemand" - }, - { - "compilationType": "itemsOfShow", - "id": "Y3JpZDovL3N3ci5kZS8yNTgyNzUw", - "isChildContent": false, - "pagination": { - "pageNumber": 0, - "pageSize": 24, - "totalElements": 1326 - }, - "personalized": false, - "links": { - "self": { - "id": "Y3JpZDovL3N3ci5kZS8yNTgyNzUw", - "urlId": "Y3JpZDovL3N3ci5kZS8yNTgyNzUw", - "title": "Planet Schule", - "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL3N3ci5kZS8yNTgyNzUw?excludedAssetIds=Y3JpZDovL3BsYW5ldC1zY2h1bGUuZGUvQVJEXzEwNTQ3X3ZpZGVv&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false", - "type": "application/vnd.ard.widget+json", - "partner": "ard" - } - }, - "size": "m", - "swipeable": true, - "teasers": [], - "title": "Planet Schule", - "titleVisible": true, - "type": "gridlist" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_uhd.json b/src/test/resources/ard/ard_film_page_uhd.json deleted file mode 100644 index 768676981..000000000 --- a/src/test/resources/ard/ard_film_page_uhd.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "fskRating":"NONE", - "id":"1m0kFcyvowSiEYW4c6YYWg", - "isChildContent":false, - "personalized":false, - "links":{ - "self":{ - "id":"1m0kFcyvowSiEYW4c6YYWg", - "urlId":"1m0kFcyvowSiEYW4c6YYWg", - "title":"Ondemand PlayerPage ARD", - "href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Z1bmsubmV0LzEyMTg3L3ZpZGVvLzE4MTI2OTU?embedded=true", - "type":"application/vnd.ard.page+json", - "partner":"ard" - } - }, - "title":"Wie ist das DOWN-SYNDROM ZU HABEN?", - "tracking":{ - "aggregationLevelId":38, - "atiCustomVars":{ - "clipTitle":"Wie ist das DOWN-SYNDROM ZU HABEN.", - "mediaType":"video", - "lra":"funk", - "channel":"funk", - "show":"Leeroy will's wissen", - "contentTypes":"", - "mediaDistributionType":1, - "contentId":10651005, - "metadataId":"crid://funk.net/12187/video/1812695", - "clipLength":950 - }, - "chapter2":"Player", - "chapter3":"Leeroy will's wissen", - "environmentId":511893, - "pageTitle":"Mediathek/Player/Leeroy will's wissen/Wie ist das DOWN-SYNDROM ZU HABEN./10651005/20220724_1800", - "szmType":"CP" - }, - "widgets":[ - { - "availableTo":null, - "blockedByFsk":false, - "broadcastedOn":"2022-07-24T18:00:00Z", - "embeddable":false, - "geoblocked":false, - "id":"Y3JpZDovL2Z1bmsubmV0LzEyMTg3L3ZpZGVvLzE4MTI2OTU", - "image":{ - "alt":"Wie ist das DOWN-SYNDROM ZU HABEN? - Thumbnail", - "producerName":"funk", - "src":"https://api.ardmediathek.de/image-service/images/urn:ard:image:e43c99f3311675cb?w={width}&ch=6adcbcd327f902ca", - "title":"Wie ist das DOWN-SYNDROM ZU HABEN? - Thumbnail" - }, - "isChildContent":false, - "maturityContentRating":"NONE", - "mediaCollection":{ - "embedded":{ - "_defaultQuality":[ - "auto", - 2, - 3, - 4, - 1, - 0, - 5 - ], - "_duration":950, - "_dvrEnabled":false, - "_geoblocked":false, - "_isLive":false, - "_mediaArray":[ - { - "_mediaStreamArray":[ - { - "_height":720, - "_quality":3, - "_stream":"https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/2-M7wvJWnjNmgfBGCLDYZV.mp4?fv=1", - "_width":1280 - }, - { - "_quality":"auto", - "_stream":"https://funk-02.akamaized.net/22679/files/22/07/12/5933559/22679-kfbZDB6QCjKvr7Y.ism/manifest.m3u8" - }, - { - "_height":360, - "_quality":1, - "_stream":"https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/4-q4xvKF6nmVLY7Pw8Ckr9.mp4?fv=1", - "_width":640 - }, - { - "_height":1080, - "_quality":4, - "_stream":"https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/1-dz73ZV4wXPrfK8YDMBxj.mp4?fv=1", - "_width":1920 - }, - { - "_height":2160, - "_quality":5, - "_stream":"https://funk-02dd.akamaized.net/22679/files/22/07/12/5933559/34-tMcygV2Kzjf9QXxh7Jqd.mp4?fv=1", - "_width":3840 - } - ], - "_plugin":1 - } - ], - "_previewImage":"https://api.ardmediathek.de/image-service/images/urn:ard:image:e43c99f3311675cb?w=960&ch=6adcbcd327f902ca", - "_sortierArray":[ - 1 - ], - "_type":"video" - }, - "href":"https://api.ardmediathek.de/page-gateway/mediacollection/Y3JpZDovL2Z1bmsubmV0LzEyMTg3L3ZpZGVvLzE4MTI2OTU?devicetype=pc" - }, - "pagination":null, - "personalized":false, - "playerConfig":{ - "embedded":{ - "_autoplay":"FORCE", - "_baseAssetUrl":"/ard/static/player/base/", - "_baseUrl":"/ard/static/player/", - "_pixelConfig":[ - { - "agfMetaDataSDK":{ - "assetId":"10651005", - "length":"950", - "nol_c0":"p0,0", - "nol_c10":"p10,funk", - "nol_c12":"p12,Content", - "nol_c15":"p15,", - "nol_c16":"p16,", - "nol_c18":"p18,N", - "nol_c19":"p19,funk", - "nol_c2":"p2,Y", - "nol_c5":"p5,ARD Mediathek", - "nol_c7":"p7,funk/episode/video/1812695", - "nol_c8":"p8,950", - "nol_c9":"p9,Leeroy will's wissen_Wie ist das DOWN-SYNDROM ZU HABEN?_24.07.2022 18:00", - "program":"Leeroy will's wissen", - "title":"funk_Leeroy will's wissen_Wie ist das DOWN-SYNDROM ZU HABEN?_24.07.2022 18:00", - "type":"content" - }, - "appId":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5", - "tracker":"AGF" - } - ], - "_showSubtitelAtStart":false - }, - "href":"https://api.ardmediathek.de/page-gateway/playerconfig/Y3JpZDovL2Z1bmsubmV0LzEyMTg3L3ZpZGVvLzE4MTI2OTU" - }, - "publicationService":{ - "name":"funk", - "logo":{ - "title":"Logo funk", - "alt":"Logo funk", - "producerName":"funk", - "src":"https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", - "aspectRatio":"16x9" - }, - "publisherType":"TV", - "partner":"funk", - "id":"b3JnYW5pemF0aW9uX2Z1bms" - }, - "links":{ - "self":{ - "id":"5kG69Jms5UMSSUMwMCY0k0", - "urlId":"5kG69Jms5UMSSUMwMCY0k0", - "title":"Player Widget ARD", - "href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL2Z1bmsubmV0LzEyMTg3L3ZpZGVvLzE4MTI2OTU?pageNumber=0&pageSize=100&embedded=true", - "type":"application/vnd.ard.widget+json", - "partner":"ard" - } - }, - "show":{ - "id":"Y3JpZDovL2Z1bmsubmV0LzEyMTg3", - "title":"Leeroy will's wissen", - "image":{ - "alt":"Leeroy will's wissen - Teaser", - "producerName":"funk", - "src":"https://api.ardmediathek.de/image-service/images/urn:ard:image:0caedf72350156b8?w={width}&ch=91defea8ba718df1", - "title":"Leeroy will's wissen - Teaser" - } - }, - "synopsis":"Tamara ist 26 Jahre alt und hat das Down-Syndrom. Doch das ist für sie kein Hindernis – ganz im Gegenteil! Seit Jahren ist sie als Model und Schauspielerin sehr erfolgreich. So stand sie schon für die Designer Hugo Boss und Victoria Beckham vor der Kamera", - "title":"Wie ist das DOWN-SYNDROM ZU HABEN?", - "type":"player_ondemand" - }, - { - "compilationType":"itemsOfShow", - "id":"Y3JpZDovL2Z1bmsubmV0LzEyMTg3", - "isChildContent":false, - "pagination":{ - "pageNumber":0, - "pageSize":24, - "totalElements":119 - }, - "personalized":false, - "links":{ - "self":{ - "id":"Y3JpZDovL2Z1bmsubmV0LzEyMTg3", - "urlId":"Y3JpZDovL2Z1bmsubmV0LzEyMTg3", - "title":"Leeroy will's wissen", - "href":"https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Z1bmsubmV0LzEyMTg3?excludedAssetIds=Y3JpZDovL2Z1bmsubmV0LzEyMTg3L3ZpZGVvLzE4MTI2OTU&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false", - "type":"application/vnd.ard.widget+json", - "partner":"ard" - } - }, - "size":"m", - "swipeable":true, - "teasers":[ - ], - "title":"Leeroy will's wissen", - "titleVisible":true, - "type":"gridlist" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/ard/ard_film_page_with_related11.json b/src/test/resources/ard/ard_film_page_with_related11.json deleted file mode 100644 index be74ac447..000000000 --- a/src/test/resources/ard/ard_film_page_with_related11.json +++ /dev/null @@ -1 +0,0 @@ -{"fskRating":"NONE","id":"1m0kFcyvowSiEYW4c6YYWg","personalized":false,"links":{"self":{"id":"1m0kFcyvowSiEYW4c6YYWg","title":"Ondemand PlayerPage ARD","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2I5Y2FiMjMzLTMxMjEtNGE0Mi1iYjZlLWY3MWJkZGExNWZmYw?embedded=true","type":"application/vnd.ard.page+json"}},"title":"Live nach Neun","tracking":{"aggregationLevelId":38,"atiCustomVars":{"clipTitle":"Live nach Neun","mediaType":"video","lra":"Das Erste","channel":"Das Erste","show":"Live nach neun","contentTypes":"UT","mediaDistributionType":1,"contentId":77388670,"metadataId":"crid://daserste.de/live nach neun/b9cab233-3121-4a42-bb6e-f71bdda15ffc","clipLength":2986},"chapter2":"Player","chapter3":"Live nach neun","environmentId":511893,"pageTitle":"Mediathek/Player/Live nach neun/Live nach Neun/77388670/20200703_0705","szmType":"CP"},"widgets":[{"availableTo":null,"blockedByFsk":false,"broadcastedOn":"2020-07-03T07:05:00Z","embeddable":true,"geoblocked":false,"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2I5Y2FiMjMzLTMxMjEtNGE0Mi1iYjZlLWY3MWJkZGExNWZmYw","image":{"alt":"Peter Großmann und Alina Stiegler","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/77/38/86/76/-2114473875/16x9/{width}?mandant=ard","title":"Live nach Neun - Standbild"},"maturityContentRating":"NONE","mediaCollection":{"embedded":{"_type":"video","_isLive":false,"_defaultQuality":["auto",2,4,3,1,0],"_previewImage":"https://img.ardmediathek.de/standard/00/77/38/86/76/-2114473875/16x9/960?mandant=ard","_subtitleUrl":"https://www.ardmediathek.de/subtitle/410911","_subtitleOffset":0,"_mediaArray":[{"_plugin":1,"_mediaStreamArray":[{"_quality":"auto","_server":"","_cdn":"flashls","_stream":"https://dasersteuni-vh.akamaihd.net/i/de/2020/07/03/,live_20200703_070454_sendeton_1920x1080-50p-8000kbit,live_20200703_070454_sendeton_1280x720-50p-5200kbit,live_20200703_070454_sendeton_960x540-50p-2600kbit,live_20200703_070454_sendeton_640x360-25p-1300kbit,live_20200703_070454_sendeton_512x288-25p-700kbit,live_20200703_070454_sendeton_480x270-25p-270kbit,.mp4.csmil/master.m3u8"},{"_quality":1,"_stream":["https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_640x360-25p-1300kbit.mp4","https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_512x288-25p-700kbit.mp4","https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_480x270-25p-270kbit.mp4"]},{"_quality":2,"_server":"","_cdn":"akamai","_width":960,"_height":540,"_stream":"https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_960x540-50p-2600kbit.mp4"},{"_quality":3,"_server":"","_cdn":"akamai","_width":1280,"_height":720,"_stream":"https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_1280x720-50p-5200kbit.mp4"},{"_quality":4,"_server":"","_cdn":"akamai","_width":1920,"_height":1080,"_stream":"https://pdvideosdaserste-a.akamaihd.net/de/2020/07/03/live_20200703_070454_sendeton_1920x1080-50p-8000kbit.mp4"}]}],"_alternativeMediaArray":[],"_sortierArray":[1],"_duration":2986,"_dvrEnabled":false,"_geoblocked":false},"href":"http://api.ardmediathek.de/page-gateway/mediacollection/77388670?devicetype={devicetype}"},"pagination":null,"personalized":false,"playerConfig":{"embedded":{"_baseUrl":"/ard/static/player/","_baseAssetUrl":"/ard/static/player/base/","_autoplay":"FORCE","_showSubtitelAtStart":false,"_addons":["AddonUntertitel_ebu_tt"],"_solaAnalyticsEnabled":true,"_solaAnalyticsConfig":"/play/sola/77388670","_pixelConfig":[{"tracker":"AGF","clipUrl":"https://dasersteuni-vh.akamaihd.net/i/de/2020/07/03/,live_20200703_070454_sendeton_1920x1080-50p-8000kbit,live_20200703_070454_sendeton_1280x720-50p-5200kbit,live_20200703_070454_sendeton_960x540-50p-2600kbit,live_20200703_070454_sendeton_640x360-25p-1300kbit,live_20200703_070454_sendeton_512x288-25p-700kbit,live_20200703_070454_sendeton_480x270-25p-270kbit,.mp4.csmil/master.m3u8","clipType":"content","agfVCID":"b02","agfMetadata":"https://www.ardmediathek.de/goto/tv/773886702986Das Erste_Live nach neun_Live nach Neun_03.07.2020 09:05nop0,0p2,Np5,ARD Mediathekp7,crid://daserste.de/live nach neun/b9cab233-3121-4a42-bb6e-f71bdda15ffcp8,2986p9,Live nach neun_Live nach Neun_03.07.2020 09:05p10,Das Erstep12,Contentp15,X004547778p16,Das Erste_Information|Magazin||Live nach Neunp18,Np19,WDR","agfClipLength":"2986","agfGlobalParamsSDK":{"clientid":"de-605508","apid":"PA02DC09C-B8D3-4098-87D2-2C023682D6D5","sfcode":"eu","prod":"vc","vcid":"b02","apn":"ARD Mediathek"},"agfMetaDataSDK":{"assetid":"https://dasersteuni-vh.akamaihd.net/i/de/2020/07/03/,live_20200703_070454_sendeton_1920x1080-50p-8000kbit,live_20200703_070454_sendeton_1280x720-50p-5200kbit,live_20200703_070454_sendeton_960x540-50p-2600kbit,live_20200703_070454_sendeton_640x360-25p-1300kbit,live_20200703_070454_sendeton_512x288-25p-700kbit,live_20200703_070454_sendeton_480x270-25p-270kbit,.mp4.csmil/master.m3u8","type":"content","program":"Live nach neun","title":"Das Erste_Live nach neun_Live nach Neun_03.07.2020 09:05","length":"2986","livestream":"no","uurl":"https://www.ardmediathek.de/goto/tv/77388670","nol_c0":"p0,0","nol_c2":"p2,N","nol_c5":"p5,ARD Mediathek","nol_c7":"p7,crid://daserste.de/live nach neun/b9cab233-3121-4a42-bb6e-f71bdda15ffc","nol_c8":"p8,2986","nol_c9":"p9,Live nach neun_Live nach Neun_03.07.2020 09:05","nol_c10":"p10,Das Erste","nol_c12":"p12,Content","nol_c15":"p15,X004547778","nol_c16":"p16,Das Erste_Information|Magazin||Live nach Neun","nol_c18":"p18,N","nol_c19":"p19,WDR"}},{"tracker":"ATI","x3":"video","x5":"Das+Erste","x6":"Das+Erste","x7":"Live+nach+neun","x8":"6","x9":"WDR","x10":"1","x14":"77388670","x20":"2986","clipUrl":"https://dasersteuni-vh.akamaihd.net/i/de/2020/07/03/,live_20200703_070454_sendeton_1920x1080-50p-8000kbit,live_20200703_070454_sendeton_1280x720-50p-5200kbit,live_20200703_070454_sendeton_960x540-50p-2600kbit,live_20200703_070454_sendeton_640x360-25p-1300kbit,live_20200703_070454_sendeton_512x288-25p-700kbit,live_20200703_070454_sendeton_480x270-25p-270kbit,.mp4.csmil/master.m3u8","clipTitle":"Live nach Neun","countingUrl":"/ard/servlet/count/77388670"}]},"href":"http://api.ardmediathek.de/page-gateway/playerconfig/77388670"},"publicationService":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"links":{"self":{"id":"5kG69Jms5UMSSUMwMCY0k0","title":"Player Widget ARD","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/5kG69Jms5UMSSUMwMCY0k0/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2I5Y2FiMjMzLTMxMjEtNGE0Mi1iYjZlLWY3MWJkZGExNWZmYw?pageNumber=0&pageSize=100&embedded=true","type":"application/vnd.ard.widget+json"}},"show":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVu","title":"Live nach neun","image":{"alt":"Bild zur Sendung Live nach neun","producerName":"Das Erste","src":"https://img.ardmediathek.de/standard/00/63/08/96/12/-1442109143/16x9/{width}?mandant=ard","title":"Live nach neun - Bevorzugt"}},"synopsis":"","title":"Live nach Neun","type":"player_ondemand"},{"compilationType":"itemsOfShow","id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzIwMjAtMDctMDNfMDktMDUtTUVTWg","pagination":{"pageNumber":0,"pageSize":100,"totalElements":3},"personalized":false,"links":{"self":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzIwMjAtMDctMDNfMDktMDUtTUVTWg","title":"Live nach Neun","href":"https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzIwMjAtMDctMDNfMDktMDUtTUVTWg?excludedAssetIds=Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2I5Y2FiMjMzLTMxMjEtNGE0Mi1iYjZlLWY3MWJkZGExNWZmYw&pageNumber=0&pageSize=100&embedded=true","type":"application/vnd.ard.widget+json"}},"size":"m","swipeable":true,"teasers":[{"availableTo":"2020-07-06T21:59:00Z","broadcastedOn":"2020-07-03T07:05:00Z","decor":"none","duration":248,"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA","images":{"aspect16x9":{"alt":"Laura di Salvo","producerName":"WDR","src":"https://img.ardmediathek.de/standard/00/77/39/06/22/-295433861/16x9/{width}?mandant=ard","title":"Laura di Salvo mit dem Wochenendwetter - Standbild"}},"longTitle":"Laura di Salvo mit dem Wochenendwetter","mediumTitle":"Laura di Salvo mit dem Wochenendwetter","personalized":false,"playtime":null,"publicationService":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"links":{"self":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA","title":"Laura di Salvo mit dem Wochenendwetter","href":"https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA","type":"application/vnd.ard.teaser+json"},"target":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA","title":"Laura di Salvo mit dem Wochenendwetter","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuL2U2NjBiMDU0LWM3YmYtNDdkYy1iMmFlLWM1N2NkNmM1MjVhZA?devicetype=pc&embedded=true","type":"application/vnd.ard.page+json"}},"shortTitle":"Laura di Salvo mit dem Wochenendwetter","show":{"id":"crid://daserste.de/live nach neun","coremediaId":52323934,"title":"Live nach neun","publisher":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"self":null,"images":{"16x9":{"title":"Live nach neun - Bevorzugt","alt":"Bild zur Sendung Live nach neun","producerName":"Das Erste","src":"https://img.ardmediathek.de/standard/00/63/08/96/12/-1442109143/16x9/{width}?mandant=ard","aspectRatio":"16x9"}},"shortSynopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","synopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","longSynopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","groupingType":"SHOW","homepage":null},"subtitled":false,"type":"ondemand"},{"availableTo":"2020-07-17T21:59:00Z","broadcastedOn":"2020-07-03T07:05:00Z","decor":"none","duration":139,"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg","images":{"aspect16x9":{"alt":"Live nach Neun","producerName":"WDR","src":"https://img.ardmediathek.de/standard/00/77/39/06/50/-295433861/16x9/{width}?mandant=ard","title":"Spot an für Neues aus der Promiwelt - Standbild"}},"longTitle":"Spot an für Neues aus der Promiwelt","mediumTitle":"Spot an für Neues aus der Promiwelt","personalized":false,"playtime":null,"publicationService":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"links":{"self":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg","title":"Spot an für Neues aus der Promiwelt","href":"https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg","type":"application/vnd.ard.teaser+json"},"target":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg","title":"Spot an für Neues aus der Promiwelt","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzc2NjcyOTI0LWNmNjMtNDhkNy05ZTcwLTQ1Y2EzYmZmZTUzMg?devicetype=pc&embedded=true","type":"application/vnd.ard.page+json"}},"shortTitle":"Spot an für Neues aus der Promiwelt","show":{"id":"crid://daserste.de/live nach neun","coremediaId":52323934,"title":"Live nach neun","publisher":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"self":null,"images":{"16x9":{"title":"Live nach neun - Bevorzugt","alt":"Bild zur Sendung Live nach neun","producerName":"Das Erste","src":"https://img.ardmediathek.de/standard/00/63/08/96/12/-1442109143/16x9/{width}?mandant=ard","aspectRatio":"16x9"}},"shortSynopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","synopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","longSynopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","groupingType":"SHOW","homepage":null},"subtitled":false,"type":"ondemand"},{"availableTo":"2021-07-03T21:59:00Z","broadcastedOn":"2020-07-03T07:05:00Z","decor":"none","duration":322,"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ","images":{"aspect16x9":{"alt":"Live nach Neun","producerName":"WDR","src":"https://img.ardmediathek.de/standard/00/77/39/07/10/-295433861/16x9/{width}?mandant=ard","title":"Versuchskraftwerk Jülich: Wie aus Licht Wasserstoff wird - Standbild"}},"longTitle":"Versuchskraftwerk Jülich: Wie aus Licht Wasserstoff wird","mediumTitle":"Versuchskraftwerk Jülich: Wie aus Licht Wasserstoff wird","personalized":false,"playtime":null,"publicationService":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"links":{"self":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ","title":"Versuchskraftwerk Jülich: Wie aus Licht Wasserstoff wird","href":"https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ","type":"application/vnd.ard.teaser+json"},"target":{"id":"Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ","title":"Versuchskraftwerk Jülich: Wie aus Licht Wasserstoff wird","href":"https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL2xpdmUgbmFjaCBuZXVuLzhmZWRlOTE2LTg4NmMtNDZhNy1iNmI5LTQ5NmMzMWJlNWZiZQ?devicetype=pc&embedded=true","type":"application/vnd.ard.page+json"}},"shortTitle":"Versuchskraftwerk Jülich: Wie aus Licht Wasserstoff wird","show":{"id":"crid://daserste.de/live nach neun","coremediaId":52323934,"title":"Live nach neun","publisher":{"name":"Das Erste","logo":{"title":"DasErste","alt":"DasErste","producerName":"ARD","src":"https://img.ardmediathek.de/standard/00/21/51/88/56/-295433861/0/{width}?mandant=ard","aspectRatio":"0"},"publisherType":"TV","partner":"das_erste","id":"b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ"},"self":null,"images":{"16x9":{"title":"Live nach neun - Bevorzugt","alt":"Bild zur Sendung Live nach neun","producerName":"Das Erste","src":"https://img.ardmediathek.de/standard/00/63/08/96/12/-1442109143/16x9/{width}?mandant=ard","aspectRatio":"16x9"}},"shortSynopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","synopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","longSynopsis":"In dem neuen Vormittagsformat geht es um Land und Leute in unterschiedlichen Regionen, Alltagshelden, Schicksale und Erfolgsgeschichten.","groupingType":"SHOW","homepage":null},"subtitled":false,"type":"ondemand"}],"title":"Live nach Neun","titleVisible":true,"type":"gridlist"}]} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_DGS_AD.json b/src/test/resources/ard/ard_item_DGS_AD.json new file mode 100644 index 000000000..6b5093682 --- /dev/null +++ b/src/test/resources/ard/ard_item_DGS_AD.json @@ -0,0 +1,540 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": true, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Die schlaflose Eule (mit Gebärdensprache)", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL25kci5kZS82ZDdlMGFkMC00OGQ5LTRmYTMtYjdiMy04NDYzZTg4ODkyYjkvZ2ViYWVyZGVuc3ByYWNoZQ?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Die schlaflose Eule (mit Gebärdensprache)", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Die schlaflose Eule (mit Gebärdensprache)", + "mediaType": "video", + "lra": "KiKA", + "channel": "KiKA", + "show": "Sesamstraße Magazin", + "contentTypes": "GD | UT", + "mediaDistributionType": 1, + "contentId": 10147697, + "metadataId": "crid://ndr.de/6d7e0ad0-48d9-4fa3-b7b3-8463e88892b9/gebaerdensprache", + "clipLength": 1226 + }, + "chapter2": "Player", + "chapter3": "Sesamstraße Magazin", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Sesamstraße Magazin/Die schlaflose Eule (mit Gebärdensprache)/10147697/20240219_0645", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:1ad647c65f0db565", + "page_content_title": "Die schlaflose Eule (mit Gebärdensprache)", + "page_id": "player_ondemand-page-ard", + "page_institution": "KiKA", + "page_institution_id": "urn:ard:institution:4ef58479de880838", + "page_publisher": "KiKA", + "page_publisher_id": "urn:ard:publisher:d974dc16b65aef8b", + "page_show": "Sesamstraße Magazin", + "page_show_id": "urn:ard:show:6d28705b69b83872", + "page_title": "Die schlaflose Eule (mit Gebärdensprache)", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2026-02-19T06:45:00Z", + "binaryFeatures": [ + "DGS", + "UT", + "AD" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-02-19T06:45:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL25kci5kZS82ZDdlMGFkMC00OGQ5LTRmYTMtYjdiMy04NDYzZTg4ODkyYjkvZ2ViYWVyZGVuc3ByYWNoZQ", + "image": { + "alt": "Sesamstraßen Logo Jan Delay mit Sesamstraßen Puppen und Disco-Kugel.", + "producerName": "Sesamstraße", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:7752e5eeb1e3fa5d?w={width}&ch=58b367a962e5dfe6", + "title": "Die schlaflose Eule" + }, + "isChildContent": true, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": true, + "meta": { + "availableToDateTime": "2026-02-19T06:45:00Z", + "broadcastedOnDateTime": "2024-02-19T06:45:00Z", + "clipSourceName": "NDR", + "durationSeconds": 1226, + "images": [ + { + "alt": "Sesamstraßen Logo Jan Delay mit Sesamstraßen Puppen und Disco-Kugel.", + "aspectRatio": "16x9", + "imageSourceName": "Sesamstraße", + "kind": "preview", + "title": "Die schlaflose Eule", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:7752e5eeb1e3fa5d?w=960&ch=58b367a962e5dfe6" + } + ], + "publicationService": { + "id": "ard", + "name": "KiKA", + "partner": "kika" + }, + "seriesTitle": "Sesamstraße Magazin", + "synopsis": "2893. Ernie & Jan Delay bringen den müden Bert mit ihrem Lied um seinen nächtlichen Schlaf.\nIn einer neuen Sesamstraßen Reihe nehmen uns Kinder mit an ihre \"Lieblingsorte\". Heute besuchen wir mit Elli (4), Jonathan (5) und Mattis (8) das nächtliche Miniaturwunderland.\nAußerdem hat der Prinz Probleme damit, Dornröschen zu wecken und Krümelmonster bringt Abby zur Verzweiflung. Susi Schraube erfindet eine Maschine, die beim Einschlafen hilft.", + "title": "Die schlaflose Eule" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL25kci5kZS82ZDdlMGFkMC00OGQ5LTRmYTMtYjdiMy04NDYzZTg4ODkyYjk" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "10147697", + "length": "1226", + "nol_c0": "p0,0", + "nol_c10": "p10,KiKA", + "nol_c12": "p12,Content", + "nol_c15": "p15,", + "nol_c16": "p16,ARD_Information", + "nol_c18": "p18,N", + "nol_c19": "p19,NDR", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://ndr.de/4440_2021-12-16-07-45", + "nol_c8": "p8,1226", + "nol_c9": "p9,Sesamstraße Magazin_Die schlaflose Eule_19.02.2024 06:45", + "program": "Sesamstraße Magazin", + "title": "KiKA_Sesamstraße Magazin_Die schlaflose Eule_19.02.2024 06:45", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "1226", + "mediaLabel": "Die schlaflose Eule__10147697__AD | GD | UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "KiKA", + "mediaTheme2": "KiKA", + "mediaTheme3": "Sesamstraße Magazin", + "mediaType": "video", + "playerId": "urn:ard:publication:1ad647c65f0db565", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Die schlaflose Eule", + "av_content_duration": 1226000, + "av_content_id": "urn:ard:publication:1ad647c65f0db565", + "av_content_type": "video", + "av_institution": "KiKA", + "av_institution_id": "urn:ard:institution:4ef58479de880838", + "av_publisher": "KiKA", + "av_publisher_id": "urn:ard:publisher:d974dc16b65aef8b", + "av_show": "Sesamstraße Magazin", + "av_show_id": "urn:ard:show:6d28705b69b83872" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2021/0928/TV-20210928-1420-0200.ln.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2021/0928/TV-20210928-1420-0200.hq.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2021/0928/TV-20210928-1420-0200.hd.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://adaptive.ndr.de/i/geo/2021/0928/TV-20210928-1420-0200.,hq,hd,ln,mn,ao,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2021/1001/TV-20211001-1625-4000.ln.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2021/1001/TV-20211001-1625-4000.hd.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://adaptive.ndr.de/i/geo/2021/1001/TV-20211001-1625-4000.,hq,hd,ln,mn,ao,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2021/1001/TV-20211001-1625-4000.hq.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + }, + { + "kind": "sign-language", + "kindName": "DGS", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2022/0104/TV-20220104-0902-5000.ln.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://adaptive.ndr.de/i/geo/2022/0104/TV-20220104-0902-5000.,hq,hd,ln,mn,ao,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2022/0104/TV-20220104-0902-5000.hd.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive_geo/2022/0104/TV-20220104-0902-5000.hq.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "dgs" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:eaa2ed13a677cd00" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:eaa2ed13a677cd00.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL25kci5kZS82ZDdlMGFkMC00OGQ5LTRmYTMtYjdiMy04NDYzZTg4ODkyYjkvZ2ViYWVyZGVuc3ByYWNoZQ?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "KiKA", + "logo": { + "title": "Logo KiKA", + "alt": "Logo KiKA", + "producerName": "Logo KiKA", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "KiKa", + "id": "b3JnYW5pemF0aW9uX0tpS0E", + "coreId": "urn:ard:publisher:d974dc16b65aef8b" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Die schlaflose Eule (mit Gebärdensprache)", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL25kci5kZS82ZDdlMGFkMC00OGQ5LTRmYTMtYjdiMy04NDYzZTg4ODkyYjkvZ2ViYWVyZGVuc3ByYWNoZQ?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL25kci5kZS80NDQw", + "title": "Sesamstraße Magazin", + "image": { + "alt": "Logo der Sendung Sesamstraße", + "producerName": "NDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:0aaf50e00c831d8f?w={width}&ch=bf49a3d17d79a407", + "title": "Sesamstraße Magazin" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "DGS", + "AD" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "2893. Ernie & Jan Delay bringen den müden Bert mit ihrem Lied um seinen nächtlichen Schlaf.\nIn einer neuen Sesamstraßen Reihe nehmen uns Kinder mit an ihre \"Lieblingsorte\". Heute besuchen wir mit Elli (4), Jonathan (5) und Mattis (8) das nächtliche Miniaturwunderland.\nAußerdem hat der Prinz Probleme damit, Dornröschen zu wecken und Krümelmonster bringt Abby zur Verzweiflung. Susi Schraube erfindet eine Maschine, die beim Einschlafen hilft.", + "title": "Die schlaflose Eule (mit Gebärdensprache)", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Die schlaflose Eule (mit Gebärdensprache)", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL25kci5kZS80NDQw", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 353 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL25kci5kZS80NDQw", + "urlId": "Y3JpZDovL25kci5kZS80NDQw", + "title": "Sesamstraße Magazin", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL25kci5kZS80NDQw?excludedAssetIds=Y3JpZDovL25kci5kZS82ZDdlMGFkMC00OGQ5LTRmYTMtYjdiMy04NDYzZTg4ODkyYjkvZ2ViYWVyZGVuc3ByYWNoZQ&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "Sesamstraße Magazin", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL25kci5kZS80NDQw", + "widget_title": "Sesamstraße Magazin", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_DGS_UT_AD.json b/src/test/resources/ard/ard_item_DGS_UT_AD.json new file mode 100644 index 000000000..66639f201 --- /dev/null +++ b/src/test/resources/ard/ard_item_DGS_UT_AD.json @@ -0,0 +1,909 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "FSK12", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Der Fluch des Geldes (mit Gebärdensprache)", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydC8yMDI0LTAxLTI4XzIwLTE1LU1FWi9nZWJhZXJkZW5zcHJhY2hl?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Der Fluch des Geldes (mit Gebärdensprache)", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Der Fluch des Geldes (mit Gebärdensprache)", + "mediaType": "video", + "lra": "ARD", + "channel": "ARD", + "show": "Tatort", + "contentTypes": "GD | UT", + "mediaDistributionType": 1, + "contentId": 13100815, + "metadataId": "crid://daserste.de/tatort/2024-01-28_20-15-MEZ/gebaerdensprache", + "clipLength": 5313 + }, + "chapter2": "Player", + "chapter3": "Tatort", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Tatort/Der Fluch des Geldes (mit Gebärdensprache)/13100815/20240128_1915", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:abb02a54f8711468", + "page_content_title": "Der Fluch des Geldes (mit Gebärdensprache)", + "page_id": "player_ondemand-page-ard", + "page_institution": "ARD", + "page_institution_id": "urn:ard:institution:453603d77920d274", + "page_publisher": "ARD", + "page_publisher_id": "urn:ard:publisher:d6c3befc4d6b7e76", + "page_show": "Tatort", + "page_show_id": "urn:ard:show:24a41843cd919fb8", + "page_title": "Der Fluch des Geldes (mit Gebärdensprache)", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2025-01-28T19:15:00Z", + "binaryFeatures": [ + "DGS", + "UT", + "AD" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-01-28T19:15:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydC8yMDI0LTAxLTI4XzIwLTE1LU1FWi9nZWJhZXJkZW5zcHJhY2hl", + "image": { + "alt": "Hauptkommissar Leo Hölzer (Vladimir Burlakov,li.) sagt seinem Kollegen Hauptkommissar Adam Schürk (Daniel Sträßer), dass er nicht an einen Unfall glaubt.", + "producerName": "SR / Manuela Meyer", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:355b22d986951f5e?w={width}&ch=177f66b8952ac44e", + "title": "Hauptkommissar Leo Hölzer sagt seinem Kollegen Hauptkommissar Adam Schürk, dass er nicht an einen Unfall glaubt." + }, + "isChildContent": false, + "maturityContentRating": "FSK12", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "availableToDateTime": "2025-01-28T19:15:00Z", + "broadcastedOnDateTime": "2024-01-28T18:40:00Z", + "clipSourceName": "deg", + "durationSeconds": 5313, + "images": [ + { + "alt": "Hauptkommissar Leo Hölzer (Vladimir Burlakov,li.) sagt seinem Kollegen Hauptkommissar Adam Schürk (Daniel Sträßer), dass er nicht an einen Unfall glaubt.", + "aspectRatio": "16x9", + "imageSourceName": "SR / Manuela Meyer", + "kind": "preview", + "title": "Hauptkommissar Leo Hölzer sagt seinem Kollegen Hauptkommissar Adam Schürk, dass er nicht an einen Unfall glaubt.", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:355b22d986951f5e?w=960&ch=177f66b8952ac44e" + } + ], + "maturityContentRating": { + "age": 12, + "isBlocked": false, + "kind": "other" + }, + "publicationService": { + "id": "ard", + "name": "ARD", + "partner": "ard" + }, + "seriesTitle": "Tatort", + "synopsis": "Spielfilm Deutschland 2024 +++\r\n\r\n\"Der Fluch des Geldes\" beginnt da, wo \"Die Kälte der Erde\" endete. Die Hauptkommissare streiten sich, denn Leo Hölzer musste entdecken, dass sein Partner Adam Schürk im Besitz der Beute aus einem Bankraub seines verstorbenen Vaters ist. +++\r\n\r\nMit Vladimir Burlakov, Daniel Sträßer, Susanne Bormann, Omar El-Saeidi, Jasmina Al Zihairi u.a. | Buch: Hendrik Hölzemann | Regie: Christian Theede", + "title": "Der Fluch des Geldes" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydC8yMDI0LTAxLTI4XzIwLTE1LU1FWg" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13100815", + "length": "5313", + "nol_c0": "p0,0", + "nol_c10": "p10,ARD", + "nol_c12": "p12,Content", + "nol_c15": "p15,X005428862", + "nol_c16": "p16,Das Erste_f|film|sonntagskrimi|crid://daserste.de/tatort", + "nol_c18": "p18,N", + "nol_c19": "p19,deg", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://daserste.de/tatort/2024-01-28_20-15-MEZ", + "nol_c8": "p8,5313", + "nol_c9": "p9,Tatort_Der Fluch des Geldes_28.01.2024 19:15", + "program": "Tatort", + "title": "ARD_Tatort_Der Fluch des Geldes_28.01.2024 19:15", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "5313", + "mediaLabel": "Der Fluch des Geldes__13100815__AD | GD | UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "ARD", + "mediaTheme2": "ARD", + "mediaTheme3": "Tatort", + "mediaType": "video", + "playerId": "urn:ard:publication:abb02a54f8711468", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Der Fluch des Geldes", + "av_content_duration": 5313000, + "av_content_id": "urn:ard:publication:abb02a54f8711468", + "av_content_type": "video", + "av_institution": "ARD", + "av_institution_id": "urn:ard:institution:453603d77920d274", + "av_publisher": "ARD", + "av_publisher_id": "urn:ard:publisher:d6c3befc4d6b7e76", + "av_show": "Tatort", + "av_show_id": "urn:ard:show:24a41843cd919fb8" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://universal-vod.daserste.de/i/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/,JOB_430813_sendeton_640x360-50p-1200kbit,JOB_430813_sendeton_480x270-50p-700kbit,JOB_430813_sendeton_960x540-50p-1600kbit,JOB_430813_sendeton_1280x720-50p-3200kbit,JOB_430813_sendeton_1920x1080-50p-5000kbit,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_1920x1080-50p-5000kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_1280x720-50p-3200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_960x540-50p-1600kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430813_sendeton_640x360-50p-1200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_640x360-50p-1200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_1280x720-50p-3200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_1920x1080-50p-5000kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://universal-vod.daserste.de/i/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/,JOB_430814_internationalerton_640x360-50p-1200kbit,JOB_430814_internationalerton_480x270-50p-700kbit,JOB_430814_internationalerton_960x540-50p-1600kbit,JOB_430814_internationalerton_1280x720-50p-3200kbit,JOB_430814_internationalerton_1920x1080-50p-5000kbit,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/18/3322bac1-6935-4101-8e41-380d70eff67e/JOB_430814_internationalerton_960x540-50p-1600kbit.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + }, + { + "kind": "sign-language", + "kindName": "DGS", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_960x540-50p-1600kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_1920x1080-50p-5000kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_640x360-50p-1200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pd-videos.daserste.de/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/JOB_432151_sendeton_1280x720-50p-3200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://universal-vod.daserste.de/i/int/2024/01/24/03247ab1-4dcc-427e-b577-a6ca25c1dffe/,JOB_432151_sendeton_640x360-50p-1200kbit,JOB_432151_sendeton_480x270-50p-700kbit,JOB_432151_sendeton_960x540-50p-1600kbit,JOB_432151_sendeton_1280x720-50p-3200kbit,JOB_432151_sendeton_1920x1080-50p-5000kbit,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "dgs" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:7b0043ec0b358eb8" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:7b0043ec0b358eb8.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydC8yMDI0LTAxLTI4XzIwLTE1LU1FWi9nZWJhZXJkZW5zcHJhY2hl?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "ARD", + "logo": { + "title": "Logo ARD", + "alt": "Logo ARD", + "producerName": "Logo ARD", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "ard", + "id": "b3JnYW5pemF0aW9uX0FSRA", + "coreId": "urn:ard:publisher:d6c3befc4d6b7e76" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Der Fluch des Geldes (mit Gebärdensprache)", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydC8yMDI0LTAxLTI4XzIwLTE1LU1FWi9nZWJhZXJkZW5zcHJhY2hl?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydA", + "title": "Tatort", + "image": { + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:a8959bc57bedd88a?w={width}&ch=389e8f7aef781c55", + "title": "\"Tatort\"-Logo" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "DGS", + "AD" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Spielfilm Deutschland 2024 +++\r\n\r\n\"Der Fluch des Geldes\" beginnt da, wo \"Die Kälte der Erde\" endete. Die Hauptkommissare streiten sich, denn Leo Hölzer musste entdecken, dass sein Partner Adam Schürk im Besitz der Beute aus einem Bankraub seines verstorbenen Vaters ist. +++\r\n\r\nMit Vladimir Burlakov, Daniel Sträßer, Susanne Bormann, Omar El-Saeidi, Jasmina Al Zihairi u.a. | Buch: Hendrik Hölzemann | Regie: Christian Theede", + "title": "Der Fluch des Geldes (mit Gebärdensprache)", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Der Fluch des Geldes (mit Gebärdensprache)", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydA", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 736 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydA", + "urlId": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydA", + "title": "Tatort", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydA?excludedAssetIds=Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydC8yMDI0LTAxLTI4XzIwLTE1LU1FWi9nZWJhZXJkZW5zcHJhY2hl&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [ + { + "availableTo": "2024-07-30T19:45:00Z", + "binaryFeatures": [ + "UT" + ], + "broadcastedOn": "2024-06-04T18:15:00Z", + "coreAssetType": "EPISODE", + "duration": 5314, + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "images": { + "aspect16x9": { + "alt": "Prof. Karl-Friedrich Boerne (Jan Josef Liefers), Vater Thiel (Claus D. Clausnitzer) und Frank Thiel (Axel Prahl) essen gemeinsam Spargel.", + "producerName": "WDR/Martin Menke", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:27e385089acb1dcc?w={width}&ch=93fd6a5deb45a997", + "title": "Spargelzeit" + }, + "aspect16x7": { + "alt": "Prof. Karl-Friedrich Boerne (Jan Josef Liefers), Vater Thiel (Claus D. Clausnitzer) und Frank Thiel (Axel Prahl) essen gemeinsam Spargel.", + "producerName": "WDR/Martin Menke", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:f42df5508e275d92?w={width}&ch=e61daec90b9ef9e4", + "title": "Spargelzeit" + }, + "aspect1x1": { + "alt": "Prof. Karl-Friedrich Boerne (Jan Josef Liefers), Vater Thiel (Claus D. Clausnitzer) und Frank Thiel (Axel Prahl) essen gemeinsam Spargel.", + "producerName": "WDR/Martin Menke", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:3852f8909d44c9b3?w={width}&ch=0f686333d1007294", + "title": "Spargelzeit" + } + }, + "isChildContent": false, + "longTitle": "Spargelzeit (2010)", + "maturityContentRating": "FSK12", + "mediumTitle": "Spargelzeit (2010)", + "personalized": false, + "playtime": null, + "publicationService": { + "name": "WDR", + "logo": { + "title": "Logo WDR", + "alt": "Logo WDR", + "producerName": "Logo WDR", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "wdr", + "id": "b3JnYW5pemF0aW9uX1dEUg", + "coreId": "urn:ard:publisher:10b1059a7b59f1da" + }, + "links": { + "self": { + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "urlId": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "title": "Spargelzeit (2010)", + "href": "https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "type": "application/vnd.ard.teaser+json", + "partner": "ard" + }, + "target": { + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "urlId": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "title": "Spargelzeit (2010)", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ?devicetype=pc&embedded=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "shortTitle": "Spargelzeit (2010)", + "show": { + "id": "crid://daserste.de/tatort", + "coremediaId": 602916, + "title": "Tatort", + "publisher": { + "name": "ARD", + "logo": { + "title": "Logo ARD", + "alt": "Logo ARD", + "producerName": "Logo ARD", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "ard", + "id": "b3JnYW5pemF0aW9uX0FSRA", + "coreId": "urn:ard:publisher:d6c3befc4d6b7e76" + }, + "self": null, + "images": { + "16x9": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:a8959bc57bedd88a?w={width}&ch=389e8f7aef781c55", + "aspectRatio": "16x9" + }, + "16x7": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:57559fd8493b090e?w={width}&ch=bfa7f51159a70920", + "aspectRatio": "16x7" + }, + "1x1": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:4c55e01954532da6?w={width}&ch=b8eff11ee60b8401", + "aspectRatio": "1x1" + }, + "3x4": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c82ca21f13bac66f?w={width}&ch=81a039028bec1df2", + "aspectRatio": "3x4" + } + }, + "shortSynopsis": "In der dienstältesten Krimireihe des deutschen Fernsehens gehen die unterschiedlichsten Ermittlertypen auf Verbrecherjagd. ", + "synopsis": "In der dienstältesten Krimireihe des deutschen Fernsehens gehen die unterschiedlichsten Ermittlertypen auf Verbrecherjagd. ", + "longSynopsis": "In der dienstältesten Krimireihe des deutschen Fernsehens gehen die unterschiedlichsten Ermittlertypen auf Verbrecherjagd. ", + "modificationDate": null, + "assetSource": null, + "categories": null, + "categoryIds": null, + "coreAssetType": "INFINITE_SERIES", + "coreId": "urn:ard:show:24a41843cd919fb8", + "groupingType": "SHOW", + "homepage": { + "id": null, + "title": "Tatort", + "href": "https://www.daserste.de/unterhaltung/krimi/tatort/index.html", + "type": null + }, + "hasSeasons": false, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "DGS", + "AD" + ], + "isChildContent": false + }, + "subtitled": true, + "titleVisible": true, + "trackingPiano": { + "teaser_content_type": "ondemand", + "teaser_id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLThlNjczODVlLWZhZTktNDMwYi1iNzI1LTA0NjU1ZmRmMDljZQ", + "teaser_institution": "ARD", + "teaser_institution_id": "urn:ard:institution:453603d77920d274", + "teaser_title": "Spargelzeit (2010)" + }, + "type": "ondemand" + }, + { + "availableTo": "2024-07-30T19:45:00Z", + "binaryFeatures": [ + "UT" + ], + "broadcastedOn": "2024-06-04T18:15:00Z", + "coreAssetType": "EXTRA_BONUS_CONTENT", + "duration": 5314, + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "images": { + "aspect16x9": { + "alt": "Prof. Karl-Friedrich Boerne (Jan Josef Liefers), Vater Thiel (Claus D. Clausnitzer) und Frank Thiel (Axel Prahl) essen gemeinsam Spargel.", + "producerName": "WDR/Martin Menke", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:2fc98995629a7208?w={width}&ch=95de7feef876cb78", + "title": "Spargelzeit" + }, + "aspect16x7": { + "alt": "Prof. Karl-Friedrich Boerne (Jan Josef Liefers), Vater Thiel (Claus D. Clausnitzer) und Frank Thiel (Axel Prahl) essen gemeinsam Spargel.", + "producerName": "WDR/Martin Menke", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:8b4b569409819ac9?w={width}&ch=7a595d0301f1bf55", + "title": "Spargelzeit" + }, + "aspect1x1": { + "alt": "Prof. Karl-Friedrich Boerne (Jan Josef Liefers), Vater Thiel (Claus D. Clausnitzer) und Frank Thiel (Axel Prahl) essen gemeinsam Spargel.", + "producerName": "WDR/Martin Menke", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:9cd82a97a7cc54f1?w={width}&ch=c9a3fd5f1799e8a4", + "title": "Spargelzeit" + } + }, + "isChildContent": false, + "longTitle": "Spargelzeit (2010) (klare Sprache)", + "maturityContentRating": "FSK12", + "mediumTitle": "Spargelzeit (2010) (klare Sprache)", + "personalized": false, + "playtime": null, + "publicationService": { + "name": "WDR", + "logo": { + "title": "Logo WDR", + "alt": "Logo WDR", + "producerName": "Logo WDR", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "wdr", + "id": "b3JnYW5pemF0aW9uX1dEUg", + "coreId": "urn:ard:publisher:10b1059a7b59f1da" + }, + "links": { + "self": { + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "urlId": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "title": "Spargelzeit (2010) (klare Sprache)", + "href": "https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "type": "application/vnd.ard.teaser+json", + "partner": "ard" + }, + "target": { + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "urlId": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "title": "Spargelzeit (2010) (klare Sprache)", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5?devicetype=pc&embedded=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "shortTitle": "Spargelzeit (2010) (klare Sprache)", + "show": { + "id": "crid://daserste.de/tatort", + "coremediaId": 602916, + "title": "Tatort", + "publisher": { + "name": "ARD", + "logo": { + "title": "Logo ARD", + "alt": "Logo ARD", + "producerName": "Logo ARD", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "ard", + "id": "b3JnYW5pemF0aW9uX0FSRA", + "coreId": "urn:ard:publisher:d6c3befc4d6b7e76" + }, + "self": null, + "images": { + "16x9": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:a8959bc57bedd88a?w={width}&ch=389e8f7aef781c55", + "aspectRatio": "16x9" + }, + "16x7": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:57559fd8493b090e?w={width}&ch=bfa7f51159a70920", + "aspectRatio": "16x7" + }, + "1x1": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:4c55e01954532da6?w={width}&ch=b8eff11ee60b8401", + "aspectRatio": "1x1" + }, + "3x4": { + "title": "\"Tatort\"-Logo", + "alt": "\"Tatort\"-Logo", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c82ca21f13bac66f?w={width}&ch=81a039028bec1df2", + "aspectRatio": "3x4" + } + }, + "shortSynopsis": "In der dienstältesten Krimireihe des deutschen Fernsehens gehen die unterschiedlichsten Ermittlertypen auf Verbrecherjagd. ", + "synopsis": "In der dienstältesten Krimireihe des deutschen Fernsehens gehen die unterschiedlichsten Ermittlertypen auf Verbrecherjagd. ", + "longSynopsis": "In der dienstältesten Krimireihe des deutschen Fernsehens gehen die unterschiedlichsten Ermittlertypen auf Verbrecherjagd. ", + "modificationDate": null, + "assetSource": null, + "categories": null, + "categoryIds": null, + "coreAssetType": "INFINITE_SERIES", + "coreId": "urn:ard:show:24a41843cd919fb8", + "groupingType": "SHOW", + "homepage": { + "id": null, + "title": "Tatort", + "href": "https://www.daserste.de/unterhaltung/krimi/tatort/index.html", + "type": null + }, + "hasSeasons": false, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "DGS", + "AD" + ], + "isChildContent": false + }, + "subtitled": true, + "titleVisible": true, + "trackingPiano": { + "teaser_content_type": "ondemand", + "teaser_id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtZWRmMTRhM2UtNmM3Ny00NGZhLTg1ZWYtYTJkYmZmNzM0NTg5", + "teaser_institution": "ARD", + "teaser_institution_id": "urn:ard:institution:453603d77920d274", + "teaser_title": "Spargelzeit (2010) (klare Sprache)" + }, + "type": "ondemand" + } + ], + "title": "Tatort", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhdG9ydA", + "widget_title": "Tatort", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_AD_DasErste.json b/src/test/resources/ard/ard_item_STD_AD_DasErste.json new file mode 100644 index 000000000..ebe70f803 --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_AD_DasErste.json @@ -0,0 +1,504 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "FSK12", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Folge 3: Die Bestechlichen (S05/E03)", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtMDhiNTM0OTAtN2VmMy00YTU4LTg0YTUtNTdmMTVmNGYwYWIx?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Folge 3: Die Bestechlichen (S05/E03)", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Folge 3: Die Bestechlichen (S05/E03)", + "mediaType": "video", + "lra": "Das Erste", + "channel": "Das Erste", + "show": "Mord mit Aussicht ", + "contentTypes": "UT", + "mediaDistributionType": 1, + "contentId": 13309263, + "metadataId": "crid://wdr.de/Beitrag-sophora-08b53490-7ef3-4a58-84a5-57f15f4f0ab1", + "clipLength": 2840 + }, + "chapter2": "Player", + "chapter3": "Mord mit Aussicht ", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Mord mit Aussicht /Folge 3: Die Bestechlichen (S05/E03)/13309263/20240430_1815", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:2da2fc7b79f58993", + "page_content_title": "Folge 3: Die Bestechlichen (S05/E03)", + "page_id": "player_ondemand-page-ard", + "page_institution": "Das Erste", + "page_institution_id": "urn:ard:institution:59ccb6ea77d75af5", + "page_publisher": "Das Erste", + "page_publisher_id": "urn:ard:publisher:a42e4291cd9eaf0b", + "page_show": "Mord mit Aussicht ", + "page_show_id": "urn:ard:show:2f97918e83660f77", + "page_title": "Folge 3: Die Bestechlichen (S05/E03)", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2025-05-28T18:15:00Z", + "binaryFeatures": [ + "UT", + "AD" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-04-30T18:15:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtMDhiNTM0OTAtN2VmMy00YTU4LTg0YTUtNTdmMTVmNGYwYWIx", + "image": { + "alt": "Jenny Dickel (Eva Bühnen, h.), Marie Gabler (Katharina Wackernagel, M.) und Heino Fuß (Sebastian Schwarz, v.) observieren Evi Schmadalla auf dem Hof von Kai Appel.", + "producerName": "ARD/Frank Dicks", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:745002c4c35c4413?w={width}&ch=4cd4b713f932a703", + "title": "Mord mit Aussicht (S05/E03) - Die Bestechlichen" + }, + "isChildContent": false, + "maturityContentRating": "FSK12", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "availableToDateTime": "2025-05-28T18:15:00Z", + "broadcastedOnDateTime": "2024-04-16T03:30:00Z", + "clipSourceName": "WDR", + "durationSeconds": 2840, + "images": [ + { + "alt": "Jenny Dickel (Eva Bühnen, h.), Marie Gabler (Katharina Wackernagel, M.) und Heino Fuß (Sebastian Schwarz, v.) observieren Evi Schmadalla auf dem Hof von Kai Appel.", + "aspectRatio": "16x9", + "imageSourceName": "ARD/Frank Dicks", + "kind": "preview", + "title": "Mord mit Aussicht (S05/E03) - Die Bestechlichen", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:745002c4c35c4413?w=960&ch=4cd4b713f932a703" + } + ], + "maturityContentRating": { + "age": 12, + "isBlocked": false, + "kind": "other" + }, + "publicationService": { + "id": "ard", + "name": "Das Erste", + "partner": "daserste" + }, + "seriesTitle": "Mord mit Aussicht ", + "synopsis": "Marie zögert noch bei Gisberts Angebot, zu ihm auf den Schweine-Hof zu ziehen. Willkommene Ablenkung bietet Marie eine Leiche im Heuballen auf Müller Schlichtings Wiese.\n\nDer Tote ist Albert Appel, der mit seinem Bruder Kai einen Bauernhof betreibt und außerdem Schiedsrichter der Regionalliga ist. Die Ermittlungen führen in die Welt des Fußballs und zweier rivalisierender Clubs. Das Auftauchen einer verängstigten jungen Bulgarin auf Gisberts Hof verkompliziert nicht nur den Fall, sondern auch die private Harmonie zwischen Gisbert und Marie.", + "title": "Folge 3: Die Bestechlichen" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtMDhiNTM0OTAtN2VmMy00YTU4LTg0YTUtNTdmMTVmNGYwYWIx" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13309263", + "length": "2840", + "nol_c0": "p0,0", + "nol_c10": "p10,Das Erste", + "nol_c12": "p12,Content", + "nol_c15": "p15,X005424422", + "nol_c16": "p16,", + "nol_c18": "p18,N", + "nol_c19": "p19,WDR", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://wdr.de/poc_import_4001396934_ganzeSendung", + "nol_c8": "p8,2840", + "nol_c9": "p9,Mord mit Aussicht _Folge 3: Die Bestechlichen_30.04.2024 18:15", + "program": "Mord mit Aussicht ", + "title": "Das Erste_Mord mit Aussicht _Folge 3: Die Bestechlichen_30.04.2024 18:15", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "2840", + "mediaLabel": "Folge 3: Die Bestechlichen__13309263__AD | UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Das Erste", + "mediaTheme2": "Das Erste", + "mediaTheme3": "Mord mit Aussicht ", + "mediaType": "video", + "playerId": "urn:ard:publication:2da2fc7b79f58993", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Folge 3: Die Bestechlichen", + "av_content_duration": 2840000, + "av_content_id": "urn:ard:publication:2da2fc7b79f58993", + "av_content_type": "video", + "av_institution": "Das Erste", + "av_institution_id": "urn:ard:institution:59ccb6ea77d75af5", + "av_publisher": "Das Erste", + "av_publisher_id": "urn:ard:publisher:a42e4291cd9eaf0b", + "av_show": "Mord mit Aussicht ", + "av_show_id": "urn:ard:show:2f97918e83660f77" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk12/310/3101569/,3101569_56955169,3101569_56955170,3101569_56955168,3101569_56955171,3101569_56955167,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955170.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955167.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955171.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_56955169.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101825.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk12/310/3101569/,3101569_57101825,3101569_57101826,3101569_57101824,3101569_57101827,3101569_57101823,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101826.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101827.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/weltweit/fsk12/310/3101569/3101569_57101823.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:a1d11ac623c7d120" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:a1d11ac623c7d120.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtMDhiNTM0OTAtN2VmMy00YTU4LTg0YTUtNTdmMTVmNGYwYWIx?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "Das Erste", + "logo": { + "title": "Logo Das Erste", + "alt": "Logo Das Erste", + "producerName": "Logo Das Erste", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "das_erste", + "id": "b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ", + "coreId": "urn:ard:publisher:a42e4291cd9eaf0b" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Folge 3: Die Bestechlichen (S05/E03)", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtMDhiNTM0OTAtN2VmMy00YTU4LTg0YTUtNTdmMTVmNGYwYWIx?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL3dkci5kZS9tb3JkIG1pdCBhdXNzaWNodA", + "title": "Mord mit Aussicht ", + "image": { + "alt": "Zwei Polizistinnen und ein Polizist stehen in einer grünen Szene, auf dem Bild der Schriftzug \"Mord mit Aussicht\"", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:7bf8f348c5406992?w={width}&ch=3fce2348c6a8a931", + "title": "Neues Sendungslogo Mord mit Aussicht" + }, + "availableSeasons": [ + "1", + "2", + "3", + "4", + "5" + ], + "binaryFeatures": [ + "UT", + "AD" + ], + "coreAssetType": "SEASON_SERIES" + }, + "synopsis": "Marie zögert noch bei Gisberts Angebot, zu ihm auf den Schweine-Hof zu ziehen. Willkommene Ablenkung bietet Marie eine Leiche im Heuballen auf Müller Schlichtings Wiese.\n\nDer Tote ist Albert Appel, der mit seinem Bruder Kai einen Bauernhof betreibt und außerdem Schiedsrichter der Regionalliga ist. Die Ermittlungen führen in die Welt des Fußballs und zweier rivalisierender Clubs. Das Auftauchen einer verängstigten jungen Bulgarin auf Gisberts Hof verkompliziert nicht nur den Fall, sondern auch die private Harmonie zwischen Gisbert und Marie.", + "title": "Folge 3: Die Bestechlichen (S05/E03)", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Folge 3: Die Bestechlichen (S05/E03)", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL3dkci5kZS9tb3JkIG1pdCBhdXNzaWNodA", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 68 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL3dkci5kZS9tb3JkIG1pdCBhdXNzaWNodA", + "urlId": "Y3JpZDovL3dkci5kZS9tb3JkIG1pdCBhdXNzaWNodA", + "title": "Mord mit Aussicht ", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL3dkci5kZS9tb3JkIG1pdCBhdXNzaWNodA?excludedAssetIds=Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtMDhiNTM0OTAtN2VmMy00YTU4LTg0YTUtNTdmMTVmNGYwYWIx&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "Mord mit Aussicht ", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL3dkci5kZS9tb3JkIG1pdCBhdXNzaWNodA", + "widget_title": "Mord mit Aussicht ", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_AD_MDR.json b/src/test/resources/ard/ard_item_STD_AD_MDR.json new file mode 100644 index 000000000..a0e7a1122 --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_AD_MDR.json @@ -0,0 +1,460 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "FSK0", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Reichsbahn-Oldies im Trend", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL21kci5kZS9zZW5kdW5nLzI4MjA0MC80NDYzNTUtNDI2Nzgy?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Reichsbahn-Oldies im Trend", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Reichsbahn-Oldies im Trend", + "mediaType": "video", + "lra": "MDR", + "channel": "MDR-Fernsehen", + "show": "Auf schmaler Spur", + "contentTypes": "UT", + "mediaDistributionType": 1, + "contentId": 13353889, + "metadataId": "crid://mdr.de/sendung/282040/446355-426782", + "clipLength": 1771 + }, + "chapter2": "Player", + "chapter3": "Auf schmaler Spur", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Auf schmaler Spur/Reichsbahn-Oldies im Trend/13353889/20240501_1120", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:33ebd0e3de3385e5", + "page_content_title": "Reichsbahn-Oldies im Trend", + "page_id": "player_ondemand-page-ard", + "page_institution": "MDR", + "page_institution_id": "urn:ard:institution:a8c3c85783443bee", + "page_publisher": "MDR-Fernsehen", + "page_publisher_id": "urn:ard:publisher:45fc99e7d133eb64", + "page_show": "Auf schmaler Spur", + "page_show_id": "urn:ard:show:584e22ba5174ebfc", + "page_title": "Reichsbahn-Oldies im Trend", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2025-05-01T10:35:00Z", + "binaryFeatures": [ + "UT", + "AD" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-05-01T11:20:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL21kci5kZS9zZW5kdW5nLzI4MjA0MC80NDYzNTUtNDI2Nzgy", + "image": { + "alt": "Auf schmaler Spur: Reichsbahn-Oldies im Trend", + "producerName": "MITTELDEUTSCHER RUNDFUNK", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c7b6ecdc8f0e05b5?w={width}&ch=25beab5c724ed687", + "title": "Auf schmaler Spur: Reichsbahn-Oldies im Trend" + }, + "isChildContent": false, + "maturityContentRating": "FSK0", + "mediaCollection": { + "embedded": { + "isGeoBlocked": true, + "meta": { + "availableToDateTime": "2025-05-01T10:35:00Z", + "broadcastedOnDateTime": "2023-05-18T11:50:00Z", + "clipSourceName": "MDR", + "durationSeconds": 1771, + "images": [ + { + "alt": "Auf schmaler Spur: Reichsbahn-Oldies im Trend", + "aspectRatio": "16x9", + "imageSourceName": "MITTELDEUTSCHER RUNDFUNK", + "kind": "preview", + "title": "Auf schmaler Spur: Reichsbahn-Oldies im Trend", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c7b6ecdc8f0e05b5?w=960&ch=25beab5c724ed687" + } + ], + "maturityContentRating": { + "age": 0, + "isBlocked": false, + "kind": "other" + }, + "publicationService": { + "id": "ard", + "name": "MDR-Fernsehen", + "partner": "mdr" + }, + "seriesTitle": "Auf schmaler Spur", + "synopsis": "Mit gerade mal 27 Jahren ist Tobias Sambill Geschäftsführer des „Salzland Railservice“ in Bernburg. Seine Geschäftsidee: Er betreibt Güterverkehr mit alten Reichsbahnloks und ist ganz verrückt nach „Ludmilla“, Baujahr 1974, 3.000 PS Leistung. Ludmilla ist der Spitzname für Dieselloks der Baureihe 130, die ab 1970 aus der Sowjetunion zur Reichsbahn kamen.\n\nAuch in Löbau ist der Nachwuchs schon in der Verantwortung. Max und Phillip, Mitte 20, sind bei den Ostsächsischen Eisenbahnfreunden Heizer auf der Dampflok. Ihre fast 80 Jahre alte Lok der Baureihe 52 hat im Dampflokwerk Meiningen eine Generalüberholung bekommen. Nun soll sie zurück in die Lausitz. Max und Phillip sind bei der Überführung dabei und wollen ihre erste große Bewährungsprobe meistern.\n\nAuch in der Modellbahnszene gehören die 52er Dampfloks und die Ludmillas zu den besonders liebevoll gepflegten Exemplaren. Frank Jachmann und seine Mitstreiter vom Eisenbahnclub Leinefelde lassen zudem auf ihrer riesigen Anlage besonders lange Züge fahren, detailgetreu zusammengestellt wie zu Reichsbahn-Zeiten. \nDer Generationenwechsel ist da: Rund um junge Eisenbahnerinnen und Eisenbahner erzählen wir die Geschichte der Lokomotiven, die aus dem Verkehr der Reichsbahn nicht wegzudenken waren. Und wie sie nun die Herzen von jungen Menschen erobern – an der Strecke und auf dem Führerstand.", + "title": "Reichsbahn-Oldies im Trend" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL21kci5kZS9zZW5kdW5nLzI4MjA0MC80NDYzNTUtNDI2Nzgy" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13353889", + "length": "1771", + "nol_c0": "p0,0", + "nol_c10": "p10,MDR-Fernsehen", + "nol_c12": "p12,Content", + "nol_c15": "p15,430/24/002.854.787", + "nol_c16": "p16,ARD_Sonstiges", + "nol_c18": "p18,N", + "nol_c19": "p19,MDR", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://mdr.de/sendung/282040/446355-426782", + "nol_c8": "p8,1771", + "nol_c9": "p9,Auf schmaler Spur_Reichsbahn-Oldies im Trend_01.05.2024 11:20", + "program": "Auf schmaler Spur", + "title": "MDR-Fernsehen_Auf schmaler Spur_Reichsbahn-Oldies im Trend_01.05.2024 11:20", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "1771", + "mediaLabel": "Reichsbahn-Oldies im Trend__13353889__AD | UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Mitteldeutscher Rundfunk", + "mediaTheme2": "MDR-Fernsehen", + "mediaTheme3": "Auf schmaler Spur", + "mediaType": "video", + "playerId": "urn:ard:publication:33ebd0e3de3385e5", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Reichsbahn-Oldies im Trend", + "av_content_duration": 1771000, + "av_content_id": "urn:ard:publication:33ebd0e3de3385e5", + "av_content_type": "video", + "av_institution": "MDR", + "av_institution_id": "urn:ard:institution:a8c3c85783443bee", + "av_publisher": "MDR-Fernsehen", + "av_publisher_id": "urn:ard:publisher:45fc99e7d133eb64", + "av_show": "Auf schmaler Spur", + "av_show_id": "urn:ard:show:584e22ba5174ebfc" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://odgeomdr-a.akamaihd.net/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-41dd60577440_a6.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://mdrgeohls-vh.akamaihd.net/i/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-,41dd60577440,730aae549c28,be7c2950aac6,39c393010ca9,_a6.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://odgeomdr-a.akamaihd.net/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-730aae549c28_a6.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://odgeomdr-a.akamaihd.net/mp4dyn2/a/FCMS-a66d00f7-05d6-4280-8dbe-9c81a47c8667-be7c2950aac6_a6.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://odgeomdr-a.akamaihd.net/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-730aae549c28_25.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://odgeomdr-a.akamaihd.net/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-be7c2950aac6_25.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://odgeomdr-a.akamaihd.net/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-41dd60577440_25.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://mdrgeohls-vh.akamaihd.net/i/mp4dyn2/2/FCMS-25d93e81-d91a-40f7-92a7-90b28b675943-,41dd60577440,730aae549c28,be7c2950aac6,39c393010ca9,_25.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:7d1c01087f8cae77" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:7d1c01087f8cae77.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL21kci5kZS9zZW5kdW5nLzI4MjA0MC80NDYzNTUtNDI2Nzgy?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "MDR-Fernsehen", + "logo": { + "title": "Logo MDR-Fernsehen", + "alt": "Logo MDR-Fernsehen", + "producerName": "Logo MDR-Fernsehen", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "mdr", + "id": "b3JnYW5pemF0aW9uX01EUg", + "coreId": "urn:ard:publisher:45fc99e7d133eb64" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Reichsbahn-Oldies im Trend", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL21kci5kZS9zZW5kdW5nLzI4MjA0MC80NDYzNTUtNDI2Nzgy?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL21kci5kZS9zZW5kZXJlaWhlbi8yMDBhMThlMC0yY2EzLTQ1MzktOGY1Zi0zN2VhY2UzNDE3ZWI", + "title": "Auf schmaler Spur", + "image": { + "alt": "Sendungslogo Auf schmaler Spur", + "producerName": "MITTELDEUTSCHER RUNDFUNK", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:f79a82428b4ef483?w={width}&ch=55141de2d1f1caf6", + "title": "Auf schmaler Spur - Sendereihenbild" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "AD" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Mit gerade mal 27 Jahren ist Tobias Sambill Geschäftsführer des „Salzland Railservice“ in Bernburg. Seine Geschäftsidee: Er betreibt Güterverkehr mit alten Reichsbahnloks und ist ganz verrückt nach „Ludmilla“, Baujahr 1974, 3.000 PS Leistung. Ludmilla ist der Spitzname für Dieselloks der Baureihe 130, die ab 1970 aus der Sowjetunion zur Reichsbahn kamen.\n\nAuch in Löbau ist der Nachwuchs schon in der Verantwortung. Max und Phillip, Mitte 20, sind bei den Ostsächsischen Eisenbahnfreunden Heizer auf der Dampflok. Ihre fast 80 Jahre alte Lok der Baureihe 52 hat im Dampflokwerk Meiningen eine Generalüberholung bekommen. Nun soll sie zurück in die Lausitz. Max und Phillip sind bei der Überführung dabei und wollen ihre erste große Bewährungsprobe meistern.\n\nAuch in der Modellbahnszene gehören die 52er Dampfloks und die Ludmillas zu den besonders liebevoll gepflegten Exemplaren. Frank Jachmann und seine Mitstreiter vom Eisenbahnclub Leinefelde lassen zudem auf ihrer riesigen Anlage besonders lange Züge fahren, detailgetreu zusammengestellt wie zu Reichsbahn-Zeiten. \nDer Generationenwechsel ist da: Rund um junge Eisenbahnerinnen und Eisenbahner erzählen wir die Geschichte der Lokomotiven, die aus dem Verkehr der Reichsbahn nicht wegzudenken waren. Und wie sie nun die Herzen von jungen Menschen erobern – an der Strecke und auf dem Führerstand.", + "title": "Reichsbahn-Oldies im Trend", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Reichsbahn-Oldies im Trend", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL21kci5kZS9zZW5kZXJlaWhlbi8yMDBhMThlMC0yY2EzLTQ1MzktOGY1Zi0zN2VhY2UzNDE3ZWI", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 11 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL21kci5kZS9zZW5kZXJlaWhlbi8yMDBhMThlMC0yY2EzLTQ1MzktOGY1Zi0zN2VhY2UzNDE3ZWI", + "urlId": "Y3JpZDovL21kci5kZS9zZW5kZXJlaWhlbi8yMDBhMThlMC0yY2EzLTQ1MzktOGY1Zi0zN2VhY2UzNDE3ZWI", + "title": "Auf schmaler Spur", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL21kci5kZS9zZW5kZXJlaWhlbi8yMDBhMThlMC0yY2EzLTQ1MzktOGY1Zi0zN2VhY2UzNDE3ZWI?excludedAssetIds=Y3JpZDovL21kci5kZS9zZW5kdW5nLzI4MjA0MC80NDYzNTUtNDI2Nzgy&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "Auf schmaler Spur", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL21kci5kZS9zZW5kZXJlaWhlbi8yMDBhMThlMC0yY2EzLTQ1MzktOGY1Zi0zN2VhY2UzNDE3ZWI", + "widget_title": "Auf schmaler Spur", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_AD_SWR.json b/src/test/resources/ard/ard_item_STD_AD_SWR.json new file mode 100644 index 000000000..862ddb19d --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_AD_SWR.json @@ -0,0 +1,482 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "FSK0", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3N3ci5kZS9hZXgvbzIwMjk3MzY?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "mediaType": "video", + "lra": "SWR", + "channel": "SWR", + "show": "Traumziele", + "contentTypes": "", + "mediaDistributionType": 1, + "contentId": 13288709, + "metadataId": "crid://swr.de/aex/o2029736", + "clipLength": 2635 + }, + "chapter2": "Player", + "chapter3": "Traumziele", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Traumziele/Im Herzen Italiens - Von den Abruzzen nach Kalabrien/13288709/20240501_1215", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:74bb0ec9016ff8a5", + "page_content_title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "page_id": "player_ondemand-page-ard", + "page_institution": "SWR", + "page_institution_id": "urn:ard:institution:a3004ff924ece1a2", + "page_publisher": "SWR", + "page_publisher_id": "urn:ard:publisher:6478b1e3557817e3", + "page_show": "Traumziele", + "page_show_id": "urn:ard:show:f8bbf1ada8504543", + "page_title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2024-05-29T14:00:00Z", + "binaryFeatures": [ + "AD" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-05-01T12:15:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL3N3ci5kZS9hZXgvbzIwMjk3MzY", + "image": { + "alt": "Wilde Pferde in den Bergen des Apennin. In in diesem Teil Italiens gibt es noch zahlreiche archaische Landschaften.", + "producerName": "SWR, Berlin Producers Media/Gero von Schneider-Marientreu", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:66948bb89532aeb3?w={width}&ch=e65949c85ee2c39d", + "title": "Wilde Pferde in den Bergen des Apennin. In in diesem Teil Italiens gibt es noch zahlreiche archaische Landschaften." + }, + "isChildContent": false, + "maturityContentRating": "FSK0", + "mediaCollection": { + "embedded": { + "isGeoBlocked": true, + "meta": { + "availableToDateTime": "2024-05-29T14:00:00Z", + "broadcastedOnDateTime": "2024-04-30T14:00:00Z", + "clipSourceName": "10804", + "durationSeconds": 2635, + "images": [ + { + "alt": "Wilde Pferde in den Bergen des Apennin. In in diesem Teil Italiens gibt es noch zahlreiche archaische Landschaften.", + "aspectRatio": "16x9", + "imageSourceName": "SWR, Berlin Producers Media/Gero von Schneider-Marientreu", + "kind": "preview", + "title": "Wilde Pferde in den Bergen des Apennin. In in diesem Teil Italiens gibt es noch zahlreiche archaische Landschaften.", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:66948bb89532aeb3?w=960&ch=e65949c85ee2c39d" + } + ], + "maturityContentRating": { + "age": 0, + "isBlocked": false, + "kind": "other" + }, + "publicationService": { + "id": "ard", + "name": "SWR", + "partner": "swr" + }, + "seriesTitle": "Traumziele", + "synopsis": "Der Apennin ist das Rückgrat und die Seele Italiens. Orte voller Geschichte und wilde Natur prägen das Land.", + "title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL3N3ci5kZS9hZXgvbzIwMjk3MzY" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13288709", + "length": "2635", + "nol_c0": "p0,0", + "nol_c10": "p10,SWR", + "nol_c12": "p12,Content", + "nol_c15": "p15,4314471817812", + "nol_c16": "p16,ARD_Information", + "nol_c18": "p18,N", + "nol_c19": "p19,10804", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://swr.de/aex/o2029736", + "nol_c8": "p8,2635", + "nol_c9": "p9,Traumziele_Im Herzen Italiens - Von den Abruzzen nach Kalabrien_01.05.2024 12:15", + "program": "Traumziele", + "title": "SWR_Traumziele_Im Herzen Italiens - Von den Abruzzen nach Kalabrien_01.05.2024 12:15", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "2635", + "mediaLabel": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien__13288709__AD", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Südwestrundfunk", + "mediaTheme2": "SWR", + "mediaTheme3": "Traumziele", + "mediaType": "video", + "playerId": "urn:ard:publication:74bb0ec9016ff8a5", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "av_content_duration": 2635000, + "av_content_id": "urn:ard:publication:74bb0ec9016ff8a5", + "av_content_type": "video", + "av_institution": "SWR", + "av_institution_id": "urn:ard:institution:a3004ff924ece1a2", + "av_publisher": "SWR", + "av_publisher_id": "urn:ard:publisher:6478b1e3557817e3", + "av_show": "Traumziele", + "av_show_id": "urn:ard:show:f8bbf1ada8504543" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.xl.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.xxl.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.l.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.ml.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://av-adaptive.swr.de/i/swrfernsehen/geo/de/traumziele/2029736,.sm,.ml,.l,.xl,.xxl,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.xl.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://av-adaptive.swr.de/i/swrfernsehen/geo/de/traumziele/2029736.audio_description,.sm,.ml,.l,.xl,.xxl,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.ml.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.xxl.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "audio-description", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/traumziele/2029736.audio_description.l.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL3N3ci5kZS9hZXgvbzIwMjk3MzY?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "SWR", + "logo": { + "title": "Logo SWR", + "alt": "Logo SWR", + "producerName": "Logo SWR", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "swr", + "id": "b3JnYW5pemF0aW9uX1NXUg", + "coreId": "urn:ard:publisher:6478b1e3557817e3" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL3N3ci5kZS9hZXgvbzIwMjk3MzY?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL3N3ci5kZS9zZGIvc3RJZC8xMzQ2", + "title": "Traumziele", + "image": { + "alt": "Sendungssignet \"Traumziele\"", + "producerName": "SWR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:af6c5760727f0cb0?w={width}&ch=9f816f887ce828f6", + "title": "Sendungssignet \"Traumziele\"" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "AD" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Der Apennin ist das Rückgrat und die Seele Italiens. Orte voller Geschichte und wilde Natur prägen das Land.", + "title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Im Herzen Italiens - Von den Abruzzen nach Kalabrien", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL3N3ci5kZS9zZGIvc3RJZC8xMzQ2", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 64 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL3N3ci5kZS9zZGIvc3RJZC8xMzQ2", + "urlId": "Y3JpZDovL3N3ci5kZS9zZGIvc3RJZC8xMzQ2", + "title": "Traumziele", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL3N3ci5kZS9zZGIvc3RJZC8xMzQ2?excludedAssetIds=Y3JpZDovL3N3ci5kZS9hZXgvbzIwMjk3MzY&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "Traumziele", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL3N3ci5kZS9zZGIvc3RJZC8xMzQ2", + "widget_title": "Traumziele", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_BR.json b/src/test/resources/ard/ard_item_STD_BR.json new file mode 100644 index 000000000..a29b90722 --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_BR.json @@ -0,0 +1,508 @@ +{ + "coreAssetType": "SECTION", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Van-Urlaub für 1 Euro: Wie geht das?", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2JyLmRlL3ZpZGVvLzE5NzEyZjU2LTY4NGYtNGJiYS05NWFhLWFlNWE2MzMxZDY3Yg?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Van-Urlaub für 1 Euro: Wie geht das?", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Van-Urlaub für 1 Euro: Wie geht das.", + "mediaType": "video", + "lra": "BR", + "channel": "BR.de", + "show": "PULS Reportage", + "contentTypes": "", + "mediaDistributionType": 1, + "contentId": 13365267, + "metadataId": "crid://br.de/video/19712f56-684f-4bba-95aa-ae5a6331d67b", + "clipLength": 1247 + }, + "chapter2": "Player", + "chapter3": "PULS Reportage", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/PULS Reportage/Van-Urlaub für 1 Euro: Wie geht das./13365267/20240501_1300", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:a7bc130881fcf351", + "page_content_title": "Van-Urlaub für 1 Euro: Wie geht das?", + "page_id": "player_ondemand-page-ard", + "page_institution": "BR", + "page_institution_id": "urn:ard:institution:95a02eb6cc4f3d59", + "page_publisher": "BR.de", + "page_publisher_id": "urn:ard:publisher:98144fe10248e510", + "page_show": "PULS Reportage", + "page_show_id": "urn:ard:show:2d0602cd86c69825", + "page_title": "Van-Urlaub für 1 Euro: Wie geht das?", + "site": "634408" + }, + "widgets": [ + { + "availableTo": null, + "binaryFeatures": [], + "blockedByFsk": false, + "broadcastedOn": "2024-05-01T13:00:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL2JyLmRlL3ZpZGVvLzE5NzEyZjU2LTY4NGYtNGJiYS05NWFhLWFlNWE2MzMxZDY3Yg", + "image": { + "alt": "Leah Nlemibe | Bild: BR", + "producerName": "BR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:6fb44d066ad5c033?w={width}&ch=287b98dffb1766db", + "title": "Van-Urlaub für 1 Euro: Wie geht das?" + }, + "isChildContent": false, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "broadcastedOnDateTime": "2024-05-01T13:30:38.121Z", + "clipSourceName": "© Bayerischer Rundfunk", + "durationSeconds": 1247, + "images": [ + { + "alt": "Leah Nlemibe | Bild: BR", + "aspectRatio": "16x9", + "imageSourceName": "BR", + "kind": "preview", + "title": "Van-Urlaub für 1 Euro: Wie geht das?", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:7d26c02018c00f2a?w=960&ch=e94b4b000f00480f" + } + ], + "publicationService": { + "id": "ard", + "name": "BR.de", + "partner": "br" + }, + "synopsis": "Bei einer Relocation kann man sich für 1 Euro einen Mietwagen ausleihen und muss ihn dafür nur pünktlich zum nächsten Abholort bringen. Leah mietet sich einen Luxus-Van, mit dem sie in drei Tagen nach Italien fährt: Taugt's wirklich als Urlaub?", + "title": "Van-Urlaub für 1 Euro: Wie geht das?" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL2JyLmRlL3ZpZGVvLzE5NzEyZjU2LTY4NGYtNGJiYS05NWFhLWFlNWE2MzMxZDY3Yg" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13365267", + "length": "1247", + "nol_c0": "p0,666", + "nol_c10": "p10,BR.de", + "nol_c12": "p12,Content", + "nol_c15": "p15,", + "nol_c16": "p16,", + "nol_c18": "p18,N", + "nol_c19": "p19,© Bayerischer Rundfunk", + "nol_c2": "p2,Y", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://br.de/video/19712f56-684f-4bba-95aa-ae5a6331d67b", + "nol_c8": "p8,1247", + "nol_c9": "p9,PULS Reportage_Van-Urlaub für 1 Euro: Wie geht das?_01.05.2024 13:30", + "program": "PULS Reportage", + "title": "BR.de_PULS Reportage_Van-Urlaub für 1 Euro: Wie geht das?_01.05.2024 13:30", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "1247", + "mediaLabel": "Van-Urlaub für 1 Euro: Wie geht das__13365267__", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Bayerischer Rundfunk", + "mediaTheme2": "BR.de", + "mediaTheme3": "PULS Reportage", + "mediaType": "video", + "playerId": "urn:ard:publication:a7bc130881fcf351", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Van-Urlaub für 1 Euro: Wie geht das?", + "av_content_duration": 1247000, + "av_content_id": "urn:ard:publication:a7bc130881fcf351", + "av_content_type": "video", + "av_institution": "BR", + "av_institution_id": "urn:ard:institution:95a02eb6cc4f3d59", + "av_publisher": "BR.de", + "av_publisher_id": "urn:ard:publisher:98144fe10248e510", + "av_show": "PULS Reportage", + "av_show_id": "urn:ard:show:2d0602cd86c69825" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_E.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_HD.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://br-i.akamaihd.net/i/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_,X,A,C,E,HD,.mp4.csmil/master.m3u8?__b__=200", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_C.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://cdn-storage.br.de/MUJIuUOVBwQIbtCCBLzGiLC1uwQoNA4p_29S/_-OS/_2Ff5y4f9K1S/19712f56-684f-4bba-95aa-ae5a6331d67b_X.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL2JyLmRlL3ZpZGVvLzE5NzEyZjU2LTY4NGYtNGJiYS05NWFhLWFlNWE2MzMxZDY3Yg?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "BR.de", + "logo": { + "title": "Logo BR.de", + "alt": "Logo BR.de", + "producerName": "Logo BR.de", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "br", + "id": "b3JnYW5pemF0aW9uX0JS", + "coreId": "urn:ard:publisher:98144fe10248e510" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Van-Urlaub für 1 Euro: Wie geht das?", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL2JyLmRlL3ZpZGVvLzE5NzEyZjU2LTY4NGYtNGJiYS05NWFhLWFlNWE2MzMxZDY3Yg?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy83NWY0MDIwYS04ZjU3LTQ4ZmMtYTVlNS1lZjY3NTY2YjM0MDA", + "title": "PULS Reportage", + "image": { + "alt": "Sendereihenbild \"PULS Reportage\" | Bild: BR/ Marc Seibold", + "producerName": "BR/ Marc Seibold", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:88e0393c7f64f0be?w={width}&ch=7acb95d04efb4b32", + "title": "PULS Reportage" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Bei einer Relocation kann man sich für 1 Euro einen Mietwagen ausleihen und muss ihn dafür nur pünktlich zum nächsten Abholort bringen. Leah mietet sich einen Luxus-Van, mit dem sie in drei Tagen nach Italien fährt: Taugt's wirklich als Urlaub?", + "title": "Van-Urlaub für 1 Euro: Wie geht das?", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Van-Urlaub für 1 Euro: Wie geht das?", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy83NWY0MDIwYS04ZjU3LTQ4ZmMtYTVlNS1lZjY3NTY2YjM0MDA", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 532 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy83NWY0MDIwYS04ZjU3LTQ4ZmMtYTVlNS1lZjY3NTY2YjM0MDA", + "urlId": "Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy83NWY0MDIwYS04ZjU3LTQ4ZmMtYTVlNS1lZjY3NTY2YjM0MDA", + "title": "PULS Reportage", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy83NWY0MDIwYS04ZjU3LTQ4ZmMtYTVlNS1lZjY3NTY2YjM0MDA?excludedAssetIds=Y3JpZDovL2JyLmRlL3ZpZGVvLzE5NzEyZjU2LTY4NGYtNGJiYS05NWFhLWFlNWE2MzMxZDY3Yg&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [ + { + "availableTo": null, + "binaryFeatures": [], + "broadcastedOn": "2024-04-24T13:00:00Z", + "coreAssetType": "SECTION", + "duration": 1186, + "id": "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "images": { + "aspect16x9": { + "alt": "Sebastian Meinberg | Bild: BR", + "producerName": "BR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:b4fd84428a3b4ce9?w={width}&ch=2b6603d5872cd3f4", + "title": "Reich werden mit KI?!" + } + }, + "isChildContent": false, + "longTitle": "Reich werden mit KI?!", + "maturityContentRating": "NONE", + "mediumTitle": "Reich werden mit KI?!", + "personalized": false, + "playtime": null, + "publicationService": { + "name": "BR.de", + "logo": { + "title": "Logo BR.de", + "alt": "Logo BR.de", + "producerName": "Logo BR.de", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "br", + "id": "b3JnYW5pemF0aW9uX0JS", + "coreId": "urn:ard:publisher:98144fe10248e510" + }, + "links": { + "self": { + "id": "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "urlId": "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "title": "Reich werden mit KI?!", + "href": "https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "type": "application/vnd.ard.teaser+json", + "partner": "ard" + }, + "target": { + "id": "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "urlId": "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "title": "Reich werden mit KI?!", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw?devicetype=pc&embedded=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "shortTitle": "Reich werden mit KI?!", + "show": { + "id": "crid://br.de/broadcastSeries/75f4020a-8f57-48fc-a5e5-ef67566b3400", + "coremediaId": 14913810, + "title": "PULS Reportage", + "publisher": { + "name": "BR.de", + "logo": { + "title": "Logo BR.de", + "alt": "Logo BR.de", + "producerName": "Logo BR.de", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "br", + "id": "b3JnYW5pemF0aW9uX0JS", + "coreId": "urn:ard:publisher:98144fe10248e510" + }, + "self": null, + "images": { + "16x9": { + "title": "PULS Reportage", + "alt": "Sendereihenbild \"PULS Reportage\" | Bild: BR/ Marc Seibold", + "producerName": "BR/ Marc Seibold", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:88e0393c7f64f0be?w={width}&ch=7acb95d04efb4b32", + "aspectRatio": "16x9" + }, + "16x7": { + "title": "PULS Reportage", + "alt": "Sendereihenbild \"PULS Reportage\" | Bild: BR/ Marc Seibold", + "producerName": "BR/ Marc Seibold", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:3f2df381ef21d401?w={width}&ch=b01b9b672a844ae9", + "aspectRatio": "16x7" + }, + "1x1": { + "title": "PULS Reportage", + "alt": "Sendereihenbild \"PULS Reportage\" | Bild: BR/ Marc Seibold", + "producerName": "BR/ Marc Seibold", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:8e0eeebd59340efe?w={width}&ch=f8da88c4b6f563f9", + "aspectRatio": "1x1" + } + }, + "shortSynopsis": "Wir sind Kevin Ebert, Ariane Alter, Sebastian Meinberg und Leah Nlemibe von PULS Reportage. Wir probieren aus, was euch bewegt! Jeden Mittwoch um 15 Uhr gibt’s hier eine neue Reportage.", + "synopsis": "Wir sind Kevin Ebert, Ariane Alter, Sebastian Meinberg und Leah Nlemibe von PULS Reportage. Wir probieren aus, was euch bewegt! Jeden Mittwoch um 15 Uhr gibt’s hier eine neue Reportage.", + "longSynopsis": "Wir sind Kevin Ebert, Ariane Alter, Sebastian Meinberg und Leah Nlemibe von PULS Reportage. Wir probieren aus, was euch bewegt! Jeden Mittwoch um 15 Uhr gibt’s hier eine neue Reportage.", + "modificationDate": null, + "assetSource": null, + "categories": null, + "categoryIds": null, + "coreAssetType": "INFINITE_SERIES", + "coreId": "urn:ard:show:2d0602cd86c69825", + "groupingType": "SHOW", + "homepage": { + "id": null, + "title": "PULS Reportage", + "href": "http://www.br.de/puls/tv/puls/index.html", + "type": null + }, + "hasSeasons": false, + "availableSeasons": null, + "binaryFeatures": [ + "UT" + ], + "isChildContent": false + }, + "subtitled": false, + "titleVisible": true, + "trackingPiano": { + "teaser_content_type": "ondemand", + "teaser_id": "Y3JpZDovL2JyLmRlL3ZpZGVvLzkwZTA1Y2Y5LTA4ZDEtNGU4Zi1iNTQyLWNiYjIyYzcyZDA0Mw", + "teaser_institution": "ARD", + "teaser_institution_id": "urn:ard:institution:453603d77920d274", + "teaser_title": "Reich werden mit KI?!" + }, + "type": "ondemand" + } + ], + "title": "PULS Reportage", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy83NWY0MDIwYS04ZjU3LTQ4ZmMtYTVlNS1lZjY3NTY2YjM0MDA", + "widget_title": "PULS Reportage", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_DasErste.json b/src/test/resources/ard/ard_item_STD_DasErste.json new file mode 100644 index 000000000..27c53125e --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_DasErste.json @@ -0,0 +1,541 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "tagesschau 11:10 Uhr, 01.05.2024", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvYTJhZTNhNGYtNmE1NS00ZmQ1LTlkOWUtZDEwMTJjOTNiYTBjX2dhbnplU2VuZHVuZw?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "tagesschau 11:10 Uhr, 01.05.2024", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "tagesschau 11:10 Uhr, 01.05.2024", + "mediaType": "video", + "lra": "Das Erste", + "channel": "Das Erste", + "show": "tagesschau", + "contentTypes": "UT", + "mediaDistributionType": 1, + "contentId": 13364999, + "metadataId": "crid://tagesschau.de/a2ae3a4f-6a55-4fd5-9d9e-d1012c93ba0c_ganzeSendung", + "clipLength": 306 + }, + "chapter2": "Player", + "chapter3": "tagesschau", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/tagesschau/tagesschau 11:10 Uhr, 01.05.2024/13364999/20240501_0910", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:056362c04b1adc91", + "page_content_title": "tagesschau 11:10 Uhr, 01.05.2024", + "page_id": "player_ondemand-page-ard", + "page_institution": "Das Erste", + "page_institution_id": "urn:ard:institution:59ccb6ea77d75af5", + "page_publisher": "Das Erste", + "page_publisher_id": "urn:ard:publisher:a42e4291cd9eaf0b", + "page_show": "tagesschau", + "page_show_id": "urn:ard:show:5b43cccc3d987b41", + "page_title": "tagesschau 11:10 Uhr, 01.05.2024", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2024-05-08T09:23:08.362Z", + "binaryFeatures": [ + "UT" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-05-01T09:10:00Z", + "embeddable": true, + "geoblocked": false, + "id": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvYTJhZTNhNGYtNmE1NS00ZmQ1LTlkOWUtZDEwMTJjOTNiYTBjX2dhbnplU2VuZHVuZw", + "image": { + "alt": "Sendungsbild", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:bbd68d148bf21f20?w={width}&ch=cd3e7e52a4a157d5", + "title": "Sendungsbild" + }, + "isChildContent": false, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "availableToDateTime": "2024-05-08T09:23:08.362Z", + "broadcastedOnDateTime": "2024-05-01T09:10:00Z", + "clipSourceName": "Das Erste", + "durationSeconds": 306, + "images": [ + { + "alt": "Sendungsbild", + "aspectRatio": "16x9", + "imageSourceName": "ARD-aktuell", + "kind": "preview", + "title": "Sendungsbild", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:bbd68d148bf21f20?w=960&ch=cd3e7e52a4a157d5" + } + ], + "publicationService": { + "id": "ard", + "name": "Das Erste", + "partner": "daserste" + }, + "seriesTitle": "tagesschau", + "synopsis": "Bundesweit Kundgebungen zum Tag der Arbeit für bessere Arbeitsbedingungen, Bereits erste Demonstrationen in Berlin und Hamburg, Polizei in Georgiens Hauptstadt Tiflis geht massiv gegen pro-europäische Demonstranten vor, US-Einsatzkräfte räumen mit Großaufgebot besetztes Gebäude der Columbia Universität in New York, US-Bestsellerautor Paul Auster stirbt im Alter von 77 Jahren, Walpurgisnacht im Harz, Das Wetter", + "title": "tagesschau 11:10 Uhr, 01.05.2024" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvYTJhZTNhNGYtNmE1NS00ZmQ1LTlkOWUtZDEwMTJjOTNiYTBjX2dhbnplU2VuZHVuZw" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13364999", + "length": "306", + "nol_c0": "p0,0", + "nol_c10": "p10,Das Erste", + "nol_c12": "p12,Content", + "nol_c15": "p15,X005417917", + "nol_c16": "p16,ARD_Information", + "nol_c18": "p18,N", + "nol_c19": "p19,Das Erste", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://tagesschau.de/a2ae3a4f-6a55-4fd5-9d9e-d1012c93ba0c_ganzeSendung", + "nol_c8": "p8,306", + "nol_c9": "p9,tagesschau_tagesschau 11:10 Uhr, 01.05.2024_01.05.2024 09:10", + "program": "tagesschau", + "title": "Das Erste_tagesschau_tagesschau 11:10 Uhr, 01.05.2024_01.05.2024 09:10", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "306", + "mediaLabel": "tagesschau 11:10 Uhr, 01.05.2024__13364999__UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Das Erste", + "mediaTheme2": "Das Erste", + "mediaTheme3": "tagesschau", + "mediaType": "video", + "playerId": "urn:ard:publication:056362c04b1adc91", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "tagesschau 11:10 Uhr, 01.05.2024", + "av_content_duration": 306000, + "av_content_id": "urn:ard:publication:056362c04b1adc91", + "av_content_type": "video", + "av_institution": "Das Erste", + "av_institution_id": "urn:ard:institution:59ccb6ea77d75af5", + "av_publisher": "Das Erste", + "av_publisher_id": "urn:ard:publisher:a42e4291cd9eaf0b", + "av_show": "tagesschau", + "av_show_id": "urn:ard:show:5b43cccc3d987b41" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webl.h264.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webm.h264.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webxxl.h264.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://adaptive.tagesschau.de/i/video/2024/0501/TV-20240501-1117-3700,.webm.h264.mp4,.webxxl.h264.mp4,.webxl.h264.mp4,.webl.h264.mp4,.webs.h264.mp4,.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://media.tagesschau.de/video/2024/0501/TV-20240501-1117-3700.webxl.h264.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:c09c9cee3bf53db8" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:c09c9cee3bf53db8.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvYTJhZTNhNGYtNmE1NS00ZmQ1LTlkOWUtZDEwMTJjOTNiYTBjX2dhbnplU2VuZHVuZw?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "Das Erste", + "logo": { + "title": "Logo Das Erste", + "alt": "Logo Das Erste", + "producerName": "Logo Das Erste", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "das_erste", + "id": "b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ", + "coreId": "urn:ard:publisher:a42e4291cd9eaf0b" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "tagesschau 11:10 Uhr, 01.05.2024", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvYTJhZTNhNGYtNmE1NS00ZmQ1LTlkOWUtZDEwMTJjOTNiYTBjX2dhbnplU2VuZHVuZw?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", + "title": "tagesschau", + "image": { + "alt": "Sendungsbild der tagesschau", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c94583f063e6f8c0?w={width}&ch=4c0812e9bf3625ec", + "title": "Sendungsbild der tagesschau" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Bundesweit Kundgebungen zum Tag der Arbeit für bessere Arbeitsbedingungen, Bereits erste Demonstrationen in Berlin und Hamburg, Polizei in Georgiens Hauptstadt Tiflis geht massiv gegen pro-europäische Demonstranten vor, US-Einsatzkräfte räumen mit Großaufgebot besetztes Gebäude der Columbia Universität in New York, US-Bestsellerautor Paul Auster stirbt im Alter von 77 Jahren, Walpurgisnacht im Harz, Das Wetter", + "title": "tagesschau 11:10 Uhr, 01.05.2024", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "tagesschau 11:10 Uhr, 01.05.2024", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 3872 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", + "urlId": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", + "title": "tagesschau", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU?excludedAssetIds=Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvYTJhZTNhNGYtNmE1NS00ZmQ1LTlkOWUtZDEwMTJjOTNiYTBjX2dhbnplU2VuZHVuZw&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [ + { + "availableTo": null, + "binaryFeatures": [ + "UT" + ], + "broadcastedOn": "2024-05-01T18:00:00Z", + "coreAssetType": "EPISODE", + "duration": 954, + "id": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "images": { + "aspect16x9": { + "alt": "Sendungsbild", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:6ce58d3a4a18673c?w={width}&ch=9cff9f17e67f6fa5", + "title": "Sendungsbild" + }, + "aspect16x7": { + "alt": "Sendungsbild", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:ff55a704af948fe8?w={width}&ch=50da2deaaf8d1564", + "title": "Sendungsbild" + }, + "aspect1x1": { + "alt": "Sendungsbild", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:f4843e5441d099aa?w={width}&ch=7531657e1b605e1d", + "title": "Sendungsbild" + } + }, + "isChildContent": false, + "longTitle": "tagesschau 20:00 Uhr, 01.05.2024", + "maturityContentRating": "NONE", + "mediumTitle": "tagesschau 20:00 Uhr, 01.05.2024", + "personalized": false, + "playtime": null, + "publicationService": { + "name": "Das Erste", + "logo": { + "title": "Logo Das Erste", + "alt": "Logo Das Erste", + "producerName": "Logo Das Erste", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "das_erste", + "id": "b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ", + "coreId": "urn:ard:publisher:a42e4291cd9eaf0b" + }, + "links": { + "self": { + "id": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "urlId": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "title": "tagesschau 20:00 Uhr, 01.05.2024", + "href": "https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "type": "application/vnd.ard.teaser+json", + "partner": "ard" + }, + "target": { + "id": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "urlId": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "title": "tagesschau 20:00 Uhr, 01.05.2024", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw?devicetype=pc&embedded=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "shortTitle": "tagesschau 20:00 Uhr, 01.05.2024", + "show": { + "id": "crid://daserste.de/tagesschau", + "coremediaId": 4326, + "title": "tagesschau", + "publisher": { + "name": "Das Erste", + "logo": { + "title": "Logo Das Erste", + "alt": "Logo Das Erste", + "producerName": "Logo Das Erste", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "das_erste", + "id": "b3JnYW5pemF0aW9uX0RhcyBFcnN0ZQ", + "coreId": "urn:ard:publisher:a42e4291cd9eaf0b" + }, + "self": null, + "images": { + "16x9": { + "title": "Sendungsbild der tagesschau", + "alt": "Sendungsbild der tagesschau", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c94583f063e6f8c0?w={width}&ch=4c0812e9bf3625ec", + "aspectRatio": "16x9" + }, + "16x7": { + "title": "Sendungsbild der tagesschau", + "alt": "Sendungsbild der tagesschau", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:5af5a9ce866a1014?w={width}&ch=67ac5c3dcb886ec7", + "aspectRatio": "16x7" + }, + "1x1": { + "title": "Sendungsbild der tagesschau", + "alt": "Sendungsbild der tagesschau", + "producerName": "ARD-aktuell", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:1657a7fbdcd56601?w={width}&ch=7ca5079826fae563", + "aspectRatio": "1x1" + } + }, + "shortSynopsis": "Die Tagesschau ist die älteste und meistgesehene Nachrichtensendung im deutschen Fernsehen. Bis heute der Inbegriff für aktuelle Nachrichten. Seriös und auf den Punkt.", + "synopsis": "Die Tagesschau ist die älteste und meistgesehene Nachrichtensendung im deutschen Fernsehen. Bis heute der Inbegriff für aktuelle Nachrichten. Seriös und auf den Punkt.", + "longSynopsis": "Die Tagesschau ist die älteste und meistgesehene Nachrichtensendung im deutschen Fernsehen. Bis heute der Inbegriff für aktuelle Nachrichten. Seriös und auf den Punkt.", + "modificationDate": null, + "assetSource": null, + "categories": null, + "categoryIds": null, + "coreAssetType": "INFINITE_SERIES", + "coreId": "urn:ard:show:5b43cccc3d987b41", + "groupingType": "SHOW", + "homepage": { + "id": null, + "title": "tagesschau", + "href": "https://www.tagesschau.de", + "type": null + }, + "hasSeasons": false, + "availableSeasons": null, + "binaryFeatures": [ + "UT" + ], + "isChildContent": false + }, + "subtitled": true, + "titleVisible": true, + "trackingPiano": { + "teaser_content_type": "ondemand", + "teaser_id": "Y3JpZDovL3RhZ2Vzc2NoYXUuZGUvNTBjOTc0OGUtMTIwYi00MjllLWI2ODEtZTkyMTY5ODEyNGI0X2dhbnplU2VuZHVuZw", + "teaser_institution": "ARD", + "teaser_institution_id": "urn:ard:institution:453603d77920d274", + "teaser_title": "tagesschau 20:00 Uhr, 01.05.2024" + }, + "type": "ondemand" + } + ], + "title": "tagesschau", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL2Rhc2Vyc3RlLmRlL3RhZ2Vzc2NoYXU", + "widget_title": "tagesschau", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_HR.json b/src/test/resources/ard/ard_item_STD_HR.json new file mode 100644 index 000000000..45aae6091 --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_HR.json @@ -0,0 +1,377 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "hallo hessen – Teil 1 vom 30.04.2024", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/ZWJlMTQxOWYtNTliMi00N2RlLWE0MzAtNzRiZGU0ZmIyNWRm?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "hallo hessen – Teil 1 vom 30.04.2024", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "hallo hessen – Teil 1 vom 30.04.2024", + "mediaType": "video", + "lra": "HR", + "channel": "hr-fernsehen", + "show": "hallo hessen", + "contentTypes": "", + "mediaDistributionType": 1, + "contentId": 13363781, + "metadataId": "ebe1419f-59b2-47de-a430-74bde4fb25df", + "clipLength": 2760 + }, + "chapter2": "Player", + "chapter3": "hallo hessen", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/hallo hessen/hallo hessen – Teil 1 vom 30.04.2024/13363781/20240430_1400", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:847ed8d7e13fa5cb", + "page_content_title": "hallo hessen – Teil 1 vom 30.04.2024", + "page_id": "player_ondemand-page-ard", + "page_institution": "HR", + "page_institution_id": "urn:ard:institution:d750cf5d65a50bca", + "page_publisher": "hr-fernsehen", + "page_publisher_id": "urn:ard:publisher:fa9a2b898c8df74c", + "page_show": "hallo hessen", + "page_show_id": "urn:ard:show:4f666cf8cbe1e0c5", + "page_title": "hallo hessen – Teil 1 vom 30.04.2024", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2026-04-30T15:48:03.493Z", + "binaryFeatures": [], + "blockedByFsk": false, + "broadcastedOn": "2024-04-30T14:00:00Z", + "embeddable": true, + "geoblocked": false, + "id": "ZWJlMTQxOWYtNTliMi00N2RlLWE0MzAtNzRiZGU0ZmIyNWRm", + "image": { + "alt": "hallo hessen Moderator Jens Kölker mit den Themen vom 30.04.2024: Wandern auf dem Rheinsteg, Start in die Grillsaison, Erdbeeren aus Hessen", + "producerName": "hr", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:afd6aff4051b922d?w={width}&ch=92aaa8bc924b79db", + "title": "hallo hessen, 30.04.2024" + }, + "isChildContent": false, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "availableToDateTime": "2026-04-30T15:48:03.493Z", + "broadcastedOnDateTime": "2024-04-30T14:00:00Z", + "clipSourceName": "HR", + "durationSeconds": 2760, + "images": [ + { + "alt": "hallo hessen Moderator Jens Kölker mit den Themen vom 30.04.2024: Wandern auf dem Rheinsteg, Start in die Grillsaison, Erdbeeren aus Hessen", + "aspectRatio": "16x9", + "imageSourceName": "hr", + "kind": "preview", + "title": "hallo hessen, 30.04.2024", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:afd6aff4051b922d?w=960&ch=92aaa8bc924b79db" + } + ], + "publicationService": { + "id": "ard", + "name": "hr-fernsehen", + "partner": "hr" + }, + "seriesTitle": "hallo hessen", + "synopsis": "Der Mai steht vor der Tür und wir haben für Sie die perfekten Wandertipps. Los geht es heute mit dem herrlichen Rheingau. Außerdem wollen wir passend dazu auch die Grillsaison eröffnen. Und ein hessischer Erdbeerbauer verrät uns alles Wissenswerte um die roten Superfrüchtchen.", + "title": "hallo hessen – Teil 1 vom 30.04.2024" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=ZWJlMTQxOWYtNTliMi00N2RlLWE0MzAtNzRiZGU0ZmIyNWRm" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13363781", + "length": "2760", + "nol_c0": "p0,0", + "nol_c10": "p10,hr-fernsehen", + "nol_c12": "p12,Content", + "nol_c15": "p15,A7A4E43294AD41EBBB7EA28A549804FF", + "nol_c16": "p16,hr-fernsehen_Information|Magazin", + "nol_c18": "p18,N", + "nol_c19": "p19,HR", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519", + "nol_c8": "p8,2760", + "nol_c9": "p9,hallo hessen_hallo hessen – Teil 1 vom 30.04.2024_30.04.2024 14:00", + "program": "hallo hessen", + "title": "hr-fernsehen_hallo hessen_hallo hessen – Teil 1 vom 30.04.2024_30.04.2024 14:00", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "2760", + "mediaLabel": "hallo hessen – Teil 1 vom 30.04.2024__13363781__", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Hessischer Rundfunk", + "mediaTheme2": "hr-fernsehen", + "mediaTheme3": "hallo hessen", + "mediaType": "video", + "playerId": "urn:ard:publication:847ed8d7e13fa5cb", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "hallo hessen – Teil 1 vom 30.04.2024", + "av_content_duration": 2760000, + "av_content_id": "urn:ard:publication:847ed8d7e13fa5cb", + "av_content_type": "video", + "av_institution": "HR", + "av_institution_id": "urn:ard:institution:d750cf5d65a50bca", + "av_publisher": "hr-fernsehen", + "av_publisher_id": "urn:ard:publisher:fa9a2b898c8df74c", + "av_show": "hallo hessen", + "av_show_id": "urn:ard:show:4f666cf8cbe1e0c5" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_1280x720-50p-3200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_640x360-50p-1200kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://hrardmediathek-vh.akamaihd.net/i/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_,640x360-50p-1200,1920x1080-50p-5000,1280x720-50p-3200,960x540-50p-1600,kbit.mp4/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_1920x1080-50p-5000kbit.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://hrardmediathek-a.akamaihd.net/odinson/hallo-hessen/SVID-BC6574CF-5A5A-4D00-B8D3-44D241F14519/ebe1419f-59b2-47de-a430-74bde4fb25df/L489595_sendeton_960x540-50p-1600kbit.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/ZWJlMTQxOWYtNTliMi00N2RlLWE0MzAtNzRiZGU0ZmIyNWRm?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "hr-fernsehen", + "logo": { + "title": "Logo hr-fernsehen", + "alt": "Logo hr-fernsehen", + "producerName": "Logo hr-fernsehen", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "hr", + "id": "b3JnYW5pemF0aW9uX0hS", + "coreId": "urn:ard:publisher:fa9a2b898c8df74c" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "hallo hessen – Teil 1 vom 30.04.2024", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/ZWJlMTQxOWYtNTliMi00N2RlLWE0MzAtNzRiZGU0ZmIyNWRm?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL2hyLW9ubGluZS8zODIxMDI1MQ", + "title": "hallo hessen", + "image": { + "alt": "Hallo Hessen", + "producerName": "hr", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:2da8a9389da90c00?w={width}&ch=9827a276888c2551", + "title": "hallo-hessen_buehne_16-9" + }, + "availableSeasons": null, + "binaryFeatures": [], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Der Mai steht vor der Tür und wir haben für Sie die perfekten Wandertipps. Los geht es heute mit dem herrlichen Rheingau. Außerdem wollen wir passend dazu auch die Grillsaison eröffnen. Und ein hessischer Erdbeerbauer verrät uns alles Wissenswerte um die roten Superfrüchtchen.", + "title": "hallo hessen – Teil 1 vom 30.04.2024", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "hallo hessen – Teil 1 vom 30.04.2024", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL2hyLW9ubGluZS8zODIxMDI1MQ", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 733 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL2hyLW9ubGluZS8zODIxMDI1MQ", + "urlId": "Y3JpZDovL2hyLW9ubGluZS8zODIxMDI1MQ", + "title": "hallo hessen", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2hyLW9ubGluZS8zODIxMDI1MQ?excludedAssetIds=ZWJlMTQxOWYtNTliMi00N2RlLWE0MzAtNzRiZGU0ZmIyNWRm&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "hallo hessen", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL2hyLW9ubGluZS8zODIxMDI1MQ", + "widget_title": "hallo hessen", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_NDR.json b/src/test/resources/ard/ard_item_STD_NDR.json new file mode 100644 index 000000000..4eb65c3b6 --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_NDR.json @@ -0,0 +1,398 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "NDR Info 14:00 | 30.04.2024", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL25kci5kZS9wcm9wbGFuXzE5NjM0OTcxMF9nYW56ZVNlbmR1bmc?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "NDR Info 14:00 | 30.04.2024", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "NDR Info 14:00 | 30.04.2024", + "mediaType": "video", + "lra": "NDR", + "channel": "NDR", + "show": "NDR Info", + "contentTypes": "UT", + "mediaDistributionType": 1, + "contentId": 13363035, + "metadataId": "crid://ndr.de/proplan_196349710_ganzeSendung", + "clipLength": 619 + }, + "chapter2": "Player", + "chapter3": "NDR Info", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/NDR Info/NDR Info 14:00 | 30.04.2024/13363035/20240430_1200", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:669d9a286a211a00", + "page_content_title": "NDR Info 14:00 | 30.04.2024", + "page_id": "player_ondemand-page-ard", + "page_institution": "NDR", + "page_institution_id": "urn:ard:institution:ea3329bc2aae0d7d", + "page_publisher": "NDR", + "page_publisher_id": "urn:ard:publisher:59786080a6371d6a", + "page_show": "NDR Info", + "page_show_id": "urn:ard:show:acd87abfba49e283", + "page_title": "NDR Info 14:00 | 30.04.2024", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2026-04-30T12:00:00Z", + "binaryFeatures": [ + "UT" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-04-30T12:00:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL25kci5kZS9wcm9wbGFuXzE5NjM0OTcxMF9nYW56ZVNlbmR1bmc", + "image": { + "alt": "Bibiana Barth.", + "producerName": "Screenshot", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:e559feabb978c663?w={width}&ch=3b5bee994192b6ff", + "title": "NDR Info 14:00 | 30.04.2024" + }, + "isChildContent": false, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "availableToDateTime": "2026-04-30T12:00:00Z", + "broadcastedOnDateTime": "2024-04-30T12:00:00Z", + "clipSourceName": "NDR", + "durationSeconds": 619, + "images": [ + { + "alt": "Bibiana Barth.", + "aspectRatio": "16x9", + "imageSourceName": "Screenshot", + "kind": "preview", + "title": "NDR Info 14:00 | 30.04.2024", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:e559feabb978c663?w=960&ch=3b5bee994192b6ff" + } + ], + "publicationService": { + "id": "ard", + "name": "NDR", + "partner": "ndr" + }, + "seriesTitle": "NDR Info", + "synopsis": "Die Nachrichten für den Norden: Suche nach Arian eingestellt / Viele Pflege-Ausbildungsplätze in Schleswig-Holstein unbesetzt", + "title": "NDR Info 14:00 | 30.04.2024" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL25kci5kZS9wcm9wbGFuXzE5NjM0OTcxMF9nYW56ZVNlbmR1bmc" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13363035", + "length": "619", + "nol_c0": "p0,0", + "nol_c10": "p10,NDR", + "nol_c12": "p12,Content", + "nol_c15": "p15,196349710_14900769", + "nol_c16": "p16,ARD_Information", + "nol_c18": "p18,N", + "nol_c19": "p19,NDR", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://ndr.de/proplan_196349710_ganzeSendung", + "nol_c8": "p8,619", + "nol_c9": "p9,NDR Info_NDR Info 14:00 | 30.04.2024_30.04.2024 12:00", + "program": "NDR Info", + "title": "NDR_NDR Info_NDR Info 14:00 | 30.04.2024_30.04.2024 12:00", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "619", + "mediaLabel": "NDR Info 14:00 | 30.04.2024__13363035__UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Norddeutscher Rundfunk", + "mediaTheme2": "NDR", + "mediaTheme3": "NDR Info", + "mediaType": "video", + "playerId": "urn:ard:publication:669d9a286a211a00", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "NDR Info 14:00 | 30.04.2024", + "av_content_duration": 619000, + "av_content_id": "urn:ard:publication:669d9a286a211a00", + "av_content_type": "video", + "av_institution": "NDR", + "av_institution_id": "urn:ard:institution:ea3329bc2aae0d7d", + "av_publisher": "NDR", + "av_publisher_id": "urn:ard:publisher:59786080a6371d6a", + "av_show": "NDR Info", + "av_show_id": "urn:ard:show:acd87abfba49e283" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://adaptive.ndr.de/i/ndr/2024/0430/TV-20240430-1400-3611.,hq,1080,hd,ln,mn,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.hd.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.hq.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.1080.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://mediandr-a.akamaihd.net/progressive/2024/0430/TV-20240430-1400-3611.ln.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:ea9ad6b71df1b8ed" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:ea9ad6b71df1b8ed.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL25kci5kZS9wcm9wbGFuXzE5NjM0OTcxMF9nYW56ZVNlbmR1bmc?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "NDR", + "logo": { + "title": "Logo NDR", + "alt": "Logo NDR", + "producerName": "Logo NDR", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "ndr", + "id": "b3JnYW5pemF0aW9uX05EUg", + "coreId": "urn:ard:publisher:59786080a6371d6a" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "NDR Info 14:00 | 30.04.2024", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL25kci5kZS9wcm9wbGFuXzE5NjM0OTcxMF9nYW56ZVNlbmR1bmc?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL25kci5kZS80NTIz", + "title": "NDR Info", + "image": { + "alt": "NDR Info", + "producerName": "NDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:c5ade5e39dcef4fc?w={width}&ch=f5bd9e239161cda9", + "title": "NDR Info" + }, + "availableSeasons": null, + "binaryFeatures": [ + "UT", + "DGS", + "AD" + ], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Die Nachrichten für den Norden: Suche nach Arian eingestellt / Viele Pflege-Ausbildungsplätze in Schleswig-Holstein unbesetzt", + "title": "NDR Info 14:00 | 30.04.2024", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "NDR Info 14:00 | 30.04.2024", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL25kci5kZS80NTIz", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 7274 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL25kci5kZS80NTIz", + "urlId": "Y3JpZDovL25kci5kZS80NTIz", + "title": "NDR Info", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL25kci5kZS80NTIz?excludedAssetIds=Y3JpZDovL25kci5kZS9wcm9wbGFuXzE5NjM0OTcxMF9nYW56ZVNlbmR1bmc&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "NDR Info", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL25kci5kZS80NTIz", + "widget_title": "NDR Info", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_ONE.json b/src/test/resources/ard/ard_item_STD_ONE.json new file mode 100644 index 000000000..ed926c4da --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_ONE.json @@ -0,0 +1,405 @@ +{ + "coreAssetType": "EXTRA_BONUS_CONTENT", + "fskRating": "FSK12", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNTc0OTQxMWUtZGMxNi00OGJkLWFkNzktZmEyZmVjNzJkZTU0?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "mediaType": "video", + "lra": "ONE", + "channel": "ONE", + "show": "Murdoch Mysteries", + "contentTypes": "UT", + "mediaDistributionType": 1, + "contentId": 13334379, + "metadataId": "crid://wdr.de/Beitrag-sophora-5749411e-dc16-48bd-ad79-fa2fec72de54", + "clipLength": 2764 + }, + "chapter2": "Player", + "chapter3": "Murdoch Mysteries", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Murdoch Mysteries/Folge 4: Geisterstunde (S01/E04) - (Originalversion)/13334379/20240501_0215", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:b1e2c718684c9a80", + "page_content_title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "page_id": "player_ondemand-page-ard", + "page_institution": "ONE", + "page_institution_id": "urn:ard:institution:9edd94d68de90140", + "page_publisher": "ONE", + "page_publisher_id": "urn:ard:publisher:892e3c758ca56a9d", + "page_show": "Murdoch Mysteries", + "page_show_id": "urn:ard:show:85088a146d3740b7", + "page_title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2024-05-08T02:15:00Z", + "binaryFeatures": [ + "OV", + "UT" + ], + "blockedByFsk": false, + "broadcastedOn": "2024-05-01T02:15:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNTc0OTQxMWUtZGMxNi00OGJkLWFkNzktZmEyZmVjNzJkZTU0", + "image": { + "alt": "Dr. Ogden (Hélène Joy) untersucht die Leiche von Amos, während Detective Murdoch (Yannick Bisson) zusieht.", + "producerName": "WDR", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:13faad6cef810a2a?w={width}&ch=d7cb07e74d3b8ecc", + "title": "Murdoch Mysteries (S01/E04) - OV" + }, + "isChildContent": false, + "maturityContentRating": "FSK12", + "mediaCollection": { + "embedded": { + "isGeoBlocked": true, + "meta": { + "availableToDateTime": "2024-05-08T02:15:00Z", + "broadcastedOnDateTime": "2024-05-01T02:15:00Z", + "clipSourceName": "ONE", + "durationSeconds": 2764, + "images": [ + { + "alt": "Dr. Ogden (Hélène Joy) untersucht die Leiche von Amos, während Detective Murdoch (Yannick Bisson) zusieht.", + "aspectRatio": "16x9", + "imageSourceName": "WDR", + "kind": "preview", + "title": "Murdoch Mysteries (S01/E04) - OV", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:13faad6cef810a2a?w=960&ch=d7cb07e74d3b8ecc" + } + ], + "maturityContentRating": { + "age": 12, + "isBlocked": false, + "kind": "other" + }, + "publicationService": { + "id": "ard", + "name": "ONE", + "partner": "one" + }, + "synopsis": "Murdoch schließt sich mit seinem Helden Arthur Conan Doyle zusammen, um einen Mord aufzuklären, der während einer Séance unter der Leitung des Mediums Sarah Pensall aufgedeckt wurde. Es scheint, dass das Opfer Ida Winston, Mitglied einer paranormalen Wächtergruppe, nicht von Sarahs Fähigkeiten überzeugt war. Murdoch fragt sich, ob Sarah Ida getötet hat, weil sie kurz davorstand, als Betrügerin entlarvt zu werden. ", + "title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNTc0OTQxMWUtZGMxNi00OGJkLWFkNzktZmEyZmVjNzJkZTU0" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13334379", + "length": "2764", + "nol_c0": "p0,0", + "nol_c10": "p10,ONE", + "nol_c12": "p12,Content", + "nol_c15": "p15,POC_2002800613", + "nol_c16": "p16,Fiction", + "nol_c18": "p18,N", + "nol_c19": "p19,ONE", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,crid://wdr.de/Beitrag-sophora-5749411e-dc16-48bd-ad79-fa2fec72de54", + "nol_c8": "p8,2764", + "nol_c9": "p9,Murdoch Mysteries_Folge 4: Geisterstunde (S01/E04) - (Originalversion)_01.05.2024 02:15", + "program": "Murdoch Mysteries", + "title": "ONE_Murdoch Mysteries_Folge 4: Geisterstunde (S01/E04) - (Originalversion)_01.05.2024 02:15", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "2764", + "mediaLabel": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)__13334379__OV | UT", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "ONE", + "mediaTheme2": "ONE", + "mediaTheme3": "Murdoch Mysteries", + "mediaType": "video", + "playerId": "urn:ard:publication:b1e2c718684c9a80", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "av_content_duration": 2764000, + "av_content_id": "urn:ard:publication:b1e2c718684c9a80", + "av_content_type": "video", + "av_institution": "ONE", + "av_institution_id": "urn:ard:institution:9edd94d68de90140", + "av_publisher": "ONE", + "av_publisher_id": "urn:ard:publisher:892e3c758ca56a9d", + "av_show": "Murdoch Mysteries", + "av_show_id": "urn:ard:show:85088a146d3740b7" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "ov" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://wdradaptiv-vh.akamaihd.net/i/medp/ondemand/de/fsk12/310/3106351/,3106351_57089636,3106351_57089637,3106351_57089635,3106351_57089638,3106351_57089634,.mp4.csmil/master.m3u8", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "ov" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089636.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "ov" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089637.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "ov" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089634.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "ov" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://wdrmedien-a.akamaihd.net/medp/ondemand/de/fsk12/310/3106351/3106351_57089638.mp4", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [ + { + "kind": "normal", + "languageCode": "deu", + "sources": [ + { + "kind": "ebutt", + "url": "https://api.ardmediathek.de/player-service/subtitle/ebutt/urn:ard:subtitle:0567b031db73e4b9" + }, + { + "kind": "webvtt", + "url": "https://api.ardmediathek.de/player-service/subtitle/webvtt/urn:ard:subtitle:0567b031db73e4b9.vtt" + } + ] + } + ] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNTc0OTQxMWUtZGMxNi00OGJkLWFkNzktZmEyZmVjNzJkZTU0?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "ONE", + "logo": { + "title": "Logo ONE", + "alt": "Logo ONE", + "producerName": "Logo ONE", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "one", + "id": "b3JnYW5pemF0aW9uX09ORQ", + "coreId": "urn:ard:publisher:892e3c758ca56a9d" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNTc0OTQxMWUtZGMxNi00OGJkLWFkNzktZmEyZmVjNzJkZTU0?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL3dkci5kZTdvbmUvbXVyZG9jaG15c3Rlcmllcw", + "title": "Murdoch Mysteries", + "image": { + "alt": "Sendungslogo \"Murdoch Mysteries\"", + "producerName": "Shaftesbury Murdoch II Inc", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:559937f982bde0f5?w={width}&ch=dc9ee6ab714f2b88", + "title": "Murdoch Mysteries" + }, + "availableSeasons": [ + "1", + "4" + ], + "binaryFeatures": [ + "UT", + "OV" + ], + "coreAssetType": "SEASON_SERIES" + }, + "synopsis": "Murdoch schließt sich mit seinem Helden Arthur Conan Doyle zusammen, um einen Mord aufzuklären, der während einer Séance unter der Leitung des Mediums Sarah Pensall aufgedeckt wurde. Es scheint, dass das Opfer Ida Winston, Mitglied einer paranormalen Wächtergruppe, nicht von Sarahs Fähigkeiten überzeugt war. Murdoch fragt sich, ob Sarah Ida getötet hat, weil sie kurz davorstand, als Betrügerin entlarvt zu werden. ", + "title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Folge 4: Geisterstunde (S01/E04) - (Originalversion)", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL3dkci5kZTdvbmUvbXVyZG9jaG15c3Rlcmllcw", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 15 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL3dkci5kZTdvbmUvbXVyZG9jaG15c3Rlcmllcw", + "urlId": "Y3JpZDovL3dkci5kZTdvbmUvbXVyZG9jaG15c3Rlcmllcw", + "title": "Murdoch Mysteries", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL3dkci5kZTdvbmUvbXVyZG9jaG15c3Rlcmllcw?excludedAssetIds=Y3JpZDovL3dkci5kZS9CZWl0cmFnLXNvcGhvcmEtNTc0OTQxMWUtZGMxNi00OGJkLWFkNzktZmEyZmVjNzJkZTU0&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "Murdoch Mysteries", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL3dkci5kZTdvbmUvbXVyZG9jaG15c3Rlcmllcw", + "widget_title": "Murdoch Mysteries", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_STD_RBB.json b/src/test/resources/ard/ard_item_STD_RBB.json new file mode 100644 index 000000000..f8505df2b --- /dev/null +++ b/src/test/resources/ard/ard_item_STD_RBB.json @@ -0,0 +1,377 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Blue Moon vom 30.04.2024", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL3JiYl8zZDU0ZmNhNC05YTdkLTQ1MmQtYjY1OS1jNWRmMTk1MzJiYTBfcHVibGljYXRpb24?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Blue Moon vom 30.04.2024", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Blue Moon vom 30.04.2024", + "mediaType": "video", + "lra": "RBB", + "channel": "rbb Fernsehen", + "show": "Blue Moon", + "contentTypes": "", + "mediaDistributionType": 1, + "contentId": 13364935, + "metadataId": "crid://rbb_3d54fca4-9a7d-452d-b659-c5df19532ba0_publication", + "clipLength": 6195 + }, + "chapter2": "Player", + "chapter3": "Blue Moon", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Blue Moon/Blue Moon vom 30.04.2024/13364935/20240430_2015", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:13a17ee4a534c2b4", + "page_content_title": "Blue Moon vom 30.04.2024", + "page_id": "player_ondemand-page-ard", + "page_institution": "RBB", + "page_institution_id": "urn:ard:institution:6fd2ea6b797a605b", + "page_publisher": "rbb Fernsehen", + "page_publisher_id": "urn:ard:publisher:4bd261083522aeef", + "page_show": "Blue Moon", + "page_show_id": "urn:ard:show:27233a9f3d191182", + "page_title": "Blue Moon vom 30.04.2024", + "site": "634408" + }, + "widgets": [ + { + "availableTo": "2026-04-30T21:59:59Z", + "binaryFeatures": [], + "blockedByFsk": false, + "broadcastedOn": "2024-04-30T20:15:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL3JiYl8zZDU0ZmNhNC05YTdkLTQ1MmQtYjY1OS1jNWRmMTk1MzJiYTBfcHVibGljYXRpb24", + "image": { + "alt": "Moderatorin Claudia Kamieth (Quelle: rbb/Lilly Extra/Holger Günther)", + "producerName": "rbb/Lilly Extra/Holger Günther", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:d7bfa9a891a19695?w={width}&ch=c38a8fa44f1ec834", + "title": "Blue Moon, Moderatorin Claudia Kamieth" + }, + "isChildContent": false, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "availableToDateTime": "2026-04-30T21:59:59Z", + "broadcastedOnDateTime": "2024-04-30T20:15:00Z", + "clipSourceName": "rbb", + "durationSeconds": 6195, + "images": [ + { + "alt": "Moderatorin Claudia Kamieth (Quelle: rbb/Lilly Extra/Holger Günther)", + "aspectRatio": "16x9", + "imageSourceName": "rbb/Lilly Extra/Holger Günther", + "kind": "preview", + "title": "Blue Moon, Moderatorin Claudia Kamieth", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:b02c96000d82e941?w=960&ch=ade4b9c4aa512941" + } + ], + "publicationService": { + "id": "ard", + "name": "rbb Fernsehen", + "partner": "rbb" + }, + "seriesTitle": "Blue Moon", + "synopsis": "Den Rucksack auskippen, bloßstellende Fotos posten oder Beleidigungen nachrufen - fast jedes sechste Schulkind ist bei uns von Mobbing betroffen. Aber auch im Büro, an der Uni oder im Verein gibt es Mobbing! Diese Woche sprechen wir bei Fritz über das Thema Mobbing, alle Inhalte und Hilfsangebote findet ihr hier: fritz.de/mobbing. Claudia Kamieth will deshalb heute im Blue Moon von euch wissen: Wurdet ihr mal gemobbt und wie sehr hat euch das geprägt? Habt ihr beobachtet, wie Kolleg:innen vom Boss gemobbt wurden oder habt ihr selbst jemanden gemobbt und bereut es heute? Ruft an unter 0331 70 97 110 und erzählt eure Geschichte! Heute gibt's den Blue Moon wieder zum Hören bei YOUFM und Fritz und auch zum Sehen im rbb Fernsehen.", + "title": "Blue Moon vom 30.04.2024" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL3JiYl8zZDU0ZmNhNC05YTdkLTQ1MmQtYjY1OS1jNWRmMTk1MzJiYTBfcHVibGljYXRpb24" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "13364935", + "length": "6195", + "nol_c0": "p0,0", + "nol_c10": "p10,rbb Fernsehen", + "nol_c12": "p12,Content", + "nol_c15": "p15,", + "nol_c16": "p16,", + "nol_c18": "p18,N", + "nol_c19": "p19,rbb", + "nol_c2": "p2,N", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,rbb_3d54fca4-9a7d-452d-b659-c5df19532ba0", + "nol_c8": "p8,6195", + "nol_c9": "p9,Blue Moon_Blue Moon vom 30.04.2024_30.04.2024 20:15", + "program": "Blue Moon", + "title": "rbb Fernsehen_Blue Moon_Blue Moon vom 30.04.2024_30.04.2024 20:15", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "6195", + "mediaLabel": "Blue Moon vom 30.04.2024__13364935__", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "Rundfunk Berlin-Brandenburg", + "mediaTheme2": "rbb Fernsehen", + "mediaTheme3": "Blue Moon", + "mediaType": "video", + "playerId": "urn:ard:publication:13a17ee4a534c2b4", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Blue Moon vom 30.04.2024", + "av_content_duration": 6195000, + "av_content_id": "urn:ard:publication:13a17ee4a534c2b4", + "av_content_type": "video", + "av_institution": "RBB", + "av_institution_id": "urn:ard:institution:6fd2ea6b797a605b", + "av_publisher": "rbb Fernsehen", + "av_publisher_id": "urn:ard:publisher:4bd261083522aeef", + "av_show": "Blue Moon", + "av_show_id": "urn:ard:show:27233a9f3d191182" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Full HD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc1080.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "HD Ready", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1280, + "maxVResolutionPx": 720, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc720.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 640, + "maxVResolutionPx": 360, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc360.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "SD 480p", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 960, + "maxVResolutionPx": 540, + "mimeType": "video/mp4", + "subtitles": [], + "url": "https://rbbmediapmdp-a.akamaihd.net/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_hd1080-avc540.mp4", + "videoCodec": "H.264" + }, + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": false, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "https://rbbvod.akamaized.net/i/content/dd/f9/ddf9c4f0-2da1-45b9-812f-873f213ccbd5/eb2ed184-078d-11ef-b0da-02420a000df3_,hd1080-avc360,hd1080-avc270,hd1080-avc540,hd1080-avc720,hd1080-avc1080,.mp4.csmil/master.m3u8?set-akamai-hls-revision=5", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL3JiYl8zZDU0ZmNhNC05YTdkLTQ1MmQtYjY1OS1jNWRmMTk1MzJiYTBfcHVibGljYXRpb24?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "rbb Fernsehen", + "logo": { + "title": "Logo rbb Fernsehen", + "alt": "Logo rbb Fernsehen", + "producerName": "Logo rbb Fernsehen", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "rbb", + "id": "b3JnYW5pemF0aW9uX1JCQg", + "coreId": "urn:ard:publisher:4bd261083522aeef" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Blue Moon vom 30.04.2024", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL3JiYl8zZDU0ZmNhNC05YTdkLTQ1MmQtYjY1OS1jNWRmMTk1MzJiYTBfcHVibGljYXRpb24?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL3JiYi1vbmxpbmUuZGUvYmx1ZS1tb29u", + "title": "Blue Moon", + "image": { + "alt": "Logo: Blue Moon (Quelle: rbb/Lilly Extra/Holger Günther)", + "producerName": "rbb/Lilly Extra/Holger Günther", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:b9822f72da75ccf1?w={width}&ch=013476f5a68eff0c", + "title": "Logo: Blue Moon" + }, + "availableSeasons": null, + "binaryFeatures": [], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Den Rucksack auskippen, bloßstellende Fotos posten oder Beleidigungen nachrufen - fast jedes sechste Schulkind ist bei uns von Mobbing betroffen. Aber auch im Büro, an der Uni oder im Verein gibt es Mobbing! Diese Woche sprechen wir bei Fritz über das Thema Mobbing, alle Inhalte und Hilfsangebote findet ihr hier: fritz.de/mobbing. Claudia Kamieth will deshalb heute im Blue Moon von euch wissen: Wurdet ihr mal gemobbt und wie sehr hat euch das geprägt? Habt ihr beobachtet, wie Kolleg:innen vom Boss gemobbt wurden oder habt ihr selbst jemanden gemobbt und bereut es heute? Ruft an unter 0331 70 97 110 und erzählt eure Geschichte! Heute gibt's den Blue Moon wieder zum Hören bei YOUFM und Fritz und auch zum Sehen im rbb Fernsehen.", + "title": "Blue Moon vom 30.04.2024", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Blue Moon vom 30.04.2024", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL3JiYi1vbmxpbmUuZGUvYmx1ZS1tb29u", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 11 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL3JiYi1vbmxpbmUuZGUvYmx1ZS1tb29u", + "urlId": "Y3JpZDovL3JiYi1vbmxpbmUuZGUvYmx1ZS1tb29u", + "title": "Blue Moon", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL3JiYi1vbmxpbmUuZGUvYmx1ZS1tb29u?excludedAssetIds=Y3JpZDovL3JiYl8zZDU0ZmNhNC05YTdkLTQ1MmQtYjY1OS1jNWRmMTk1MzJiYTBfcHVibGljYXRpb24&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [], + "title": "Blue Moon", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL3JiYi1vbmxpbmUuZGUvYmx1ZS1tb29u", + "widget_title": "Blue Moon", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_fallback.json b/src/test/resources/ard/ard_item_fallback.json new file mode 100644 index 000000000..1234d912b --- /dev/null +++ b/src/test/resources/ard/ard_item_fallback.json @@ -0,0 +1,429 @@ +{ + "coreAssetType": "EPISODE", + "fskRating": "NONE", + "id": "player_ondemand-page-ard", + "isChildContent": false, + "personalized": false, + "links": { + "self": { + "id": "player_ondemand-page-ard", + "urlId": "player_ondemand-page-ard", + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE?embedded=true&mcV6=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "tracking": { + "aggregationLevelId": 38, + "atiCustomVars": { + "clipTitle": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "mediaType": "video", + "lra": "funk", + "channel": "funk", + "show": "Fickt euch!", + "contentTypes": "", + "mediaDistributionType": 1, + "contentId": 83859168, + "metadataId": "crid://funk.net/835/video/106381", + "clipLength": 185 + }, + "chapter2": "Player", + "chapter3": "Fickt euch!", + "environmentId": 511893, + "pageTitle": "Mediathek/Player/Fickt euch!/Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex/83859168/20161213_1400", + "szmType": "CP" + }, + "trackingPiano": { + "page_chapter1": "Player", + "page_content_id": "urn:ard:publication:0500c9bbe1a10738", + "page_content_title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "page_id": "player_ondemand-page-ard", + "page_institution": "funk", + "page_institution_id": "urn:ard:institution:3aa504dd9fc1e250", + "page_publisher": "funk", + "page_publisher_id": "urn:ard:publisher:bed7b6abe4dbfaca", + "page_show": "Fickt euch!", + "page_show_id": "urn:ard:show:ac739b52556da95d", + "page_title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "site": "634408" + }, + "widgets": [ + { + "availableTo": null, + "binaryFeatures": [], + "blockedByFsk": false, + "broadcastedOn": "2016-12-13T14:00:00Z", + "embeddable": false, + "geoblocked": false, + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE", + "image": { + "alt": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex - Thumbnail", + "producerName": "funk", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:a62bc714b8d0978e?w={width}&ch=06c37142f9990c3e", + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex - Thumbnail" + }, + "isChildContent": false, + "maturityContentRating": "NONE", + "mediaCollection": { + "embedded": { + "isGeoBlocked": false, + "meta": { + "broadcastedOnDateTime": "2016-12-13T14:00:00Z", + "clipSourceName": "funk", + "durationSeconds": 185, + "images": [ + { + "alt": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex - Thumbnail", + "aspectRatio": "16x9", + "imageSourceName": "funk", + "kind": "preview", + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex - Thumbnail", + "url": "https://api.ardmediathek.de/image-service/images/urn:ard:image:a62bc714b8d0978e?w=960&ch=06c37142f9990c3e" + } + ], + "publicationService": { + "id": "ard", + "name": "funk", + "partner": "funk" + }, + "seriesTitle": "Fickt euch!", + "synopsis": "Den Penis richtig waschen ist ganz\neinfach! Was ihr beachten müsst, um Infektionen und unangenehme Gerüche zu vermeiden, erfahrt\nihr im Video.\nDu willst mehr? Dann abonniere meinen\nKanal: https://www.youtube.com/channel/UC3ZkjIfabQzVypsQBd9-AIQ?sub_confirmation=1Fickt euch! bei\nFacebook: http://www.facebook.com/istdochnursexFickt euch! bei\nInstagram: http://www.instagram.com/istdochnursexFickt euch! bei\nSnapchat: @istdochnursex", + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex" + }, + "pluginData": { + "recommendation@all": { + "isAutoplay": true, + "timerSeconds": 10, + "url": "https://api.ardmediathek.de/page-gateway/compilations/ard/recommendations?contextItemId=Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE" + }, + "trackingAgf@all": { + "appId": "PA02DC09C-B8D3-4098-87D2-2C023682D6D5", + "clipData": { + "assetid": "83859168", + "length": "185", + "nol_c0": "p0,0", + "nol_c10": "p10,funk", + "nol_c12": "p12,Content", + "nol_c15": "p15,", + "nol_c16": "p16,", + "nol_c18": "p18,N", + "nol_c19": "p19,funk", + "nol_c2": "p2,Y", + "nol_c5": "p5,ARD Mediathek", + "nol_c7": "p7,funk/episode/video/106381", + "nol_c8": "p8,185", + "nol_c9": "p9,Fickt euch!_Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex_13.12.2016 14:00", + "program": "Fickt euch!", + "title": "funk_Fickt euch!_Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex_13.12.2016 14:00", + "type": "content" + }, + "tracker": "AGF" + }, + "trackingAti@all": { + "config": { + "site": 511893 + }, + "isEnabled": true, + "richMedia": { + "broadcastMode": "clip", + "duration": "185", + "mediaLabel": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex__83859168__", + "mediaLevel2": "{richMediaLevelTwo}", + "mediaTheme1": "funk", + "mediaTheme2": "funk", + "mediaTheme3": "Fickt euch!", + "mediaType": "video", + "playerId": "urn:ard:publication:0500c9bbe1a10738", + "refreshDuration": { + "0": 5, + "1": 12, + "12": 15, + "18": 30 + } + }, + "tracker": "ATI" + }, + "trackingPiano@all": { + "avContent": { + "av_broadcasting_type": "OnDemand", + "av_content": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "av_content_duration": 185000, + "av_content_id": "urn:ard:publication:0500c9bbe1a10738", + "av_content_type": "video", + "av_institution": "funk", + "av_institution_id": "urn:ard:institution:3aa504dd9fc1e250", + "av_publisher": "funk", + "av_publisher_id": "urn:ard:publisher:bed7b6abe4dbfaca", + "av_show": "Fickt euch!", + "av_show_id": "urn:ard:show:ac739b52556da95d" + }, + "config": { + "events": [ + "av.error", + "av.speed", + "av.quality", + "av.jumpmark", + "av.share", + "av.playermode", + "av.subtitle", + "av.language", + "av.audiodescription", + "av.signlanguage", + "av.volume.mute", + "av.recommendation" + ], + "site": 634408 + }, + "isEnabled": true + } + }, + "streams": [ + { + "kind": "main", + "kindName": "Normal", + "media": [ + { + "aspectRatio": "16:9", + "audios": [ + { + "kind": "standard", + "languageCode": "deu" + } + ], + "forcedLabel": "Auto", + "hasEmbeddedSubtitles": false, + "isAdaptiveQualitySelectable": true, + "isHighDynamicRange": false, + "maxHResolutionPx": 1920, + "maxVResolutionPx": 1080, + "mimeType": "application/vnd.apple.mpegurl", + "subtitles": [], + "url": "http://localhost:0000/22679/files/21/01/30/2678992/22679-jqh9gFKRm8YDnC2.ism/manifest.m3u8", + "videoCodec": "H.264" + } + ], + "videoLanguageCode": "" + } + ], + "subtitles": [] + }, + "href": "https://api.ardmediathek.de/page-gateway/mediacollectionv6/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE?isTv=false" + }, + "pagination": null, + "personalized": false, + "playerConfig": null, + "publicationService": { + "name": "funk", + "logo": { + "title": "Logo funk", + "alt": "Logo funk", + "producerName": "Logo funk", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "funk", + "id": "b3JnYW5pemF0aW9uX2Z1bms", + "coreId": "urn:ard:publisher:bed7b6abe4dbfaca" + }, + "links": { + "self": { + "id": "player_on_demand_widget_ard", + "urlId": "player_on_demand_widget_ard", + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/editorials/player_on_demand_widget_ard/item/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE?pageNumber=0&pageSize=100&embedded=true&mcV6=true", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "show": { + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNQ", + "title": "Fickt euch!", + "image": { + "alt": "Fickt euch! - Teaser", + "producerName": "funk", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:5b473fcf58f57696?w={width}&ch=8510844b07cbdef9", + "title": "Fickt euch! - Teaser" + }, + "availableSeasons": null, + "binaryFeatures": [], + "coreAssetType": "INFINITE_SERIES" + }, + "synopsis": "Den Penis richtig waschen ist ganz\neinfach! Was ihr beachten müsst, um Infektionen und unangenehme Gerüche zu vermeiden, erfahrt\nihr im Video.\nDu willst mehr? Dann abonniere meinen\nKanal: https://www.youtube.com/channel/UC3ZkjIfabQzVypsQBd9-AIQ?sub_confirmation=1Fickt euch! bei\nFacebook: http://www.facebook.com/istdochnursexFickt euch! bei\nInstagram: http://www.instagram.com/istdochnursexFickt euch! bei\nSnapchat: @istdochnursex", + "title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "player_on_demand_widget_ard", + "widget_title": "Keine Chance für Smegma! Intimhygiene für Jungs I Fickt euch - Ist doch nur Sex", + "widget_typ": "player_ondemand" + }, + "type": "player_ondemand" + }, + { + "aZContent": false, + "compilationType": "itemsOfShow", + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNQ", + "isChildContent": false, + "pagination": { + "pageNumber": 0, + "pageSize": 24, + "totalElements": 123 + }, + "personalized": false, + "links": { + "self": { + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNQ", + "urlId": "Y3JpZDovL2Z1bmsubmV0LzgzNQ", + "title": "Fickt euch!", + "href": "https://api.ardmediathek.de/page-gateway/widgets/ard/asset/Y3JpZDovL2Z1bmsubmV0LzgzNQ?excludedAssetIds=Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMDYzODE&pageNumber=0&pageSize=24&embedded=true&seasoned=false&seasonNumber=&withAudiodescription=false&withOriginalWithSubtitle=false&withOriginalversion=false&single=false", + "type": "application/vnd.ard.widget+json", + "partner": "ard" + } + }, + "size": "m", + "swipeable": true, + "teasers": [ + { + "availableTo": null, + "binaryFeatures": [], + "broadcastedOn": "2017-12-19T14:00:00Z", + "coreAssetType": "EPISODE", + "duration": 37, + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "images": { + "aspect16x9": { + "alt": "Tschüss! | Fickt euch – Ist doch nur Sex - Thumbnail", + "producerName": "funk", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:149bea358a4674e1?w={width}&ch=40739cec4e752349", + "title": "Tschüss! | Fickt euch – Ist doch nur Sex - Thumbnail" + } + }, + "isChildContent": false, + "longTitle": "Tschüss! | Fickt euch – Ist doch nur Sex", + "maturityContentRating": "NONE", + "mediumTitle": "Tschüss! | Fickt euch – Ist doch nur Sex", + "personalized": false, + "playtime": null, + "publicationService": { + "name": "funk", + "logo": { + "title": "Logo funk", + "alt": "Logo funk", + "producerName": "Logo funk", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "funk", + "id": "b3JnYW5pemF0aW9uX2Z1bms", + "coreId": "urn:ard:publisher:bed7b6abe4dbfaca" + }, + "links": { + "self": { + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "urlId": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "title": "Tschüss! | Fickt euch – Ist doch nur Sex", + "href": "https://api.ardmediathek.de/page-gateway/teasers/ard/items/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "type": "application/vnd.ard.teaser+json", + "partner": "ard" + }, + "target": { + "id": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "urlId": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "title": "Tschüss! | Fickt euch – Ist doch nur Sex", + "href": "https://api.ardmediathek.de/page-gateway/pages/ard/item/Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4?devicetype=pc&embedded=true", + "type": "application/vnd.ard.page+json", + "partner": "ard" + } + }, + "shortTitle": "Tschüss! | Fickt euch – Ist doch nur Sex", + "show": { + "id": "crid://funk.net/835", + "coremediaId": 83853182, + "title": "Fickt euch!", + "publisher": { + "name": "funk", + "logo": { + "title": "Logo funk", + "alt": "Logo funk", + "producerName": "Logo funk", + "src": "https://api.ardmediathek.de/image-service/image-collections/urn:ard:image-collection:2213972a8d101de1/16x9?w={width}", + "aspectRatio": "16x9" + }, + "publisherType": "TV", + "partner": "funk", + "id": "b3JnYW5pemF0aW9uX2Z1bms", + "coreId": "urn:ard:publisher:bed7b6abe4dbfaca" + }, + "self": null, + "images": { + "16x9": { + "title": "Fickt euch! - Teaser", + "alt": "Fickt euch! - Teaser", + "producerName": "funk", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:5b473fcf58f57696?w={width}&ch=8510844b07cbdef9", + "aspectRatio": "16x9" + }, + "16x7": { + "title": "Fickt euch! - Teaser", + "alt": "Fickt euch! - Teaser", + "producerName": "funk", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:672d8047665fffa0?w={width}&ch=6ed45b3de1ca3f3b", + "aspectRatio": "16x7" + }, + "1x1": { + "title": "Fickt euch! - Profile", + "alt": "Fickt euch! - Profile", + "producerName": "funk", + "src": "https://api.ardmediathek.de/image-service/images/urn:ard:image:a1f8855921b72c36?w={width}&ch=d473294baabf1237", + "aspectRatio": "1x1" + } + }, + "shortSynopsis": "»Fickt euch!« beantwortet alle Fragen zum Thema Sex - offen und tabulos. Einmal die Woche erzählt Kristina auf YouTube, wie vielfältig Sex sein kann, spricht Themen an, die man vielleicht nicht mit Freunden und Familie besprechen möchte und geht auf die Fragen ihrer Nutzer ein. »Fuck.TEN« fasst die zehn wichtigsten Fakten aus »Fickt euch!« zusammen. Kristina Weitkamp hat mit dem YouTube-Kanal »DAFUQ Love & Sex« bereits zwei Jahre lang in Sachen Liebesfragen viel Erfahrung gesammelt. Jetzt gibt sie ihr Wissen weiter.", + "synopsis": "»Fickt euch!« beantwortet alle Fragen zum Thema Sex - offen und tabulos. Einmal die Woche erzählt Kristina auf YouTube, wie vielfältig Sex sein kann, spricht Themen an, die man vielleicht nicht mit Freunden und Familie besprechen möchte und geht auf die Fragen ihrer Nutzer ein. »Fuck.TEN« fasst die zehn wichtigsten Fakten aus »Fickt euch!« zusammen. Kristina Weitkamp hat mit dem YouTube-Kanal »DAFUQ Love & Sex« bereits zwei Jahre lang in Sachen Liebesfragen viel Erfahrung gesammelt. Jetzt gibt sie ihr Wissen weiter.", + "longSynopsis": "»Fickt euch!« beantwortet alle Fragen zum Thema Sex - offen und tabulos. Einmal die Woche erzählt Kristina auf YouTube, wie vielfältig Sex sein kann, spricht Themen an, die man vielleicht nicht mit Freunden und Familie besprechen möchte und geht auf die Fragen ihrer Nutzer ein. »Fuck.TEN« fasst die zehn wichtigsten Fakten aus »Fickt euch!« zusammen. Kristina Weitkamp hat mit dem YouTube-Kanal »DAFUQ Love & Sex« bereits zwei Jahre lang in Sachen Liebesfragen viel Erfahrung gesammelt. Jetzt gibt sie ihr Wissen weiter.", + "modificationDate": null, + "assetSource": null, + "categories": null, + "categoryIds": null, + "coreAssetType": "INFINITE_SERIES", + "coreId": "urn:ard:show:ac739b52556da95d", + "groupingType": "SHOW", + "homepage": { + "id": null, + "title": "Fickt euch!", + "href": "https://www.funk.net/channel/fickt-euch-835", + "type": null + }, + "hasSeasons": false, + "availableSeasons": null, + "binaryFeatures": [], + "isChildContent": false + }, + "subtitled": false, + "titleVisible": true, + "trackingPiano": { + "teaser_content_type": "ondemand", + "teaser_id": "Y3JpZDovL2Z1bmsubmV0LzgzNS92aWRlby8xMTQzMzY4", + "teaser_institution": "ARD", + "teaser_institution_id": "urn:ard:institution:453603d77920d274", + "teaser_title": "Tschüss! | Fickt euch – Ist doch nur Sex" + }, + "type": "ondemand" + } + ], + "title": "Fickt euch!", + "titleVisible": true, + "trackingPiano": { + "teaser_recommended": false, + "widget_id": "Y3JpZDovL2Z1bmsubmV0LzgzNQ", + "widget_title": "Fickt euch!", + "widget_typ": "gridlist" + }, + "type": "gridlist", + "userVisibility": "ALWAYS" + } + ] +} \ No newline at end of file diff --git a/src/test/resources/ard/ard_item_fallback_m3u.txt b/src/test/resources/ard/ard_item_fallback_m3u.txt new file mode 100644 index 000000000..92229e35b --- /dev/null +++ b/src/test/resources/ard/ard_item_fallback_m3u.txt @@ -0,0 +1,33 @@ +#EXTM3U +#EXT-X-VERSION:4 +## Created with Unified Streaming Platform (version=1.12.8-28913) + +# AUDIO groups +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-128",NAME="audio",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2" +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-152",NAME="audio",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2" + +# variants +#EXT-X-STREAM-INF:BANDWIDTH=483000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=426x240,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE +22679-jqh9gFKRm8YDnC2-audio=128019-video=327000.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=979000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=640x360,AUDIO="audio-aacl-152",CLOSED-CAPTIONS=NONE +22679-jqh9gFKRm8YDnC2-audio=152016-video=771000.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=1735000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=1024x576,AUDIO="audio-aacl-152",CLOSED-CAPTIONS=NONE +22679-jqh9gFKRm8YDnC2-audio=152016-video=1484000.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=3162000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=1280x720,AUDIO="audio-aacl-152",CLOSED-CAPTIONS=NONE +22679-jqh9gFKRm8YDnC2-audio=152016-video=2831000.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=4278000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=1920x1080,AUDIO="audio-aacl-152",CLOSED-CAPTIONS=NONE +22679-jqh9gFKRm8YDnC2-audio=152016-video=3883000.m3u8 + +# variants +#EXT-X-STREAM-INF:BANDWIDTH=136000,CODECS="mp4a.40.2",AUDIO="audio-aacl-128" +22679-jqh9gFKRm8YDnC2-audio=128019.m3u8 +#EXT-X-STREAM-INF:BANDWIDTH=162000,CODECS="mp4a.40.2",AUDIO="audio-aacl-152" +22679-jqh9gFKRm8YDnC2-audio=152016.m3u8 + +# keyframes +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=44000,CODECS="avc1.4D401F",RESOLUTION=426x240,URI="keyframes/22679-jqh9gFKRm8YDnC2-video=327000.m3u8" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=103000,CODECS="avc1.4D401F",RESOLUTION=640x360,URI="keyframes/22679-jqh9gFKRm8YDnC2-video=771000.m3u8" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=197000,CODECS="avc1.4D401F",RESOLUTION=1024x576,URI="keyframes/22679-jqh9gFKRm8YDnC2-video=1484000.m3u8" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=376000,CODECS="avc1.4D401F",RESOLUTION=1280x720,URI="keyframes/22679-jqh9gFKRm8YDnC2-video=2831000.m3u8" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=515000,CODECS="avc1.4D401F",RESOLUTION=1920x1080,URI="keyframes/22679-jqh9gFKRm8YDnC2-video=3883000.m3u8" +] \ No newline at end of file