Käytän Ubuntua, ja youtube-dl -komento toimii aivan oikein.

Haluan kuitenkin nyt ladata vain osan videosta, joka on liian pitkä. Joten haluan ladata vain muutaman minuutin videosta, esim. minuutista 13 minuuttiin 17.

Onko keino tehdä niin?

Vastaa

I älä usko, että youtube-dl yksin tekee mitä haluat. Voit kuitenkin yhdistää sen komentorivin apuohjelmaan, kuten ffmpeg.

Hanki todellinen URL-osoite ensin YouTubesta -dl:

youtube-dl -g "https://www.youtube.com/watch?v=V_f2QkBdbRI" 

Kopioi komennon lähtö ja liitä se osana parametrin -i parametria seuraava komento:

ffmpeg -ss 00:00:15.00 -i "OUTPUT-OF-FIRST URL" -t 00:00:10.00 -c copy out.mp4 

Tämän sijainnin parametri -ss sanoo, että kaikki syötteet hylätään 15 sekuntiin asti. video. -t -vaihtoehdon mukaan tallennetaan 10 sekunnin ajan. Loput komennot käskevät sen tallentamaan mp4: nä.

ffmpeg on suosittu työkalu, ja sen pitäisi olla missä tahansa suosituista käyttöjärjestelmän arkistoista / paketinhallinnoijista.

Kommentit

  • Joten sinun on edelleen ladattava koko video ja rajattava se itse
  • Voit käyttää t he -to-vaihtoehto -t-sijasta, jos haluat määrittää videoleikkeen päättymisajan. ffmpeg -i "OUTPUT-OF-FIRST URL" -ss 00:13:00.00 -to 00:17:00.00 -c copy out.mp4
  • @Antony ffmpeg lataa oikeastaan vain määrittämäsi osan.
  • @ Antony Niin kauan kuin laitat -ss-parametrin ennen -i -parametria, se alkaa latautua siitä hetkestä, jonka määritit -ss: llä. Jos kuitenkin asetat -s -parametrin -i jälkeen, ffmpeg lataa videon alusta alkaen ja alkaa koodata mistä -ss määrittää. Katso muokkaukseni Johnnie ’ vastauksesta saadaksesi lisätietoja.
  • käyttämällä youtube-dl ja -g -vaihtoehto palauttaa aina 403 minulle kielletyn. Pelkästään youtube-dl: n käyttäminen videon lataamiseen toimii aina kuin viehätys.

Vastaa

Lisätään Johnnien vastaus:

Käytä youtube-dl --youtube-skip-dash-manifest -g "URL" saadaksesi video- ja äänivirrat.

Käytä nyt:

ffmpeg -ss 12:15 -i "1st-URL" -ss 12:15 -i "2nd-URL" -t 5:15 -map 0:v -map 1:a -c:v libx264 -c:a aac output.mkv 

Sinun on käytettävä -ss -vaihtoehtoa kullekin streamille. Suosittelen myös tekemään sen noin 30 sekuntia aiemmin ja käyttämään sitten toista -ss 30, jotta et menetä mitään avainkehyksiä. Tässä on todellinen esimerkki yhdestä YouTube-videostani.

Video

youtube-dl --youtube-skip-dash-manifest -g https://www.youtube.com/watch?v=gESHIrvIQQo 

Tulos:

https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/298/source/youtube/requiressl/yes/mn/sn-mv-cvne/ei/BgifWfmmL4iE8wSlv47oCA/mm/31/pl/23/mv/m/ms/au/initcwndbps/11447500/ratebypass/yes/mime/video%2Fmp4/otfp/1/gir/yes/clen/5231968228/lmt/1502479662079137/dur/18575.164/key/dg_yt0/signature/4FFB9B0B7E1703B31F5D07DAD579B55F17EF7BAA.0CB63905C89DD4D33F90CF3AAD728F1ECDFCB9B3/mt/1503594423/ip/206.34.122.70/ipbits/0/expire/1503616102/sparams/ip,ipbits,expire,id,itag,source,requiressl,mn,ei,mm,pl,mv,ms,initcwndbps,ratebypass,mime,otfp,gir,clen,lmt,dur/ https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/140/source/youtube/requiressl/yes/mn/sn-mv-cvne/ei/BgifWfmmL4iE8wSlv47oCA/mm/31/pl/23/mv/m/ms/au/initcwndbps/11447500/ratebypass/yes/mime/audio%2Fmp4/otfp/1/gir/yes/clen/295235970/lmt/1502480001536214/dur/18575.243/key/dg_yt0/signature/4CD42047D1D5C714377350905C1CC5CBA37C0009.6EED1FC92D17A096235C32E48F4B15DEF7DD99B0/mt/1503594423/ip/206.34.122.70/ipbits/0/expire/1503616102/sparams/ip,ipbits,expire,id,itag,source,requiressl,mn,ei,mm,pl,mv,ms,initcwndbps,ratebypass,mime,otfp,gir,clen,lmt,dur/ 

