Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae'r cyflwyniad yn fyr: rwyf am siarad am y chwaraewr YouTube ar-lein ar gyfer Android gyda rhestri chwarae, sianeli ac argymhellion lleol.

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Cyflwyniad estynedig:
Beth amser yn ôl deuthum ar draws yr un broblem yn union ag awdur cais gwych Rhestr wen y Sianel, ac yn benderfynol i mi fy hun yn union yr un agwedd tuag ato: rwyf am allu rhoi tabled neu ffôn clyfar i'm plentyn gyda chartwnau o bryd i'w gilydd, ond nid wyf yn hapus o gwbl â ble, ar ôl 2-3 clic, mae'r rhestr o argymhellion mewn cymwysiadau safonol - cleientiaid YouTube - yn cymryd y plentyn.

Yn anffodus, ar ôl gosod cymhwysiad Channel Whitelist, darganfuwyd nam arall mwy rhyddiaith, ond sy'n dal yn angheuol - NIH I (ac, yn bwysicaf oll, fy mab) yn canfod nad oedd ei ryngwyneb yn gyfleus iawn, yn enwedig ar ôl yr arfer o ddefnyddio'r chwaraewr YouTube Kids.

Yn gyffredinol, ar ôl peth amser roeddwn yn barod i wneud fy ngweithrediad fy hun. Ar ôl peth amser, daeth yn bosibl rhoi tag ar y datganiad cyntaf.

Nodweddion Allweddol:

  • Ychwanegwch eich hoff sianeli a rhestri chwarae - byddant yn cael eu cadw a'u mynegeio yn y gronfa ddata leol
  • O fewn rhestri chwarae ychwanegol, trowch fideos diangen i ffwrdd os nad oes eu hangen arnoch chi
  • Cynhyrchir y rhestr o argymhellion ar hap yn unig o sianeli a rhestri chwarae a ychwanegir at y rhaglen

Ffynhonnell agored, trwydded GPLv3: https://github.com/sadr0b0t/yashlang/

Isod mae trosolwg o'r prif nodweddion yn fwy manwl, ynghyd â rhai manylion technegol ar sut i chwarae fideos YouTube yn eich cymhwysiad Android heb ddefnyddio API Google a deunydd lapio gwe.

Ar y brif sgrin ac ar sgrin y chwaraewr: argymhellion ar hap o sianeli nad ydynt yn hap

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Chwilio ar unwaith yn y gronfa ddata leol

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) => Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Ychwanegu sianel neu restr chwarae newydd

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Chwiliwch yn ôl enw ar-lein neu rhowch gyfeiriad hysbys. Mae'r rhestr o fideos o sianel neu restr chwarae yn cael ei chadw i'r gronfa ddata leol; nid yw eiconau wedi'u storio.

Rhestr chwarae deinamig - chwarae canlyniadau chwilio

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) => Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Yn yr argymhellion fideo dim ond fideos sy'n bodloni'r ymholiad chwilio fydd.

Yn yr un modd, os byddwch chi'n agor fideo o'r gosodiadau rhestr chwarae, dim ond fideos o'r un rhestr chwarae fydd yn ymddangos yn y rhestr o argymhellion.

Gellir diffodd rhestri chwarae a sianeli dros dro ac ymlaen eto

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Sylwch: bydd fideos o restr chwarae anabl hefyd yn diflannu o ganlyniadau chwilio, hanes gwylio ac o'r rhestr ffefrynnau. Ond peidiwch â phoeni, byddant yn ymddangos yno eto yn syth ar ôl i'r rhestr chwarae gael ei throi ymlaen eto.

Ychwanegu fideo at y rhestr ddu

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Ni fydd fideo wedi'i rwystro yn cael ei arddangos mewn argymhellion, mewn canlyniadau chwilio, a bydd yn diflannu o'r rhestr o ffefrynnau ac o'r hanes gwylio. Bydd y fideo yn dal i fod yn weladwy yn y gosodiadau rhestr chwarae.

Gweld y rhestr ddu ac ail-alluogi eitemau sydd wedi'u rhwystro trwy gamgymeriad:
Gosodiadau > dewislen pennawd > Rhestr Ddu

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Hoff fideos a hanes gwylio

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Mae hoff fideos ar sgrin y chwaraewr wedi'u marcio â seren yn y gornel dde uchaf.

Dewislenni cyd-destun yn nheitl y sgrin a chlicio hir mewn orielau a rhestrau

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Copïwch enw neu gyfeiriad fideo neu restr chwarae yn y sgrin wylio neu mewn unrhyw restr.

