కోష్చెయ్ మరణం సిఫార్సుల జాబితాలో ఉంది (YouTubeని హాయిగా మరియు సురక్షితంగా చేయడం సాధ్యమేనా?)
పరిచయం చిన్నది: నేను స్థానిక ప్లేజాబితాలు, ఛానెల్లు మరియు సిఫార్సులతో Android కోసం YouTube ఆన్లైన్ ప్లేయర్ గురించి మాట్లాడాలనుకుంటున్నాను.
విస్తరించిన పరిచయం:
కొంతకాలం క్రితం నేను అద్భుతమైన అప్లికేషన్ యొక్క రచయిత వలె సరిగ్గా అదే సమస్యను ఎదుర్కొన్నాను ఛానెల్ వైట్లిస్ట్, మరియు నేను దాని పట్ల సరిగ్గా అదే వైఖరిని నిర్ణయించుకున్నాను: నేను నా బిడ్డకు ఎప్పటికప్పుడు కార్టూన్లతో కూడిన టాబ్లెట్ లేదా స్మార్ట్ఫోన్ను ఇవ్వాలనుకుంటున్నాను, కానీ 2-3 క్లిక్ల తర్వాత, జాబితా ఎక్కడ ఉన్నదనే దానిపై నేను అస్సలు సంతోషంగా లేను. ప్రామాణిక అప్లికేషన్లలోని సిఫార్సులు - YouTube క్లయింట్లు - పిల్లలను తీసుకుంటాయి.
దురదృష్టవశాత్తూ, ఛానెల్ వైట్లిస్ట్ అప్లికేషన్ను ఇన్స్టాల్ చేసిన తర్వాత, మరొక విచిత్రమైన, కానీ ఇప్పటికీ ప్రాణాంతకమైన లోపం కనుగొనబడింది - NIH I (మరియు, ముఖ్యంగా, నా కొడుకు) దాని ఇంటర్ఫేస్ చాలా సౌకర్యవంతంగా లేదని గుర్తించింది, ప్రత్యేకించి YouTube కిడ్స్ ప్లేయర్ని ఉపయోగించే అలవాటు తర్వాత.
సాధారణంగా, కొంత సమయం తరువాత నేను నా స్వంత అమలు చేయడానికి సిద్ధంగా ఉన్నాను. కొంత సమయం తరువాత, మొదటి విడుదలకు ట్యాగ్ వేయడం సాధ్యమైంది.
ముఖ్య లక్షణాలు:
మీకు ఇష్టమైన ఛానెల్లు మరియు ప్లేజాబితాలను జోడించండి - అవి స్థానిక డేటాబేస్లో సేవ్ చేయబడతాయి మరియు సూచిక చేయబడతాయి
జోడించిన ప్లేజాబితాల్లో, అనవసరమైన వీడియోలు మీకు అవసరం లేకుంటే వాటిని ఆఫ్ చేయండి
అప్లికేషన్కు జోడించబడిన ఛానెల్లు మరియు ప్లేజాబితాల నుండి మాత్రమే సిఫార్సుల జాబితా యాదృచ్ఛికంగా రూపొందించబడుతుంది
Google API మరియు వెబ్ రేపర్లను ఉపయోగించకుండా మీ Android అప్లికేషన్లో YouTube వీడియోలను ప్లే చేయడం ఎలా అనే దానిపై మరింత వివరంగా ప్రధాన ఫీచర్ల యొక్క అవలోకనం క్రింద ఉంది.
ప్రధాన స్క్రీన్పై మరియు ప్లేయర్ స్క్రీన్పై: యాదృచ్ఛికం కాని ఛానెల్ల నుండి యాదృచ్ఛిక సిఫార్సులు
స్థానిక డేటాబేస్లో తక్షణ శోధన
=>
కొత్త ఛానెల్ లేదా ప్లేజాబితాని జోడించండి
ఆన్లైన్లో పేరుతో శోధించండి లేదా తెలిసిన చిరునామాను చొప్పించండి. ఛానెల్ లేదా ప్లేజాబితా యొక్క వీడియోల జాబితా స్థానిక డేటాబేస్లో సేవ్ చేయబడుతుంది; చిహ్నాలు కాష్ చేయబడవు.
డైనమిక్ ప్లేజాబితా - శోధన ఫలితాలను ప్లే చేయండి
=>
వీడియో సిఫార్సులలో శోధన ప్రశ్నను సంతృప్తిపరిచే వీడియోలు మాత్రమే ఉంటాయి.
అదేవిధంగా, మీరు ప్లేజాబితా సెట్టింగ్ల నుండి వీడియోని తెరిస్తే, అదే ప్లేజాబితాలోని వీడియోలు మాత్రమే సిఫార్సుల జాబితాలో కనిపిస్తాయి.
ప్లేజాబితాలు మరియు ఛానెల్లను తాత్కాలికంగా ఆఫ్ చేసి మళ్లీ ఆన్ చేయవచ్చు
దయచేసి గమనించండి: డిసేబుల్ ప్లేజాబితా నుండి వీడియోలు శోధన ఫలితాలు, వీక్షణ చరిత్ర మరియు ఇష్టమైన జాబితా నుండి కూడా అదృశ్యమవుతాయి. కానీ చింతించకండి, ప్లేజాబితా మళ్లీ ఆన్ చేసిన వెంటనే అవి మళ్లీ అక్కడ కనిపిస్తాయి.
బ్లాక్లిస్ట్కి వీడియోని జోడించండి
బ్లాక్ చేయబడిన వీడియో సిఫార్సులలో, శోధన ఫలితాలలో ప్రదర్శించబడదు మరియు ఇష్టమైన వాటి జాబితా నుండి మరియు వీక్షణ చరిత్ర నుండి అదృశ్యమవుతుంది. వీడియో ఇప్పటికీ ప్లేజాబితా సెట్టింగ్లలో కనిపిస్తుంది.
బ్లాక్లిస్ట్ని వీక్షించండి మరియు పొరపాటున బ్లాక్ చేయబడిన అంశాలను మళ్లీ ప్రారంభించండి: సెట్టింగ్లు > హెడర్ మెను > బ్లాక్లిస్ట్
ఇష్టమైన వీడియోలు మరియు వీక్షణ చరిత్ర
ప్లేయర్ స్క్రీన్పై ఇష్టమైన వీడియోలు ఎగువ కుడి మూలలో నక్షత్రం గుర్తుతో గుర్తించబడతాయి.
స్క్రీన్ టైటిల్లోని సందర్భ మెనులు మరియు గ్యాలరీలు మరియు జాబితాలలో దీర్ఘ-క్లిక్ చేయండి
వీక్షణ స్క్రీన్లో లేదా ఏదైనా జాబితాలో వీడియో లేదా ప్లేజాబితా పేరు లేదా చిరునామాను కాపీ చేయండి.
త్వరిత ప్రారంభం - సిఫార్సు చేయబడిన ఛానెల్లు మరియు ప్లేజాబితాలను జోడించండి
=>
అప్లికేషన్ వెంటనే పై స్క్రీన్షాట్ల వలె కనిపిస్తుంది.
సెట్టింగ్లలో అవసరం లేని ఛానెల్లు మరియు ప్లేజాబితాలను ఆఫ్ చేయవచ్చు లేదా తొలగించవచ్చు.
ఇది Google Playలో లేదు మరియు సమీప భవిష్యత్తులో ఉండదు (APIని దాటవేసే అప్లికేషన్లను Google నిషేధిస్తుంది మరియు పేర్కొన్న ఛానెల్ వైట్లిస్ట్ లేదా NewPipe ప్లేయర్తో సహా వారి వెబ్సైట్ను అన్వయిస్తుంది)
apk ఫైల్ యొక్క విభిన్న సంతకాల కారణంగా ఒకే పరికరంలో వేర్వేరు మూలాధారాల నుండి వేర్వేరు సంస్కరణల మధ్య మారడం పని చేయదని గుర్తుంచుకోండి; క్రొత్త మూలం నుండి సంస్కరణను ఇన్స్టాల్ చేసే ముందు, మీరు మొదట డేటాతో పాటు ఇన్స్టాల్ చేసిన సంస్కరణను తొలగించాలి - ప్లేజాబితా కాష్ మరియు బ్రౌజింగ్ చరిత్ర (లేదా డేటాను ఎలా బదిలీ చేయాలో గుర్తించండి).
సాంకేతిక వివరాలు
Google/YouTube ఖాతా అవసరం లేదు, మీకు ఇంటర్నెట్ మాత్రమే అవసరం, కింది లైబ్రరీలను ఉపయోగిస్తుంది:
ప్రశ్న: రచయితల అనుమతి లేకుండా (లేదా స్పష్టమైన నిషేధంతో) వెబ్సైట్లను స్క్రాప్ చేయడం సాధారణంగా చట్టబద్ధమైనదేనా? Google Google Play నుండి యాప్లను తొలగిస్తుంది, ఇది వారి APIని ఉపయోగించదు, కానీ వారి సైట్లను అన్వయిస్తుంది, ఎందుకంటే వారు వారి వినియోగదారు ఒప్పందాన్ని ఉల్లంఘిస్తారు. సమాధానం: వాస్తవానికి, ఇది చట్టబద్ధమైనది, పబ్లిక్గా అందుబాటులో ఉన్న సమాచారాన్ని చదవడానికి ఏ సాధనాన్ని ఉపయోగించాలనేది మీ ఇష్టం. ఇంకా: US కోర్టు వెబ్సైట్ స్క్రాపింగ్ను పూర్తిగా చట్టబద్ధం చేసింది మరియు దానితో సాంకేతిక జోక్యాన్ని నిషేధించింది., కానీ గుల్ వేరే అభిప్రాయాన్ని కలిగి ఉండవచ్చు; వ్యక్తిగతంగా, వారిని ఒప్పించేందుకు అమెరికన్ కోర్టుకు వెళ్లాలనే కోరిక నాకు ఇంకా లేదు.
కొంత కోడ్
గ్రంధాలయం NewPipeExtractor - ప్లేయర్ సపోర్ట్ ప్రాజెక్ట్ న్యూ పైప్, పేర్కొన్న ఛానెల్ లేదా ప్లేజాబితా కోసం వీడియోల జాబితాను డౌన్లోడ్ చేయడానికి, ప్రసిద్ధ వీడియో (వీడియో వెబ్ పేజీలో కనిపించేది) గురించిన వివరణాత్మక సమాచారాన్ని డౌన్లోడ్ చేయడానికి, వీడియో చిహ్నం యొక్క చిరునామాను పొందేందుకు మరియు వీడియో చిరునామాను కూడా పొందడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రవాహం.
ప్లేజాబితాను లోడ్ చేయడం కోసం కోడ్ కొంచెం గజిబిజిగా ఉంది, కాబట్టి నేను దానిని ఇక్కడ ఇవ్వను, ఆసక్తి ఉన్నవారు సోర్స్ కోడ్ని పరిశీలించండి, ఇది ప్రాథమికంగా తరగతి కంటెంట్లోడర్.
పబ్లిక్ వీడియో పేజీ చిరునామా నుండి వీడియో స్ట్రీమ్ చిరునామాను ఎలా పొందాలో మరియు ప్లేయర్లో ప్లే చేయడం ఎలాగో చూద్దాం.
దీని తర్వాత మీరు దీన్ని ఇప్పటికీ ఉపయోగించలేరని ఆసక్తికరంగా ఉంది, ఎందుకంటే... ఉదాహరణలు తప్పిపోయిన డౌన్లోడ్ తరగతి గురించి ఫిర్యాదు చేస్తాయి. ఇది ఆటోమేటెడ్ టెస్ట్ డైరెక్టరీ నుండి ప్రాజెక్ట్కి కాపీ చేయబడుతుంది NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - వెర్షన్ 0.17.4 కోసం పని చేస్తుంది (ఈ భాగం లైబ్రరీ యొక్క కొత్త వెర్షన్లో మళ్లీ చేసినట్లు అనిపిస్తుంది, కానీ మేము ఇంకా తనిఖీ చేయాల్సి ఉంది).
YouTube వెబ్సైట్లోని వీడియో పేజీ చిరునామా ద్వారా వీడియో స్ట్రీమ్ చిరునామాను పొందండి:
ప్లేయర్ ఉంటుంది exoplayer Google నుండే. ఇది యూట్యూబ్లో వెబ్ రేపర్ కాదు, అయితే ఏదైనా వీడియోలను ప్లే చేయడానికి నిజమైన ఎంబెడెడ్ ప్లేయర్, చాలా అనువైనది మరియు అనుకూలీకరించదగినది. మీరు సరైన చిరునామాను అందించినట్లయితే, ఇది YouTube నుండి వీడియో స్ట్రీమ్లను కూడా ప్లే చేయగలదు. మేము ఇప్పుడే స్ట్రీమ్ చిరునామాను అందుకున్నాము, కాబట్టి దానిని ప్లేయర్కు ఎలా పంపాలో చూద్దాం.
అప్లికేషన్ స్క్రీన్పై ప్లేయర్ కాంపోనెంట్ను ఉంచే అన్ని సూక్ష్మ నైపుణ్యాలను మేము పరిగణించము (మీరు ప్రాజెక్ట్ వెబ్సైట్లో లేదా కోడ్లో ఉదాహరణలను చూడవచ్చు), ప్లేయర్లో YouTube నుండి వీడియోని ప్లే చేయడం ఎలా ప్రారంభించాలో మాత్రమే మేము పరిశీలిస్తాము పైన అందుకున్న చిరునామా:
private void playVideoStream(final String streamUrl, final long seekTo) {
if (streamUrl == null) {
// остановить проигрывание текущего ролика, если был загружен
videoPlayerView.getPlayer().stop(true);
} else {
// https://exoplayer.dev/
// https://github.com/google/ExoPlayer
final Uri mp4VideoUri = Uri.parse(streamUrl);
final MediaSource videoSource = new ProgressiveMediaSource.Factory(videoDataSourceFactory)
.createMediaSource(mp4VideoUri);
// Поставим на паузу старое видео, пока готовим новое
if (videoPlayerView.getPlayer().getPlaybackState() != Player.STATE_ENDED) {
// Если ставить на паузу здесь после того, как плеер встал на паузу сам, закончив
// играть видео, получим здесь второе событие STATE_ENDED, поэтому нам нужна здесь
// специальная проверка.
// При этом значение getPlayWhenReady() останется true, поэтому проверяем именно состояние.
// https://github.com/google/ExoPlayer/issues/2272
videoPlayerView.getPlayer().setPlayWhenReady(false);
}
// Prepare the player with the source.
((SimpleExoPlayer) videoPlayerView.getPlayer()).prepare(videoSource);
// Укажем текущую позицию сразу при загрузке видео
// (в коментах что-то пишут что-то про датасорсы, которые поддерживают или не поддерживают
// переходы seek при загрузке, похоже, что это фигня - просто делаем seek сразу после загрузки)
// Exoplayer plays new Playlist from the beginning instead of provided position
// https://github.com/google/ExoPlayer/issues/4375
// How to load stream in the desired position? #2197
// https://github.com/google/ExoPlayer/issues/2197
// в этом месте нормлаьный duration еще не доступен, поэтому его не проверяем
//if(seekTo > 0 && seekTo < videoPlayerView.getPlayer().getDuration()) {
if (seekTo > 0) {
// на 5 секунд раньше
videoPlayerView.getPlayer().seekTo(seekTo - 5000 > 0 ? seekTo - 5000 : 0);
}
videoPlayerView.getPlayer().setPlayWhenReady(true);
}
}
తెలిసిన సమస్యలు
మీ Google/YouTube ఖాతాకు లాగిన్ చేయాల్సిన వయస్సు పరిమితులతో కూడిన వీడియోలను ప్లే చేయదు
సలహా: అటువంటి వీడియోలను బ్లాక్లిస్ట్కు జోడించండి లేదా పొరపాటున సెట్ చేసిన పరిమితిని తీసివేయమని వీడియో రచయితను అడగండి.
సేవ సున్నా నిడివిని అందించే కొన్ని ప్రసార వీడియోలు ప్లే చేయబడవు (అటువంటి వీడియోల కోసం, జాబితాలు మరియు గ్యాలరీలోని వ్యవధి “[dur undef]”గా గుర్తించబడింది)
సలహా: అటువంటి వీడియోలను బ్లాక్ లిస్ట్లో చేర్చండి.
మీరు వినియోగదారు యొక్క అన్ని వీడియోలను డౌన్లోడ్ చేసినప్పటికీ, ప్రత్యక్ష లింక్ల ద్వారా మాత్రమే అందుబాటులో ఉండే వీడియోలు స్థానిక ప్లేజాబితాలో చేర్చబడకపోవచ్చు.
మీరు లాగిన్ అవసరం లేని, బ్రౌజర్లో ప్లే చేయబడి, ప్లేయర్లో ప్లే చేయని పబ్లిక్ వీడియోని చూసినట్లయితే, బగ్ నివేదికను పంపండి (కొత్త సంస్కరణలో సమస్య ఇప్పటికే పరిష్కరించబడింది. NewPipeExtractor మరియు మీరు ఈ సంస్కరణతో మాత్రమే అసెంబ్లీని నవీకరించాలి, ఉదాహరణకు).
ఇంటర్నెట్ నెమ్మదిగా ఉంటే ఇంటర్ఫేస్ నెమ్మదించవచ్చు (కానీ ఆఫ్ చేయకపోతే)
చివరికి
నా కొడుకు ఆండ్రాయిడ్ అప్లికేషన్లను అమలు చేయలేని శామ్సంగ్ స్మార్ట్ టీవీకి టాబ్లెట్ నుండి మారాడు. అందువల్ల, ఉత్తమ తల్లిదండ్రుల నియంత్రణ ఇప్పటికీ వ్యక్తిగతమైనది.
కానీ అప్లికేషన్ నేనే ఉపయోగించడం ప్రారంభించడానికి తగినంత సౌకర్యవంతంగా మారింది. ప్రారంభ పని సంస్కరణల నుండి మొదటి అభిప్రాయం ఏమిటంటే నేను మరొక ప్రపంచంలో ఉన్నాను. మొత్తం కంటెంట్ YouTube నుండి డౌన్లోడ్ చేయబడింది, కానీ ఇది ఇకపై YouTube కాదు, మరేదైనా, సురక్షితమైనది మరియు నియంత్రించబడుతుంది, మీరు మీ కంటి నుండి సెంటిపెడ్ను తీసి గాజు పాత్రలో ఉంచినట్లు. మరియు ఇదంతా సిఫార్సుల గురించి.