Halusin leikata 43: sta 50: 10: een, joten aion tehdä -ss 42:30 (antaa minulle muutaman sekunnin hyvän avainkehyksen saamiseksi) molemmista tuloista ja tee sitten -ss 30 tulojen jälkeen aloittaaksesi kello 43:00.

Tämän jälkeen käytän map -sovellusta videon 0:v ja äänen 1:a (0 tarkoittaa ensimmäistä tuloa, joka on video ja 1 tarkoittaa toista tuloa, joka on ääni) ja valitse sitten koodausvaihtoehtoni.

 # The first URL video_url="https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/298/source/youtube/requiressl/yes/pl/23/ei/5wCfWY6dBeOj8gSSxZaACQ/mv/m/initcwndbps/5055000/ms/au/mm/31/mn/sn-mv-cvne/ratebypass/yes/mime/video%2Fmp4/otfp/1/gir/yes/clen/5231968228/lmt/1502479662079137/dur/18575.164/key/dg_yt0/beids/%5B9466591%5D/mt/1503592562/signature/8CCFBF5CAB97341D0CB1F34E85AB6EE20FC7A03E.7679F39A8603CF41A95F10232E2A921EB0774101/ip/206.34.122.70/ipbits/0/expire/1503614279/sparams/ip,ipbits,expire,id,itag,source,requiressl,pl,ei,mv,initcwndbps,ms,mm,mn,ratebypass,mime,otfp,gir,clen,lmt,dur/" # The second URL audio_url="https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/140/source/youtube/requiressl/yes/pl/23/ei/5wCfWY6dBeOj8gSSxZaACQ/mv/m/initcwndbps/5055000/ms/au/mm/31/mn/sn-mv-cvne/ratebypass/yes/mime/audio%2Fmp4/otfp/1/gir/yes/clen/295235970/lmt/1502480001536214/dur/18575.243/key/dg_yt0/beids/%5B9466591%5D/mt/1503592562/signature/4AACC8E27F9036D36D4D623A771A9F2BAC4674BA.7E4F4FB4DC023E3FE491A991F0F9F2329648DE9D/ip/206.34.122.70/ipbits/0/expire/1503614279/sparams/ip,ipbits,expire,id,itag,source,requiressl,pl,ei,mv,initcwndbps,ms,mm,mn,ratebypass,mime,otfp,gir,clen,lmt,dur/" ffmpeg -ss 42:30 -i "$video_url" -ss 42:30 -i "$audio_url" -map 0:v -map 1:a -ss 30 -t 7:10 -c:v libx264 -c:a aac gog-vs-triv.mkv  

Kiitos Jakub Vránalle osastolle --youtube-skip-dash-manifest ratkaisu.

Kommentit

  • Kiitos. En ollut varma, kuinka saada ääntä @Johnnie-viestille. Viestisi vastasi siihen.
  • Miten se eroaa Etkä käytä --postprocessor-args suoraan YouTube-dl: ssä?
  • @daGo – Uskon, että youtube-dl --postprocessor-args lataa koko videon ja muokkaa sitä sitten valitulle alueelle, kun taas tämä vastaus käyttää youtube-dl vain saadakseen erityisiä URL-osoitteita. ffmpeg käyttää sitten näitä URL-osoitteita vain vaaditun alueen lataamiseen. Joten jos haluat poimia 2 minuuttia 2 tunnin luentovideosta, tämä vastaus säästää paljon lataamista.
  • Tämä toimii useimpien YT-videoiden kanssa, mutta yritän tätä 9 tunnin videolla, joka lähetettiin aiemmin suorana suoratoistona (ja nyt valmis) ja saan ” virheellisiä tietoja, kun syötettä ” käsitellään. Tärkein ero on, että youtube-dl -g -lähtö on erilainen. Useimpien videoiden kanssa sillä on rakenne. "https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/8...", mutta tälle videolle sillä on rakenne. "https://manifest.googlevideo.com/api/manifest/dash/expire/15956..." (katkaistu tilalle). Ideoita miten tämä toimii?
  • @LeftoverSalad Found yksi ratkaisu .

Vastaa

ffmpeg $(youtube-dl -g "https://www.youtube.com/watch?v=oHg5SJYRHA0" | sed "s/.*/-ss 00:05 -i &/") -t 01:00 -c copy out.mkv 

Muokkaa URL-osoitetta ja -ss, -t kertaa tämän komennon käyttämiseksi. Se luo argumentit käyttämällä video- ja ääni-URL-osoitteita, samanlaisia kuin tämä @ div id = ”2efeccfc97”>

vastauksen käyttäjältä @godofgrunts.Kohdassa$()ei käytetä lainausmerkkejä, koska tämä tuottaa kaksi erillistä argumenttia parametrilleffmpeg.

Kommentit

  • Voisitko selittää, mitä se tekee, miten se toimii?
  • Se ’ on vain suppeampi versio @ godofgrunts vastaa, säästämällä aikaa sedillä käyttämällä aikaa URL-osoitteiden nappaamiseen manuaalisesti ja kopioimiseen / liittämiseen aloitusajoissa (-ss 00:05). @godofgruntsilla on joitain ylimääräisiä lippuja -map 0:v -map 1:a -c:v libx264 -c:a aac, jotka saattavat parantaa laatua. Haluan myös lisätä youtube-dl -f bestvideo+bestaudio varmistaakseni, että ’ saan laadukkaimman version.
  • ffmpeg.zeranoe.com/builds Windowsille.
  • ” ylimääräiset liput ” käsittelevät kahta virtaa (video ja ääni), joita luulen väärin käsittelevän – IIUC: llä ei ole mitään tekemistä laadun parantamisen kanssa (no, äänen saaminen on todennäköisesti merkki laadun parantamisesta :-)) Alla olevan vastaus käyttäjältä @godofgrunts näyttää olevan oikea.

Vastaa

youtube-dl tukee argumenttien välittämistä taustaprosessorille (testattu versiolla 2017.08.27.1):

youtube-dl -x --postprocessor-args "-ss 00:13:00.00 -t 00:04:00.00" https://youtu.be/...

Tämä on periaatteessa sama kuin jälkikäsittely ffmpeg -toiminnolla itse, kun olet ensin ladannut tiedoston.

Kommentit

  • mutta tämä on silti tehtävä lataa koko video ja leikkaa sitten haluttu osa
  • Saan unable to obtain file audio codec with ffprobe -virheen. Voitteko auttaa minua siinä. Käytän CentOS 7: ää.
  • Huomaa, että -x -lippu lataa vain äänen. Jätä se pois komennosta, jos haluat sekä ääntä että videota. 🙂
  • Tämä ei toimi luotettavasti, koska —postprocessor-args käytetään joissakin tapauksissa useita kertoja. Katso github.com/ytdl-org/youtube-dl/issues/26863

vastaus

Tätä ominaisuuspyyntöä ei ole vielä otettu käyttöön youtube-dl: ssä. Katso # 622 -asia ja monia sen kaksoiskappaleita githubissa.

Vastaa

Käytä --postprocessor-args -parametria siirtääksesi ääni- / videolähdön muokkaamaan ffmpeg (prosessori). Jälkikäsittelijä on asennettava ffmpeg.

--postprocessor-args kestää 3 argumenttia & arvot (esimerkiksi siellä on enemmän, tarkista ffmpeg -sivun manuaalinen sivu):

  • -ss HH:MM:SS: alkamisaika
  • -to HH:MM:SS: lopetusaika
  • -t HH:MM:SS: aika otettava pituus

Esimerkkejä:

  • Aloita koodaus 15 sekunnissa ja lopeta 1 minuutissa 20 sekunnissa
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -to 0:1:20" "[video_URL]" 
  • Aloita koodaus 15 sekunnista ja ota vain seuraavat 3 minuuttia 5 sekuntia
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -t 0:3:5" "[video_URL]" 

PS: youtube-dl lataa koko median ennen sen käsittelyä ja poistaa sen jälkeen.

Kommentit

vastaus

