Extract dashManifestUrl in playerResponse

This commit is contained in:
wb9688 2020-05-15 12:04:21 +02:00
parent 60e6df7e6b
commit 7ef3e80493
2 changed files with 4 additions and 3 deletions

View File

@ -377,7 +377,9 @@ public class YoutubeStreamExtractor extends StreamExtractor {
assertPageFetched();
try {
String dashManifestUrl;
if (videoInfoPage.containsKey("dashmpd")) {
if (playerResponse.getObject("streamingData").isString("dashManifestUrl")) {
return playerResponse.getObject("streamingData").getString("dashManifestUrl");
} else if (videoInfoPage.containsKey("dashmpd")) {
dashManifestUrl = videoInfoPage.get("dashmpd");
} else if (playerArgs != null && playerArgs.isString("dashmpd")) {
dashManifestUrl = playerArgs.getString("dashmpd", EMPTY_STRING);

View File

@ -116,8 +116,7 @@ public class YoutubeStreamExtractorLivestreamTest {
@Test
public void testGetDashMpd() throws ParsingException {
// we dont expect this particular video to have a DASH file. For this purpouse we use a different test class.
assertTrue(extractor.getDashMpdUrl(), extractor.getDashMpdUrl().isEmpty());
assertTrue(extractor.getDashMpdUrl().startsWith("https://manifest.googlevideo.com/api/manifest/dash/"));
}
@Test