pull/585/head
FongMi 11 months ago
parent 7f4e40885f
commit f52b7a1584
  1. 5
      app/src/main/java/com/fongmi/android/tv/impl/NewPipeImpl.java
  2. 12
      app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java

@ -3,7 +3,6 @@ package com.fongmi.android.tv.impl;
import androidx.annotation.NonNull;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Util;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.extractor.downloader.Request;
@ -19,6 +18,8 @@ import okhttp3.ResponseBody;
public final class NewPipeImpl extends Downloader {
public static final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0";
private static class Loader {
static volatile NewPipeImpl INSTANCE = new NewPipeImpl();
}
@ -39,7 +40,7 @@ public final class NewPipeImpl extends Downloader {
requestBody = RequestBody.create(null, dataToSend);
}
okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder().method(httpMethod, requestBody).url(url).addHeader("User-Agent", Util.CHROME);
okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder().method(httpMethod, requestBody).url(url).addHeader("User-Agent", USER_AGENT);
for (Map.Entry<String, List<String>> pair : headers.entrySet()) {
String headerName = pair.getKey();

@ -49,7 +49,17 @@ public class Youtube implements Source.Extractor {
YoutubeStreamExtractor extractor = new YoutubeStreamExtractor(ServiceList.YouTube, handler);
extractor.forceLocalization(NewPipe.getPreferredLocalization());
extractor.fetchPage();
return StreamType.LIVE_STREAM.equals(extractor.getStreamType()) ? extractor.getHlsUrl() : getMpd(extractor);
return StreamType.LIVE_STREAM.equals(extractor.getStreamType()) ? getLive(extractor) : getMpd(extractor);
}
private String getLive(YoutubeStreamExtractor extractor) throws Exception {
if (!extractor.getHlsUrl().isEmpty()) {
return extractor.getHlsUrl();
} else if (!extractor.getDashMpdUrl().isEmpty()) {
return extractor.getDashMpdUrl();
} else {
return "";
}
}
private String getMpd(YoutubeStreamExtractor extractor) throws Exception {

Loading…
Cancel
Save