Cychwyn cyflym - ychwanegu sianeli a rhestri chwarae a argymhellir

Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?) => Mae marwolaeth Koshchei ar y rhestr o argymhellion (a yw'n bosibl gwneud YouTube yn glyd ac yn ddiogel?)

Bydd y cais yn edrych ar unwaith fel y sgrinluniau uchod.

Gellir diffodd neu ddileu sianeli a rhestri chwarae nad oes eu hangen yn y gosodiadau.

Gosod

Tudalen prosiect: https://github.com/sadr0b0t/yashlang/
yn Saesneg: https://github.com/sadr0b0t/yashlang/blob/master/README.en.md
datganiadau: https://github.com/sadr0b0t/yashlang/releases

Cofiwch na fydd newid rhwng gwahanol fersiynau o wahanol ffynonellau ar yr un ddyfais yn gweithio oherwydd gwahanol lofnodion y ffeil apk; cyn gosod y fersiwn o ffynhonnell newydd, yn gyntaf bydd yn rhaid i chi ddileu'r fersiwn sydd wedi'i gosod ynghyd â'r data - storfa'r rhestr chwarae a'r hanes pori (neu ddarganfod sut i drosglwyddo data).

Manylion technegol

Nid oes angen cyfrif Google/YouTube, dim ond y Rhyngrwyd sydd ei angen arnoch, mae'n defnyddio'r llyfrgelloedd canlynol:

Ffynhonnell agored, trwydded GPLv3 am ddim.

cwestiwn: A yw'n gyfreithiol yn gyffredinol sgrapio gwefannau heb ganiatâd (neu gyda gwaharddiad penodol) gan yr awduron? Mae Google yn dileu apiau o Google Play, nad ydynt yn defnyddio eu API, ond dosrannu eu gwefannau, oherwydd maent yn torri eu cytundeb defnyddiwr.
ateb: wrth gwrs, mae'n gyfreithiol, chi sydd i benderfynu pa offeryn i'w ddefnyddio i ddarllen gwybodaeth sydd ar gael i'r cyhoedd. Ar ben hynny: Mae llys yn yr Unol Daleithiau wedi cyfreithloni sgrapio gwefannau yn llwyr ac wedi gwahardd ymyrraeth dechnegol ag ef., ond efallai bod gan Gul farn wahanol; yn bersonol, nid oes gennyf yr awydd eto i fynd i lys Americanaidd i'w darbwyllo.

Rhywfaint o god

Llyfrgell NewPipeExtractor - prosiect cefnogi chwaraewyr Newpipe, yn eich galluogi i lawrlwytho rhestr o fideos ar gyfer sianel benodol neu restr chwarae, lawrlwytho gwybodaeth fanwl am fideo enwog (yr hyn sy'n weladwy ar dudalen we'r fideo), cael cyfeiriad yr eicon fideo, a hefyd cael cyfeiriad y fideo ffrwd.

Mae'r cod ar gyfer llwytho'r rhestr chwarae ychydig yn feichus, felly ni fyddaf yn ei roi yma, i'r rhai sydd â diddordeb, edrychwch ar y cod ffynhonnell, dosbarth ydyw yn y bôn CynnwysLlwythwr.

Gadewch i ni weld sut i gael cyfeiriad ffrwd fideo o gyfeiriad y dudalen fideo gyhoeddus a'i chwarae yn y chwaraewr.

Cysylltwch y llyfrgell i
ap/adeiladu.gradle

dependencies {
...
    // NewPipe: youtube parser
    // https://github.com/TeamNewPipe/NewPipeExtractor
    implementation "com.github.TeamNewPipe:NewPipeExtractor:v0.17.4"
...
}

Mae'n chwilfrydig na fyddwch chi'n dal i allu ei ddefnyddio ar ôl hyn, oherwydd ... bydd enghreifftiau yn cwyno am y dosbarth Downloader coll. Gellir ei gopïo i'r prosiect o'r cyfeiriadur profion awtomataidd NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - yn gweithio ar gyfer fersiwn 0.17.4 (mae'n ymddangos bod y rhan hon wedi'i hail-wneud mewn fersiwn mwy diweddar o'r llyfrgell, ond mae angen i ni wirio o hyd).

Sicrhewch gyfeiriad y ffrwd fideo yn ôl cyfeiriad y dudalen fideo ar wefan YouTube:

app/src/main/java/su/sadrobot/yashlang/controller/ContentLoader.java

    public String extractYtStreamUrl(final String ytVidUrl) throws ExtractionException, IOException {
        // https://github.com/TeamNewPipe/NewPipeExtractor/blob/dev/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractorDefaultTest.java
        NewPipe.init(Downloader.getInstance(), new Localization("GB", "en"));
        final YoutubeStreamExtractor extractor = (YoutubeStreamExtractor) YouTube
                .getStreamExtractor(ytVidUrl);
        extractor.fetchPage();
        final String streamUrl = extractor.getVideoStreams().size() > 0 ? extractor.getVideoStreams().get(0).getUrl() : null;
//        for (final VideoStream stream : extractor.getVideoStreams()) {
//            stream.getUrl();
//        }
        return streamUrl;
    }

Gall y cyfeiriad fideo ytVidUrl fod yn gyfeiriad cyhoeddus tudalen unrhyw fideo ar wefan YouTube, er enghraifft https://www.youtube.com/watch?v=pd2RlatmNRk

Bydd y chwaraewr exoplayer gan Google ei hun. Nid yw hwn yn ddeunydd lapio gwe dros YouTube, ond yn chwaraewr gwreiddio go iawn ar gyfer chwarae unrhyw fideos, yn eithaf hyblyg ac yn addasadwy. Gall hefyd chwarae ffrydiau fideo o YouTube os ydych chi'n rhoi'r cyfeiriad cywir iddo. Rydyn ni newydd dderbyn cyfeiriad y ffrwd, felly gadewch i ni weld sut i'w anfon at y chwaraewr.

Cysylltwch y llyfrgell â'r prosiect ap/adeiladu.gradle:

dependencies {
...
    // google Exoplayer
    // https://github.com/google/ExoPlayer
    // https://exoplayer.dev/
    implementation 'com.google.android.exoplayer:exoplayer:2.10.8'
...
}

Ni fyddwn yn ystyried yr holl arlliwiau o osod y gydran chwaraewr ar sgrin y cais (gallwch edrych ar yr enghreifftiau ar wefan y prosiect neu yn y cod), byddwn ond yn edrych ar sut i ddechrau chwarae fideo o YouTube yn y chwaraewr yn y cyfeiriad a dderbyniwyd uchod:

app/src/main/java/su/sadrobot/yashlang/WatchVideoActivity.java

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);
    }
}

Materion Hysbys

  • Ni fydd yn chwarae fideos gyda chyfyngiadau oedran sy'n gofyn am fewngofnodi i'ch cyfrif Google/YouTube

er enghraifft: Ilya Muromets, Mosfilm Cinema Concern, Ruslan a Lyudmila ffilm 1, Mosfilm Film Concern

cyngor: ychwanegu fideos o'r fath at y rhestr ddu neu ofyn i awdur y fideo ddileu'r cyfyngiad a osodwyd trwy gamgymeriad.

  • Ni fydd rhai fideos darlledu y mae'r gwasanaeth yn dychwelyd hyd sero ar eu cyfer yn chwarae (ar gyfer fideos o'r fath, mae'r hyd yn y rhestrau a'r oriel wedi'i nodi fel "[dur undef]")

er enghraifft: Arhoswch amdani! Pob Rhifyn o Soyuzmultfilm HD (Cartwnau i blant), Cartwnau o stiwdio Soyuzmultfilm, Cartwnau gorau Soyuzmultfilm, Cartwnau o stiwdio Soyuzmultfilm

cyngor: ychwanegu fideos o'r fath at y rhestr ddu.

  • Efallai na fydd fideos sydd ar gael trwy ddolenni uniongyrchol yn unig yn cael eu cynnwys yn y rhestr chwarae leol, hyd yn oed os byddwch chi'n lawrlwytho holl fideos y defnyddiwr

er enghraifft: Taming of Fire Pennod 1, Mosfilm Cinema Concern

  • Os dewch ar draws fideo cyhoeddus nad oes angen mewngofnodi arno, yn chwarae yn y porwr, ond nad yw'n chwarae yn y chwaraewr, anfonwch adroddiad nam (mae'n eithaf posibl bod y broblem eisoes wedi'i datrys yn y fersiwn newydd NewPipeExtractor a dim ond gyda'r fersiwn hwn y bydd angen i chi ddiweddaru'r cynulliad, er enghraifft,).

  • Gall y rhyngwyneb arafu os yw'r Rhyngrwyd yn araf (ond heb ei ddiffodd)

O ganlyniad,

Symudodd fy mab o lechen i deledu clyfar Samsung, na all redeg cymwysiadau Android. Felly, mae'r rheolaeth orau gan rieni yn dal yn bersonol.

Ond trodd y cais yn ddigon cyfleus i mi ddechrau ei ddefnyddio fy hun. Yr argraff gyntaf o'r fersiynau gweithio cynnar oedd fy mod mewn byd arall. Mae'r holl gynnwys yn cael ei lawrlwytho o YouTube, ond nid YouTube yw hwn bellach, ond rhywbeth arall, yn ddiogel ac wedi'i reoli, fel petaech chi'n tynnu nadroedd cantroed allan o'ch llygad a'i roi mewn jar wydr. Ac mae'r cyfan yn ymwneud â'r argymhellion.

Ffynhonnell: hab.com

Ychwanegu sylw