Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Okwu mmeghe dị mkpụmkpụ: Achọrọ m ikwu maka ihe ọkpụkpọ YouTube maka gam akporo na listi ọkpụkpọ mpaghara, ọwa na ndụmọdụ.

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Okwu mmeghe agbasawanye:
Oge ụfọdụ gara aga ezutere m otu nsogbu ahụ onye dere ngwa dị ebube Ọwa Whitelist, na kpebisiri ike na onwe m kpọmkwem otu àgwà ahụ: Achọrọ m inwe ike inye nwa m mbadamba nkume ma ọ bụ smartphone na cartoons site n'oge ruo n'oge, ma anaghị m enwe obi ụtọ na ebe, mgbe 2-3 clicks, ndepụta. nke nkwanye na ọkọlọtọ ngwa - YouTube ahịa - na-ewe nwa.

N'ụzọ dị mwute, mgbe wụnye Channel Whitelist ngwa, ọzọ ọzọ prosaic, ma ka na-egbu egbu flaw a chọpụtara - NIH m (na, kasị mkpa, nwa m nwoke) hụrụ ya interface adịghị nnọọ adaba, karịsịa mgbe àgwà nke iji YouTube Kids player.

N'ozuzu, mgbe oge ụfọdụ gasịrị, adị m njikere ime mmejuputa nke m. Mgbe oge ụfọdụ gasịrị, ọ bịara kwe omume itinye mkpado na ntọhapụ mbụ.

Njirimara igodo:

  • Tinye ọwa na listi ọkpụkpọ ọkacha mmasị gị - a ga-echekwa ma depụta ha na nchekwa data mpaghara
  • N'ime listi ọkpụkpọ agbakwunyere, gbanyụọ vidiyo na-adịghị mkpa ma ọ bụrụ na ịchọghị ha
  • A na-ewepụta ndepụta nke ndụmọdụ na-enweghị usoro naanị site na ọwa na ndetu egwu egwu agbakwunyere na ngwa ahụ

Ebe mepere emepe, ikike GPLv3: https://github.com/sadr0b0t/yashlang/

N'okpuru bụ ntụle nke atụmatụ ndị bụ isi n'ụzọ zuru ezu, gbakwunyere nkọwa nka maka otu esi akpọ vidiyo YouTube na ngwa gam akporo gị na-ejighi Google API na ihe mkpuchi webụ.

Na isi ihuenyo yana n'ihuenyo ọkpụkpọ: ndụmọdụ enweghị usoro sitere na ọwa na-abụghị usoro

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọchịchọ ngwa ngwa na nchekwa data mpaghara

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) => Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Tinye ọwa ma ọ bụ ndepụta ọkpụkpọ ọhụrụ

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Chọọ n'aha n'ịntanetị ma ọ bụ tinye adreesị amaara. A na-echekwa ndepụta vidiyo nke ọwa ma ọ bụ listi ọkpụkpọ na nchekwa data mpaghara; echekwaghị akara ngosi.

Listi ọkpụkpọ dị egwu - kpọọ nsonaazụ ọchụchọ

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) => Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Na ndụmọdụ vidiyo a ga-enwe naanị vidiyo na-eju ajụjụ ọchụchọ ahụ.

N'otu aka ahụ, ọ bụrụ na ịmepe vidiyo sitere na ntọala listi ọkpụkpọ, ọ bụ naanị vidiyo sitere na otu listi ọkpụkpọ ga-apụta na listi ndụmọdụ.

Enwere ike ịgbanyụ ndetu egwu egwu na ọwa ọzọ nwa oge

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Biko mara: vidiyo sitere na listi ọkpụkpọ nwere nkwarụ ga-apụkwa na nsonaazụ ọchụchọ, akụkọ nlele yana na ndetu ọkacha mmasị. Mana echegbula, ha ga-apụta ebe ahụ ọzọ ozugbo agbanwuchara listi ọkpụkpọ ahụ ọzọ.

Tinye vidiyo na ndetu ojii

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

A gaghị egosipụta vidiyo egbochiri na ntụnye, na nsonaazụ ọchụchọ, ọ ga-apụkwa na listi ọkacha mmasị yana na akụkọ nlele. Vidiyo a ka ga-ahụ na ntọala listi ọkpụkpọ.

Lelee ndetu ojii wee nyegharịa ihe akpọchiri n'amaghị ama:
Ntọala > Nchịkọta nkụnye eji isi mee > Listi ojii

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Vidiyo na akụkọ nlele ọkacha mmasị

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Vidiyo ndị ọkacha mmasị na ihuenyo ọkpụkpọ ka akara akara n'akụkụ aka nri elu.

Nchịkọta nhọrọ dị na aha ihuenyo wee pịa ogologo na veranda na ndepụta

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Detuo aha ma ọ bụ adreesị vidiyo ma ọ bụ ndetu egwu egwu na ihuenyo nlele ma ọ bụ na ndetu ọ bụla.

Mmalite ngwa ngwa - tinye ọwa na ndetu egwu egwu akwadoro

Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?) => Ọnwụ Koshchei dị na ndepụta nke ndụmọdụ (ọ ga-ekwe omume ime ka YouTube mara mma na nchekwa?)

Ngwa ahụ ga-adị ka nseta ihuenyo dị n'elu.

Enwere ike gbanyụọ ma ọ bụ hichapụ ọwa na listi ọkpụkpọ na-achọghị na ntọala.

ọnọdụ

Ibe oru ngo: https://github.com/sadr0b0t/yashlang/
na Bekee: https://github.com/sadr0b0t/yashlang/blob/master/README.en.md
ewepụtara: https://github.com/sadr0b0t/yashlang/releases

Buru n'uche na ịgbanye n'etiti nsụgharị dị iche iche site na isi mmalite dị iche iche na otu ngwaọrụ agaghị arụ ọrụ n'ihi ntinye aka dị iche iche nke faịlụ apk; tupu ịwụnye ụdị ahụ site na isi iyi ọhụrụ, ị ga-ebu ụzọ ihichapụ ụdị arụnyere na data - cache ndepụta ọkpụkpọ na akụkọ ihe nchọgharị (ma ọ bụ chepụta otu esi ebufe data).

Nka na ụzụ

Achọghị akaụntụ Google/YouTube, naanị ị chọrọ ịntanetị, na-eji ọba akwụkwọ ndị a:

Ebe mepere emepe, ikike GPLv3 efu.

ajụjụ: Ọ bụ n'ụzọ iwu kwadoro ikpochapụ weebụsaịtị na-enweghị ikike (ma ọ bụ na mmachibido iwu) n'aka ndị dere ya? Google na-ewepụ ngwa na Google Play, nke na-adịghị eji API ha, ma na-atụgharị saịtị ha, n'ihi na ha na-emebi nkwekọrịta onye ọrụ ha.
azịza: N'ezie, ọ bụ iwu kwadoro, ọ dịịrị gị ngwá ọrụ ị ga-eji gụọ ozi ọha na eze. Ọzọkwa: Ụlọ ikpe US akwadola ikpochapụ weebụsaịtị kpamkpam yana machibido nnyonye anya ọrụ aka na ya., ma Gul nwere ike inwe echiche dị iche; n'onwe m, enwebeghị m ọchịchọ ịga ụlọ ikpe America iji mee ka ha kwenye.

Koodu ụfọdụ

ọbá akwụkwọ NewPipeExtractor - ọkpụkpọ nkwado oru ngo Ọkụ ọhụrụ, na-enye gị ohere ibudata ndepụta vidiyo maka ọwa akọwapụtara ma ọ bụ ndepụta ọkpụkpọ, budata ozi zuru ezu gbasara vidiyo ama ama (ihe a na-ahụ na ibe weebụ vidiyo), nweta adreesị akara ngosi vidiyo, nwetakwa adreesị vidiyo ahụ. iyi.

Koodu maka nbudata ndepụta ọkpụkpọ dị ntakịrị, yabụ agaghị m enye ya ebe a, maka ndị nwere mmasị, lelee koodu isi mmalite, ọ bụ isi klas. ContentLoader.

Ka anyị hụ otu esi enweta adreesị nke iyi vidiyo site na adreesị nke ibe vidiyo ọha ma kpọọ ya na ihe ọkpụkpọ.

Jikọọ ọba akwụkwọ na
ngwa/build.gradle

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

Ọ bụ ihe na-achọsi ike na mgbe nke a gasịrị, ị gaghị enwe ike iji ya, n'ihi na ... ọmụmaatụ ga-eme mkpesa maka klas Downloader efu. Enwere ike depụta ya na ọrụ a site na ndekọ ndekọ ule akpaaka NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - na-arụ ọrụ maka ụdị 0.17.4 (ọ dị ka a na-emegharị akụkụ a na ụdị ọhụụ nke ọbá akwụkwọ, mana anyị ka kwesịrị ịlele).

Nweta adreesị iyi vidiyo site na adreesị nke ibe vidiyo na webụsaịtị YouTube:

ngwa/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;
    }

Adreesị vidiyo ytVidUrl nwere ike ịbụ adreesị ọha nke ibe vidiyo ọ bụla na webụsaịtị YouTube, dịka ọmụmaatụ https://www.youtube.com/watch?v=pd2RlatmNRk

Onye ọkpụkpọ ga-abụ exoplayer site na Google n'onwe ya. Nke a abụghị ihe mkpuchi weebụ n'elu YouTube, kama ọ bụ ezigbo ihe egwu agbakwunyere maka ịkpọ vidiyo ọ bụla, na-agbanwe agbanwe ma nwee ike ịhazi ya. Ọ nwekwara ike ịkpọ iyi vidiyo sitere na YouTube ma ọ bụrụ na ị nye ya adreesị ziri ezi. Anyị nwetara adreesị iyi ahụ, yabụ ka anyị hụ ka anyị ga-esi ziga ya na onye ọkpụkpọ.

Jikọọ ọba akwụkwọ na oru ngo ngwa/build.gradle:

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

Anyị agaghị atụle nuances niile nke itinye ihe ọkpụkpọ na ihuenyo ngwa (ị nwere ike ilele ihe atụ na webụsaịtị ọrụ ma ọ bụ na koodu), naanị anyị ga-eleba anya ka esi amalite ịkpọ vidiyo si YouTube na onye ọkpụkpọ ahụ. adreesị enwetara n'elu:

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

Okwu ndị ama ama

  • Agaghị akpọ vidiyo nwere mmachi afọ nke chọrọ nbanye na akaụntụ Google/YouTube gị

dịka ọmụmaatụ: Ilya Muromets, Nchegbu Cinema Mosfilm, Ihe nkiri Ruslan na Lyudmila 1, Nchegbu Ihe nkiri Mosfilm

Ndụmọdụ: tinye vidiyo ndị dị otú ahụ na ndetu ojii ma ọ bụ jụọ onye dere vidiyo ahụ ka ọ wepụ mmachi ahụ edobere n'amaghị ama.

  • Ụfọdụ vidiyo mgbasa ozi nke ọrụ na-eweghachite ogologo efu agaghị egwu (maka vidiyo ndị dị otú ahụ, oge dị na listi na gallery ka akara ka "[mgbe undef]")

dịka ọmụmaatụ: Chere ya! Okwu niile nke Soyuzmultfilm HD (katoon maka ụmụaka), ihe nkiri si na Soyuzmultfilm studio, Ihe nkiri kacha elu Soyuzmultfilm, Katuun si na ụlọ ihe nkiri Soyuzmult

ndụmọdụ: tinye vidiyo ndị dị otú ahụ na listi ojii.

  • Vidiyo ndị dị naanị site na njikọ ozugbo nwere ike agaghị etinye ya na listi ọkpụkpọ mpaghara, ọbụlagodi na ị budata vidiyo onye ọrụ niile.

dịka ọmụmaatụ: Ịkụkụ ọkụ ihe omume 1, Nchegbu Cinema Mosfilm

  • Ọ bụrụ na ị hụ vidiyo ọha na eze na-achọghị nbanye, na-egwu na ihe nchọgharị ahụ, mana ọ naghị egwuri egwu na ihe ọkpụkpọ, ziga mkpesa ahụhụ (ọ ga-ekwe omume na edoziworị nsogbu ahụ na ụdị ọhụrụ ahụ. NewPipeExtractor na ị ga-achọ naanị iji ụdị a melite ọgbakọ, dịka ọmụmaatụ).

  • Ihe nhụta ahụ nwere ike daa ma ọ bụrụ na ịntanetị adịghị ngwa (mana ọ naghị agbanyụ ya)

N'ihi ya,

Nwa m si na mbadamba ihe gaa na Samsung smart TV, nke na-enweghị ike ịgba ọsọ gam akporo ngwa. Ya mere, njikwa nne na nna kacha mma ka bụ nkeonwe.

Mana ngwa ahụ tụgharịrị dabara adaba maka m ịmalite iji ya n'onwe m. Mmetụta mbụ sitere na nsụgharị ndị mbụ na-arụ ọrụ bụ na m nọ n'ụwa ọzọ. A na-ebudata ọdịnaya niile na YouTube, mana nke a abụghịzi YouTube, mana ihe ọzọ, nchekwa na njikwa, dị ka a ga - asị na ị wepụrụ centipede n'anya gị wee tinye ya na ite iko. Ma ọ bụ ihe niile gbasara aro.

isi: www.habr.com

Tinye a comment