Tämä ei vastaa täysin OP: n kysymykseen, mutta on olemassa tapa ladata stream alusta tiettyyn kestoon ilman, että sinun tarvitsee ladata koko streamia. Koska YouTube tarjoaa jatkatukea, voisimme pyytää osittaista sisältöä Range -otsikon avulla.

Haemme ensin striimin URL-osoitteet:

$ youtube-dl -g https://www.youtube.com/watch?v=yysk8s2vih8 https://r1---sn-npoeenee.googlevideo.com/videoplayback?source=youtu... https://r1---sn-npoeenee.googlevideo.com/videoplayback?source=youtu... 

Tämän pitäisi antaa kaksi URL-osoitetta (kukin video- ja äänivirroille).

Lähetä nyt pääpyyntö ensimmäiseen URL-osoitteeseen (joka linkittää videovirtaan) osoitteeseen noudata tämän streamin kokonaispituutta:

$ curl "1st-URL" -sI | grep Content-Length Content-Length: 64380504 

Jaamme tämän sisällön kokonaispituuden videon sekunteilla (YouTube-videon kesto on 4 min ja 7 sekuntia, mikä on 247 sekuntia.) saadaksesi likimäärin yhden sekunnin pituuden:

64380504 / 247 ≈ 260650

Kerrotaan tämä arvo kanssa (sekuntien määrä, jonka haluat noutaa alusta + 1)

(lisäämme yhden, jotta karkeasti otettaisiin huomioon myös metatietojen ylimääräinen tila, joka on sijoitettu virran alkuun)

Jos esimerkiksi haluat hakea suunnilleen ensimmäiset 10 sekuntia, sinun on haettava ensimmäinen 260650 * 11 = 2867150 tavua, joten teemme pyynnön otsikolla Range:

$ curl "1st-URL" -H "Range: bytes=0-2867150" -o ten_secs.mp4 

Tämän pitäisi ladata vain ensimmäinen 10 sekuntiaLadatun tiedoston pitäisi pystyä toistamaan, mutta anna FFmpegin korjata virheelliset metatiedot:

$ ffmpeg -i ten_secs.mp4 -c copy corrected_ten_secs.mp4 

Voimme myös ladata vain äänen alkuosan (2.- URL) samalla tavalla (sisällön pituus poikkeaisi, mutta sekuntien kokonaismäärä pysyisi samana).

Minkä tahansa keskiosan lataamisen videosta pitäisi olla mahdollista myös tällä tavalla, mutta se on todennäköisesti paljon hankalampaa, koska YouTube sijoittaa metatiedot streamin alkuun (muutaman ensimmäisen tavun kohdalla) ja ilman että sitä olisi läsnä ladatussa mediassa, stream ei toistu ollenkaan.

MUOKKAA: Tämä toimii vain verkkosivustoilla, joilla on jatkotuki, sanotaan YouTube. Se ei toimi muille verkkosivustoille.

Vastaa

Voit ladata alusta pisteeseen ilman koko jutun lataaminen ja muokkaaminen. Se on puolet siitä, mitä tämä kysymys kysyy:

keskeytä lataus ^C

  • Olen kokeillut tätä vain mp4
  • ei toimi erillisen videon kanssa ja ääni, tarvitset muodon molemmilla. Oletuksena ytdl saa usein erilliset videot ja äänet ja yhdistää ne sitten. Käytä -F nähdäksesi käytettävissä olevat muodot ja valitse mp4, jolla on molemmat. Esimerkiksi -f18 tai -f22 ovat yleensä siellä.
  • sinä ”Ll on arvioitava ladattujen prosenttiosuuksien perusteella (mikä ei ole lineaarista; pakkaussuhde vaihtelee ajan myötä).

Kyllä. Se on hakata .

Lisäkysymys: jos haluat erilliset video- ja äänimuodot, voisitko ladata osan niistä erikseen (käyttämällä ^c kuten täällä) ja sitten yhdistää ne manuaalisesti? En usko, että se toimii joissakin muodoissa.

Vastaus

Tein komentosarjan, joka toteuttaa @godofgrunts vastauksen täällä

 #!/bin/bash #taken from https://unix.stackexchange.com/a/388148/48971 if [ $# -lt 4 ]; then echo "Usage: $0 <youtube"s URL> <HH:mm:ss from time> <HH:mm:ss to time> <output_file_name>" echo "e.g.:" echo "$0 https://www.youtube.com/watch?v=T1n5gXIPyws 00:00:25 00:00:42 intro.mp4" exit 1 fi echo "processing..." from=$(date "+%s" -d "UTC 01/01/1970 $2") to=$(date "+%s" -d "UTC 01/01/1970 $3") from_pre=$(($from - 30)) if [ $from_pre -lt 0 ] then from_pre=0 fi from_pre_command_print=$(date -u "+%T" -d @$from_pre) from_command_print=$(date -u "+%T" -d @$(($from - $from_pre)))$(grep -o "\..*" <<< $2) to_command_print=$(date -u "+%T" -d @$(($to - $from_pre)))$(grep -o "\..*" <<< $3) command="ffmpeg " for uri in $(youtube-dl -g $1) do command+="-ss $from_pre_command_print -i $uri " done command+="-ss $from_command_print -to $to_command_print $4" echo "downloading with the following command:" echo "$command" $command  

Latasin sen myös Gitlab ”-katkelmiin

Answer

Tein pullo-sovelluksen, joka voi tehdä mitä haluat. Tiedän, että viesti on vanha, mutta ongelma jatkuu.

Löydät sen täältä

Se voi jäsentää tekstiä myös YouTube-linkkeihin. Annat vain esimerkiksi:

YouTube.com/blahblah start-1:20 

Tämä lataa videon välillä 0-1: 22 (avainkehysten takia voi syntyä pieniä eroja). Se voi myös ladata kokonaisia videoita, jätä vain aikaväli tällöin.

Vastaa

Kaikille laiskille kavereille, jotka eivät ”et halua käyttää useampaa kuin yhtä komentoa, toimi seuraavasti:

youtube-dl.exe https://www.youtube.com/watch?v=MJD39Aja1Is --external-downloader ffmpeg --external-downloader-args "-ss 00:00:10.00 -t 00:01:00.00" 

Voit nyt yhdistää youtube-dl.exe ja ffmpeg kuten muodon valitseminen, videon poistaminen ja äänitiedoston leikkaaminen jne. (ehkä leikkaamalla videotiedosto ja muuntamatta äänitiedostoksi, mitä tapahtuu ensin)

youtube-dl.exe -f 251 https://www.youtube.com/watch?v=MJD39Aja1Is -x --external-downloader ffmpeg --external-downloader-args "-ss 00:00:10.00 -t 00:01:00.00" 

Kommentit

  • komentosi ei toimi GNU / Linuxissa: käytämme youtube-dl youtube-dl.exe sijaan. Ja ffmpeg kertoi minulle Invalid duration specification for ss: 00.00.10.00, sen pitäisi olla -ss 00:00:30.00 kaksoispisteillä pisteiden sijasta viimeistä lukuun ottamatta.
  • @ ewin-goisot Olen pahoillani, tämä tapahtui, koska en tehnyt ’ t kopioi koko komennon tes: n jälkeen se. Nyt sen pitäisi toimia. ongelma oli ajan määrittely. sen on oltava 00: 00: 00.00 2 kertaa kaksinkertainen piste kuin vain 1 piste. kuten hh: mm: ss.ms
  • kanssa 00:00:00.0, se toimii paremmin, voin ladata osan videosta. Minulla on edelleen ongelma (komentosi ja useimpien muiden kanssa): se lataa 5 tai 10 sekuntia liikaa. Ratkaisu annetaan @godofgrunts ’ -vastauksessa: -ss 42:30 -i "$video_url" -ss 42:30 -i "$audio_url" -map 0:v -map 1:a -ss 30 alkaen 30 sekuntia ennen osan alkamista ja lisäämällä -ss 30 lopussa. Joten minun on käytettävä useita kertoja -ss -vaihtoehtoa samassa komennossa. Onko olemassa tapa tehdä sama --external-downloader-args kanssa?
  • Ai anteeksi, en ole niin perehtynyt eri virtojen sekoittamiseen. mutta jos haluat ottaa vain parhaan ääni- ja videomateriaalin samasta videosta, voit tehdä sen youtube-dl: llä

Vastaa

Lisättäväksi @hyperpallium -vastaukseen: OP ei maininnut lataamansa videon täytyneen olla YouTubesta.

YouTube rajoittaa videoidensa kanssa naurettavasti, he jakoivat ääni- ja videovirrat eri tiedostoihin, ja ne seuraavat sinua / myyvät tietojasi; siksi sen lataamismenetelmällä voi olla vaikeuksia osittain sitten osumalla Ctrl + C .

youtube-dl -versiolla 2020.11.17 Microsoft Windows -versiossa 10.0.17134.1304 ladasin osan videosta arkistoista.org:

E:\cs>youtube-dl --abort-on-unavailable-fragment https://archive.org/download/beastars-season-1-1080p/%5BHCS%5D%20Beastars%20-%2003%20%5B1080p%5D.mkv [generic] [HCS] Beastars - 03 [1080p]: Requesting header [redirect] Following redirect to https://ia601504.us.archive.org/14/items/beastars-season-1-1080p/%5BHCS%5D%20Beastars%20-%2003%20%5B1080p%5D.mkv [generic] [HCS] Beastars - 03 [1080p]: Requesting header WARNING: Falling back on generic information extractor. [generic] [HCS] Beastars - 03 [1080p]: Downloading webpage WARNING: URL could be a direct video link, returning it as such. [download] Destination: [HCS] Beastars - 03 [1080p]-[HCS] Beastars - 03 [1080p].mkv [download] 2.3% of 513.77MiB at 839.68KiB/s ETA 10:12 ERROR: Interrupted by user E:\cs>ren "[HCS] Beastars - 03 [1080p]-[HCS] Beastars - 03 [1080p].mkv.part" "[HCS] Beastars - 03 [1080p]-[HCS] Beastars - 03 [1080p].mkv" E:\cs>ffmpeg -i "[HCS] Beastars - 03 [1080p]-[HCS] Beastars - 03 [1080p].mkv" "[HCS] Beastars - 03 [1080p].mp4" ffmpeg version N-91990-g49c67e79ca Copyright (c) 2000-2018 the FFmpeg developers built with gcc 8.2.1 (GCC) 20180813 [stdout text] Stream #0:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: encoder : Lavc58.30.100 aac [matroska,webm @ 0000020c8f28a2c0] Read errorme=00:00:33.96 bitrate=2099.5kbits/s speed=0.0185x frame= 823 fps=0.3 q=-1.0 Lsize= 9677kB time=00:00:34.56 bitrate=2293.8kbits/s speed=0.0147x video:9134kB audio:519kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.248960% [libx264 @ 0000020c8f3423c0] frame I:25 Avg QP:14.71 size: 56865 [stdout] E:\cs>youtube-dl -v [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ["-v"] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2020.11.17 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134 [debug] exe versions: ffmpeg 3.4, ffprobe N-91990-g49c67e79ca [debug] Proxy map: {} Usage: youtube-dl [OPTIONS] URL [URL...] 

MKV-tiedosto, jonka päädyin, oli ” 00:22:57 ” kohteessa ” kokonaiskesto ”, mutta se päättyi 34 sekunnin kuluttua. MP4-video, jonka päädyin, oli yhteensä 00:00:34 sekuntia, päättyi 34 sekunnin kuluttua, ja video ja ääni toistettiin täysin hienosti / tarkoitetulla tavalla. ”>

loki on täällä

Yhteenvetona voidaan siis ajaa

youtube-dl --abort-on-unavailable-fragment [URL to video file] 

(vaihtoehto --abort-on-unavailable-fragment saattaa olla tärkeä, kun lopetat lataamisen Ctrl + C -toiminnolla), anna sen ladata hetkeksi ja paina sitten Ctrl + C .

Valinnainen: Nimeä [file].mkv.part tiedosto tiedostoon [file].mkv. MKV: n muuntaminen MP4: ksi on todennäköisesti myös valinnainen.

Vastaa

Joku teki eräkomentosarja (Windows), joka lataa tiedoston ja purkaa haluamasi osan:

@ECHO off :Input ECHO. SET url= ECHO Enter Youtube-url: SET /P url= IF "%url%" EQU "" GOTO End IF "%url: =%" NEQ "%url%" GOTO Input ECHO Enter start time (in seconds, or in hh:mm:ss[.xxx] form): SET /P start= ECHO Enter duration (in seconds, or in hh:mm:ss[.xxx] form): SET /P dur= ECHO. FOR /F "delims==" %%A IN ("youtube-dl.exe --no-warnings --get-filename "%url%"") DO SET filename=%%A FOR /F %%B IN ("youtube-dl.exe -g "%url%"") DO ( ffmpeg.exe -hide_banner -ss "%start%" -i "%%B" -c copy -t "%dur%" "%filename%" ) GOTO Input :End 

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *