I have a school project where the user can send in a youtube link and my program will analyze the network data/traffic of that link and return a url to a weba file which can then be downloaded. For example, if you were to input this url into the program https://www.youtube.com/watch?v=9XJicRt_FaI&t it would return
https://rr3---sn-ni5f-ttjz.googlevideo.com/videoplayback?expire=1644479326&ei=_m4EYvzODsSGkga61Lq4Cw&ip=24.66.129.76&id=o-AP-rBWWh9wmxPybC7QrDzHcLH7Q3n5DbhVLaT8XnNdQ1&itag=248&aitags=133,134,135,136,137,160,242,243,244,247,248,278&source=youtube&requiressl=yes&mh=jc&mm=31,29&mn=sn-ni5f-ttjz,sn-nx5e6ne6&ms=au,rdu&mv=m&mvi=3&pl=24&initcwndbps=1833750&vprv=1&mime=video/webm&ns=1ybRbp0Ykruhjw90vhgo8XMG&gir=yes&clen=392245295&dur=15600.067&lmt=1619095762233203&mt=1644457278&fvip=6&keepalive=yes&fexp=24001373,24007246&c=WEB&txp=5316222&n=J0WOk_CYVkNUfA&sparams=expire,ei,ip,id,aitags,source,requiressl,vprv,mime,ns,gir,clen,dur,lmt&sig=AOq0QJ8wRAIgdRjslJEo0sjiy39W2UBKfHrPLg3EvzuNeJzI3Nt3w_8CIHa9ifC-ZzEiqMQH9d4DNm3mbISdOVPqoTCn3wSwtZyI&lsparams=mh,mm,mn,ms,mv,mvi,pl,initcwndbps&lsig=AG3C_xAwRQIhAK-JZLqBReC4zEdkDFvUOPP7wTA6wG7EDapcUC4m3QseAiBfLZAheuJLSmEVnfiQC8Ucv9qp3Yb7TYP5QM-1SE76xA==&alr=yes&cpn=dv_e1uauQxf-GX1N&cver=2.20220208.09.00&range=0-52765&rn=1&rbuf=0
which can only be obtained by analyzing the network data/traffic. Currently I'm using selenium to do this, but I don't want the user to have to install chrome or firefox to use my program. Since I'm using javafx and javafx comes with a WebEngine, is there any code I can implement to get the network data/traffic of any url loaded by the WebEngine which can then be analyzed by my program?
Example of network traffic/data below
The image above is a screenshot of the data which my program obtains and parses.
The code I use to obtain the weba url of a youtube link is shown below. Currently I'm using selenium library 4.1.0.
DownloadClass
package downloadclass;
/**
*
* @author 11094922
*/
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
import java.util.Scanner;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class DownloadClass{
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
//Set the Path of Executable Browser Driver
System.out.print("Input a youtube video you want to download: ");
Scanner userInput = new Scanner(System.in);
String youtubeUrl = userInput.next();
System.setProperty("webdriver.chrome.driver", "C:\\Users\\JohnDoe\\Dropbox(Old)\\My PC (DESKTOP-P6JNU2B)\\Documents\\ChromeDriver\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");//start the chrome browser headless, can be changed if you want
options.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(options);
driver.get(youtubeUrl);
String scriptToExecute = "var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; var network = performance.getEntries() || {}; return network;";
String netData = ((JavascriptExecutor) driver).executeScript(scriptToExecute).toString();
PrintWriter pw = new PrintWriter(new FileWriter("html.txt"));
Scanner htmlSc = new Scanner(new File("html.txt"));
pw.println(netData);
pw.close();
htmlSc.close();
driver.close();
netData = netData.substring(netData.indexOf("mime=audio") - 600);
netData = netData.substring(netData.indexOf("https:"));
netData = netData.substring(0, netData.indexOf("range"));
System.out.println(netData);
URL downloadURL = null;
downloadURL = new URL(netData);//sometimes the post malone sunflower song gives an invalid link
long length;
int count = 0;
try ( BufferedInputStream bis = new BufferedInputStream(downloadURL.openStream()); FileOutputStream fos = new FileOutputStream("Kurdy.mp3")) {
length = downloadURL.openConnection().getContentLength();
int i = 0;
final byte[] data = new byte[1024];
while ((count = bis.read(data)) != -1) {
i = count;
fos.write(data, 0, count);
}
} catch (IOException ex) {
}
}
}
The code above will return the raw data shown below for me to parse the weba url out of.
Raw data returned
[{connectEnd=2752.39999999851, connectStart=2621.2999999970198, decodedBodySize=506917, domComplete=4756, domContentLoadedEventEnd=4723.79999999702, domContentLoadedEventStart=4723.099999997765, domInteractive=4721, domainLookupEnd=2621.2999999970198, domainLookupStart=2613.39999999851, duration=4756.79999999702, encodedBodySize=69531, entryType=navigation, fetchStart=0.09999999776482582, initiatorType=navigation, loadEventEnd=4756.79999999702, loadEventStart=4756.199999999255, name=https://www.youtube.com/watch?v=jhFDyDgMVUI, nextHopProtocol=h2, redirectCount=0, redirectEnd=0, redirectStart=0, requestStart=2753.199999999255, responseEnd=3074.39999999851, responseStart=2834.39999999851, secureConnectionStart=2657.199999999255, serverTiming=[], startTime=0, transferSize=69831, type=navigate, unloadEventEnd=0, unloadEventStart=0, workerStart=0, workerTiming=[]}, {connectEnd=2851.099999997765, connectStart=2851.099999997765, decodedBodySize=50691, domainLookupEnd=2851.099999997765, domainLookupStart=2851.099999997765, duration=55.600000001490116, encodedBodySize=15162, entryType=resource, fetchStart=2851.099999997765, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=2855.2999999970198, responseEnd=2906.699999999255, responseStart=2898.699999999255, secureConnectionStart=2851.099999997765, serverTiming=[], startTime=2851.099999997765, transferSize=15462, workerStart=0, workerTiming=[]}, {connectEnd=2851.2999999970198, connectStart=2851.2999999970198, decodedBodySize=117332, domainLookupEnd=2851.2999999970198, domainLookupStart=2851.2999999970198, duration=141.40000000223517, encodedBodySize=32023, entryType=resource, fetchStart=2851.2999999970198, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/webcomponents-all-noPatch.vflset/webcomponents-all-noPatch.js, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=2856.599999997765, responseEnd=2992.699999999255, responseStart=2906.099999997765, secureConnectionStart=2851.2999999970198, serverTiming=[], startTime=2851.2999999970198, transferSize=32323, workerStart=0, workerTiming=[]}, {connectEnd=2851.5, connectStart=2851.5, decodedBodySize=8543, domainLookupEnd=2851.5, domainLookupStart=2851.5, duration=141.59999999776483, encodedBodySize=2830, entryType=resource, fetchStart=2851.5, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/fetch-polyfill.vflset/fetch-polyfill.js, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=2856.89999999851, responseEnd=2993.099999997765, responseStart=2928.2999999970198, secureConnectionStart=2851.5, serverTiming=[], startTime=2851.5, transferSize=3130, workerStart=0, workerTiming=[]}, {connectEnd=2851.699999999255, connectStart=2851.699999999255, decodedBodySize=5547, domainLookupEnd=2851.699999999255, domainLookupStart=2851.699999999255, duration=141.69999999925494, encodedBodySize=2090, entryType=resource, fetchStart=2851.699999999255, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/intersection-observer.min.vflset/intersection-observer.min.js, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=2857, responseEnd=2993.39999999851, responseStart=2929.599999997765, secureConnectionStart=2851.699999999255, serverTiming=[], startTime=2851.699999999255, transferSize=2390, workerStart=0, workerTiming=[]}, {connectEnd=0, connectStart=0, decodedBodySize=0, domainLookupEnd=0, domainLookupStart=0, duration=790, encodedBodySize=0, entryType=resource, fetchStart=2870.39999999851, initiatorType=img, name=https://i.ytimg.com/generate_204, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=0, responseEnd=3660.39999999851, responseStart=0, secureConnectionStart=0, serverTiming=[], startTime=2870.39999999851, transferSize=0, workerStart=0, workerTiming=[]}, {connectEnd=2871.39999999851, connectStart=2871.39999999851, decodedBodySize=4253, domainLookupEnd=2871.39999999851, domainLookupStart=2871.39999999851, duration=200.80000000074506, encodedBodySize=1378, entryType=resource, fetchStart=2871.39999999851, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/www-i18n-constants-en_US.vflset/www-i18n-constants.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3033.2999999970198, responseEnd=3072.199999999255, responseStart=3071.5, secureConnectionStart=2871.39999999851, serverTiming=[], startTime=2871.39999999851, transferSize=1678, workerStart=0, workerTiming=[]}, {connectEnd=3032.699999999255, connectStart=3032.699999999255, decodedBodySize=9920, domainLookupEnd=3032.699999999255, domainLookupStart=3032.699999999255, duration=200.5, encodedBodySize=3818, entryType=resource, fetchStart=2871.39999999851, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/scheduler.vflset/scheduler.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3032.89999999851, responseEnd=3071.89999999851, responseStart=3071.199999999255, secureConnectionStart=3032.699999999255, serverTiming=[], startTime=2871.39999999851, transferSize=4118, workerStart=0, workerTiming=[]}, {connectEnd=2871.5, connectStart=2871.5, decodedBodySize=346087, domainLookupEnd=2871.5, domainLookupStart=2871.5, duration=271, encodedBodySize=47369, entryType=resource, fetchStart=2871.5, initiatorType=link, name=https://www.youtube.com/s/player/13e70377/www-player.css, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3075.699999999255, responseEnd=3142.5, responseStart=3112.7999999970198, secureConnectionStart=2871.5, serverTiming=[], startTime=2871.5, transferSize=47669, workerStart=0, workerTiming=[]}, {connectEnd=3165.699999999255, connectStart=3076, decodedBodySize=10642, domainLookupEnd=3076, domainLookupStart=3075.599999997765, duration=347.3999999985099, encodedBodySize=870, entryType=resource, fetchStart=2871.5, initiatorType=link, name=https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=YouTube Sans:[email protected]&display=swap, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=3166, responseEnd=3218.89999999851, responseStart=3217.7999999970198, secureConnectionStart=3110.099999997765, serverTiming=[], startTime=2871.5, transferSize=1170, workerStart=0, workerTiming=[]}, {connectEnd=2871.699999999255, connectStart=2871.699999999255, decodedBodySize=4910, domainLookupEnd=2871.699999999255, domainLookupStart=2871.699999999255, duration=306.30000000074506, encodedBodySize=929, entryType=resource, fetchStart=2871.699999999255, initiatorType=link, name=https://www.youtube.com/s/desktop/21ad9f7d/cssbin/www-main-desktop-watch-page-skeleton.css, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3145.89999999851, responseEnd=3178, responseStart=3176.5, secureConnectionStart=2871.699999999255, serverTiming=[], startTime=2871.699999999255, transferSize=1229, workerStart=0, workerTiming=[]}, {connectEnd=2871.699999999255, connectStart=2871.699999999255, decodedBodySize=1920, domainLookupEnd=2871.699999999255, domainLookupStart=2871.699999999255, duration=369.19999999925494, encodedBodySize=470, entryType=resource, fetchStart=2871.699999999255, initiatorType=link, name=https://www.youtube.com/s/desktop/21ad9f7d/cssbin/www-main-desktop-player-skeleton.css, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3205.099999997765, responseEnd=3240.89999999851, responseStart=3240.5, secureConnectionStart=2871.699999999255, serverTiming=[], startTime=2871.699999999255, transferSize=770, workerStart=0, workerTiming=[]}, {connectEnd=2871.699999999255, connectStart=2871.699999999255, decodedBodySize=841, domainLookupEnd=2871.699999999255, domainLookupStart=2871.699999999255, duration=385.8999999985099, encodedBodySize=239, entryType=resource, fetchStart=2871.699999999255, initiatorType=link, name=https://www.youtube.com/s/desktop/21ad9f7d/cssbin/www-onepick.css, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3222, responseEnd=3257.599999997765, responseStart=3257.199999999255, secureConnectionStart=2871.699999999255, serverTiming=[], startTime=2871.699999999255, transferSize=539, workerStart=0, workerTiming=[]}, {connectEnd=2871.7999999970198, connectStart=2871.7999999970198, decodedBodySize=1895901, domainLookupEnd=2871.7999999970198, domainLookupStart=2871.7999999970198, duration=569.9000000022352, encodedBodySize=539753, entryType=resource, fetchStart=2871.7999999970198, initiatorType=script, name=https://www.youtube.com/s/player/13e70377/player_ias.vflset/en_US/base.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3243.7999999970198, responseEnd=3441.699999999255, responseStart=3279.599999997765, secureConnectionStart=2871.7999999970198, serverTiming=[], startTime=2871.7999999970198, transferSize=540053, workerStart=0, workerTiming=[]}, {connectEnd=2949.5, connectStart=2949.5, decodedBodySize=38653, domainLookupEnd=2949.5, domainLookupStart=2949.5, duration=354.5, encodedBodySize=13277, entryType=resource, fetchStart=2949.5, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/spf.vflset/spf.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3259.699999999255, responseEnd=3304, responseStart=3300.39999999851, secureConnectionStart=2949.5, serverTiming=[], startTime=2949.5, transferSize=13577, workerStart=0, workerTiming=[]}, {connectEnd=2949.5, connectStart=2949.5, decodedBodySize=13999, domainLookupEnd=2949.5, domainLookupStart=2949.5, duration=400.69999999925494, encodedBodySize=5270, entryType=resource, fetchStart=2949.5, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/network.vflset/network.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3306.89999999851, responseEnd=3350.199999999255, responseStart=3346.199999999255, secureConnectionStart=2949.5, serverTiming=[], startTime=2949.5, transferSize=5570, workerStart=0, workerTiming=[]}, {connectEnd=2951.5, connectStart=2951.5, decodedBodySize=7477237, domainLookupEnd=2951.5, domainLookupStart=2951.5, duration=599.5999999977648, encodedBodySize=1276481, entryType=resource, fetchStart=2951.5, initiatorType=script, name=https://www.youtube.com/s/desktop/21ad9f7d/jsbin/desktop_polymer_legacy_browsers.vflset/desktop_polymer_legacy_browsers.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3352.599999997765, responseEnd=3551.099999997765, responseStart=3396.599999997765, secureConnectionStart=2951.5, serverTiming=[], startTime=2951.5, transferSize=1276781, workerStart=0, workerTiming=[]}, {connectEnd=0, connectStart=0, decodedBodySize=0, domainLookupEnd=0, domainLookupStart=0, duration=320.6000000014901, encodedBodySize=0, entryType=resource, fetchStart=3262.2999999970198, initiatorType=img, name=https://r4---sn-ni5f-ttjz.googlevideo.com/generate_204?conn2, nextHopProtocol=http/1.1, redirectEnd=0, redirectStart=0, requestStart=0, responseEnd=3582.89999999851, responseStart=0, secureConnectionStart=0, serverTiming=[], startTime=3262.2999999970198, transferSize=0, workerStart=0, workerTiming=[]}, {connectEnd=0, connectStart=0, decodedBodySize=0, domainLookupEnd=0, domainLookupStart=0, duration=320.80000000074506, encodedBodySize=0, entryType=resource, fetchStart=3262.2999999970198, initiatorType=img, name=https://r4---sn-ni5f-ttjz.googlevideo.com/generate_204, nextHopProtocol=http/1.1, redirectEnd=0, redirectStart=0, requestStart=0, responseEnd=3583.099999997765, responseStart=0, secureConnectionStart=0, serverTiming=[], startTime=3262.2999999970198, transferSize=0, workerStart=0, workerTiming=[]}, {detail=null, duration=0, entryType=mark, name=mark_pe, startTime=3501.099999997765, toJSON={}}, {connectEnd=4080.5, connectStart=3988.89999999851, decodedBodySize=15688, domainLookupEnd=3988.89999999851, domainLookupStart=3988.2999999970198, duration=609.1000000014901, encodedBodySize=15688, entryType=resource, fetchStart=3519.599999997765, initiatorType=css, name=https://fonts.gstatic.com/s/roboto/v29/KFOmCnqEu92Fr1Mu4mxK.woff2, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=4081.599999997765, responseEnd=4128.699999999255, responseStart=4120.099999997765, secureConnectionStart=4026.599999997765, serverTiming=[], startTime=3519.599999997765, transferSize=15988, workerStart=0, workerTiming=[]}, {duration=0, entryType=paint, name=first-paint, startTime=3523.89999999851, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_cfg, startTime=3535.89999999851, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_fs, startTime=3834.39999999851, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_qoes, startTime=3845.699999999255, toJSON={}}, {connectEnd=3854.2999999970198, connectStart=3854.2999999970198, decodedBodySize=0, domainLookupEnd=3854.2999999970198, domainLookupStart=3854.2999999970198, duration=43.20000000298023, encodedBodySize=0, entryType=resource, fetchStart=3854.2999999970198, initiatorType=beacon, name=https://www.youtube.com/api/stats/qoe?fmt=396&afmt=250&cpn=n2sFjMkqotmGwI53&el=detailpage&ns=yt&fexp=9479112,23748146,23821390,23848211,23983296,23986025,24001036,24001373,24002022,24002025,24002922,24004644,24007246,24062270,24080738,24082662,24129402,24141079,24146885,24148125,24148375,24148482&cl=416661873&seq=1&docid=jhFDyDgMVUI&ei=0EC8YcnkLbiOsfIP2diCgAU&event=streamingstats&plid=AAXTUsQBs35nGzXr&cbr=HeadlessChrome&cbrver=96.0.4664.110&c=WEB&cver=2.20211216.01.02&cplayer=UNIPLAYER&cos=Windows&cosver=10.0&cplatform=DESKTOP&vps=0.000:N,0.007:N&afs=0.007:250::i&vfs=0.007:396:396::r&view=0.007:326:183&bwe=0.007:130000&vis=0.007:0&cmt=0.007:0.000&bh=0.007:0.000, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3855.599999997765, responseEnd=3897.5, responseStart=3897.199999999255, secureConnectionStart=3854.2999999970198, serverTiming=[], startTime=3854.2999999970198, transferSize=300, workerStart=0, workerTiming=[]}, {connectEnd=3882, connectStart=3860.199999999255, decodedBodySize=1053, domainLookupEnd=3860.199999999255, domainLookupStart=3859.699999999255, duration=41.400000002235174, encodedBodySize=1053, entryType=resource, fetchStart=3858.2999999970198, initiatorType=xmlhttprequest, name=https://rr5---sn-ni5f-ttjs.googlevideo.com/videoplayback?expire=1639748912&ei=0EC8YYC6LLPJkwam47fQAg&ip=24.66.129.76&id=o-AH61S4JaxFatkRyLZFu8jnTN72U-34lVHGTumxWx2SqV&itag=396&aitags=133,134,135,160,242,243,244,278,394,395,396,397&source=youtube&requiressl=yes&mh=UX&mm=31,29&mn=sn-ni5f-ttjs,sn-nx5e6nez&ms=au,rdu&mv=m&mvi=5&pl=22&initcwndbps=1915000&vprv=1&mime=video/mp4&ns=5siZUYxIU4h1mjObNJLF4zkG&gir=yes&clen=1742&dur=0.767&lmt=1627960105117529&mt=1639727098&fvip=5&keepalive=yes&fexp=24001373,24007246&c=WEB&txp=5432434&n=MVHCL8f8RYRkzw&sparams=expire,ei,ip,id,aitags,source,requiressl,vprv,mime,ns,gir,clen,dur,lmt&sig=AOq0QJ8wRQIhANIu-YqxKx0wE1v6eukCmy3A-4exrOXYMS8xrtxwu2T8AiBVXYW9pUEXaKVTrYY0xwUU8_5bT_ImvTMej6rEnfBaxQ==&lsparams=mh,mm,mn,ms,mv,mvi,pl,initcwndbps&lsig=AG3C_xAwRgIhAKqBSIMQGn5U7EyyF-WtgBexo2OQvhSXWWwxFpFCigzfAiEAqTvc56a_a-MeSSnaE9Wvt-p8zAowwSZHVLPPVETmT3I=&alr=yes&cpn=n2sFjMkqotmGwI53&cver=2.20211216.01.02&range=0-1741&rn=1&rbuf=0, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3882.199999999255, responseEnd=3899.699999999255, responseStart=3899.2999999970198, secureConnectionStart=3860.699999999255, serverTiming=[], startTime=3858.2999999970198, transferSize=1353, workerStart=0, workerTiming=[]}, {connectEnd=3860.7999999970198, connectStart=3860.7999999970198, decodedBodySize=655, domainLookupEnd=3860.7999999970198, domainLookupStart=3860.7999999970198, duration=48.900000002235174, encodedBodySize=655, entryType=resource, fetchStart=3860.7999999970198, initiatorType=xmlhttprequest, name=https://rr5---sn-ni5f-ttjs.googlevideo.com/videoplayback?expire=1639748912&ei=0EC8YYC6LLPJkwam47fQAg&ip=24.66.129.76&id=o-AH61S4JaxFatkRyLZFu8jnTN72U-34lVHGTumxWx2SqV&itag=250&source=youtube&requiressl=yes&mh=UX&mm=31,29&mn=sn-ni5f-ttjs,sn-nx5e6nez&ms=au,rdu&mv=m&mvi=5&pl=22&initcwndbps=1915000&vprv=1&mime=audio/webm&ns=5siZUYxIU4h1mjObNJLF4zkG&gir=yes&clen=655&dur=0.801&lmt=1626267392750441&mt=1639727098&fvip=5&keepalive=yes&fexp=24001373,24007246&c=WEB&txp=5411222&n=MVHCL8f8RYRkzw&sparams=expire,ei,ip,id,itag,source,requiressl,vprv,mime,ns,gir,clen,dur,lmt&sig=AOq0QJ8wRgIhAJPzlLdaaXp8gjlukeDne04x8L6iRwflbUuqYXLb39kHAiEA7Q3dCRNtD8u9uG9YV4Jb2_Pdb0poi1WIO_-ZZvBCJmY=&lsparams=mh,mm,mn,ms,mv,mvi,pl,initcwndbps&lsig=AG3C_xAwRgIhAKqBSIMQGn5U7EyyF-WtgBexo2OQvhSXWWwxFpFCigzfAiEAqTvc56a_a-MeSSnaE9Wvt-p8zAowwSZHVLPPVETmT3I=&alr=yes&cpn=n2sFjMkqotmGwI53&cver=2.20211216.01.02&range=0-654&rn=2&rbuf=0, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3882.2999999970198, responseEnd=3909.699999999255, responseStart=3909.099999997765, secureConnectionStart=3860.7999999970198, serverTiming=[], startTime=3860.7999999970198, transferSize=955, workerStart=0, workerTiming=[]}, {connectEnd=3864.199999999255, connectStart=3864.199999999255, decodedBodySize=95789, domainLookupEnd=3864.199999999255, domainLookupStart=3864.199999999255, duration=40.599999997764826, encodedBodySize=29669, entryType=resource, fetchStart=3864.199999999255, initiatorType=script, name=https://www.youtube.com/s/player/13e70377/player_ias.vflset/en_US/remote.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3865.599999997765, responseEnd=3904.7999999970198, responseStart=3902.599999997765, secureConnectionStart=3864.199999999255, serverTiming=[], startTime=3864.199999999255, transferSize=29969, workerStart=0, workerTiming=[]}, {connectEnd=3864.5, connectStart=3864.5, decodedBodySize=5051, domainLookupEnd=3864.5, domainLookupStart=3864.5, duration=39.399999998509884, encodedBodySize=1474, entryType=resource, fetchStart=3864.5, initiatorType=script, name=https://www.youtube.com/s/player/13e70377/player_ias.vflset/en_US/miniplayer.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3866.099999997765, responseEnd=3903.89999999851, responseStart=3902.89999999851, secureConnectionStart=3864.5, serverTiming=[], startTime=3864.5, transferSize=1774, workerStart=0, workerTiming=[]}, {connectEnd=3865.7999999970198, connectStart=3865.7999999970198, decodedBodySize=26607, domainLookupEnd=3865.7999999970198, domainLookupStart=3865.7999999970198, duration=38.5, encodedBodySize=7183, entryType=resource, fetchStart=3865.7999999970198, initiatorType=script, name=https://www.youtube.com/s/player/13e70377/player_ias.vflset/en_US/endscreen.js, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=3867.199999999255, responseEnd=3904.2999999970198, responseStart=3903, secureConnectionStart=3865.7999999970198, serverTiming=[], startTime=3865.7999999970198, transferSize=7483, workerStart=0, workerTiming=[]}, {detail=null, duration=0, entryType=mark, name=mark_pbr, startTime=3871.599999997765, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_bs, startTime=3940.7999999970198, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_ai, startTime=3948, toJSON={}}, {connectEnd=0, connectStart=0, decodedBodySize=0, domainLookupEnd=0, domainLookupStart=0, duration=552.1999999992549, encodedBodySize=0, entryType=resource, fetchStart=3949.599999997765, initiatorType=iframe, name=https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https://www.youtube.com/signin?action_handle_signin=true&app=desktop&hl=en&next=%2Fsignin_passive&feature=passive&hl=en, nextHopProtocol=, redirectEnd=0, redirectStart=0, requestStart=0, responseEnd=4501.79999999702, responseStart=0, secureConnectionStart=0, serverTiming=[], startTime=3949.599999997765, transferSize=0, workerStart=0, workerTiming=[]}, {duration=0, entryType=paint, name=first-contentful-paint, startTime=3956.89999999851, toJSON={}}, {connectEnd=4139.099999997765, connectStart=4095.89999999851, decodedBodySize=1742, domainLookupEnd=4095.89999999851, domainLookupStart=4071.7999999970198, duration=279.4000000022352, encodedBodySize=1742, entryType=resource, fetchStart=3965.2999999970198, initiatorType=xmlhttprequest, name=https://rr5---sn-nx5e6nez.googlevideo.com/videoplayback?expire=1639748912&ei=0EC8YYC6LLPJkwam47fQAg&ip=24.66.129.76&id=o-AH61S4JaxFatkRyLZFu8jnTN72U-34lVHGTumxWx2SqV&itag=396&aitags=133,134,135,160,242,243,244,278,394,395,396,397&source=youtube&requiressl=yes&vprv=1&mime=video/mp4&ns=5siZUYxIU4h1mjObNJLF4zkG&gir=yes&clen=1742&dur=0.767&lmt=1627960105117529&keepalive=yes&fexp=24001373,24007246&c=WEB&txp=5432434&n=MVHCL8f8RYRkzw&sparams=expire,ei,ip,id,aitags,source,requiressl,vprv,mime,ns,gir,clen,dur,lmt&sig=AOq0QJ8wRQIhANIu-YqxKx0wE1v6eukCmy3A-4exrOXYMS8xrtxwu2T8AiBVXYW9pUEXaKVTrYY0xwUU8_5bT_ImvTMej6rEnfBaxQ==&alr=yes&cpn=n2sFjMkqotmGwI53&cver=2.20211216.01.02&redirect_counter=1&cm2rm=sn-ni5f-ttjs76&cms_redirect=yes&ipbypass=yes&mh=UX&mm=29&mn=sn-nx5e6nez&ms=rdu&mt=1639727095&mv=m&mvi=5&pl=22&lsparams=ipbypass,mh,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRAIgO7i2PdH_D7Zqz5Z6jZSXSxOhlfS9WiGSED6oudLCBLACIF5VWY_uB2z4YpmcrmJo0qJQkxX6kJtISW8fPCtJMNZI&range=0-1741&rn=3&rbuf=0, nextHopProtocol=h3, redirectEnd=0, redirectStart=0, requestStart=4139.199999999255, responseEnd=4244.699999999255, responseStart=4244.199999999255, secureConnectionStart=4096.199999999255, serverTiming=[], startTime=3965.2999999970198, transferSize=2042, workerStart=0, workerTiming=[]}, {detail=null, duration=0, entryType=mark, name=mark_nc_pj, startTime=3970, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_rsbe_dpj, startTime=3973.5, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_js_ld, startTime=3976.7999999970198, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_rses_dpj, startTime=4014, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_gv, startTime=4495.199999999255, toJSON={}}, {connectEnd=4617, connectStart=4525.39999999851, decodedBodySize=1314, domainLookupEnd=4525.39999999851, domainLookupStart=4509.5, duration=165.60000000149012, encodedBodySize=1314, entryType=resource, fetchStart=4502.599999997765, initiatorType=css, name=https://i1.ytimg.com/vi/jhFDyDgMVUI/hqdefault.jpg, nextHopProtocol=h2, redirectEnd=0, redirectStart=0, requestStart=4617.199999999255, responseEnd=4668.199999999255, responseStart=4667.29999999702, secureConnectionStart=4561.29999999702, serverTiming=[], startTime=4502.599999997765, transferSize=1614, workerStart=0, workerTiming=[]}, {detail=null, duration=0, entryType=mark, name=mark_rsef_dpj, startTime=4511, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_rsae_dpj, startTime=4515.599999997765, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_js_r, startTime=4519.5, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_ac, startTime=4527.699999999255, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_apr, startTime=4531.099999997765, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_apa_b, startTime=4533.39999999851, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_apa_a, startTime=4657.89999999851, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_gcc, startTime=4679.199999999255, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_pdc, startTime=4684.099999997765, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_pdr, startTime=4707.699999999255, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_dl, startTime=4756.599999997765, toJSON={}}, {detail=null, duration=0, entryType=mark, name=mark_fvb, startTime=4762.29999999702, toJSON={}}]
CodePudding user response:

