Ubuntut használok, és a youtube-dl parancs teljesen jól működik.

Most azonban csak egy túl hosszú videó egy részét akarom letölteni. Tehát csak néhány percet szeretnék letölteni abból a videóból, pl. a 13. perctől a 17. percig.

Van erre mód?

Válasz

I ne hidd, hogy youtube-dl önmagában megteszi, amit szeretnél. Kombinálhatod azonban egy olyan parancssori segédprogrammal, mint az ffmpeg.

A tényleges URL-t először a youtube használatával szerezd be -dl:

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

Másolja a parancs kimenetét, és illessze be a -i paraméter részeként következő parancs:

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

A -ss paraméter ebben a helyzetben azt állítja, hogy az összes bemenetet 15 másodpercig eldobja a videó. Az -t opció azt állítja, hogy 10 másodpercig kell rögzíteni. A parancs többi része megmondja, hogy mp4-ként tárolja.

Az ffmpeg népszerű eszköz, ezért legyen bármelyik népszerű operációs rendszer tárházban / csomagkezelőben.

Megjegyzések

  • Tehát lényegében még mindig le kell töltenie a teljes videót és maga kell levágnia
  • Használhatja a t he -t opció helyett -t, ha meg akarja adni a videó szelet befejezésének idejét. ffmpeg -i "OUTPUT-OF-FIRST URL" -ss 00:13:00.00 -to 00:17:00.00 -c copy out.mp4
  • @Antony ffmpeg valójában csak az Ön által megadott részt tölti le.
  • @ Antony Mindaddig, amíg az -ss paramétert az -i paraméter elé helyezi, akkor a letöltés az -ss-sel megadott időponttól kezdődik. Ha azonban az -s-t az -i paraméter után helyezi el, akkor az ffmpeg a videó legelejétől kezdve letölti a kódolást, ahonnan az -ss megadja. További információért lásd Johnnie ‘ válaszának szerkesztését.
  • a youtube-dl és a div id = “f2a13b4b41”>

opció mindig 403-at ad vissza számomra. A videó letöltéséhez egyedül a youtube-dl használatával mindig varázslatként fog működni.

Válasz

Hozzáadás Johnnie válasza:

Használja a youtube-dl --youtube-skip-dash-manifest -g "URL" alkalmazást a video- és hangfolyamok letöltéséhez.

Most használja:

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 

Minden egyes adatfolyamhoz használni kell a -ss beállítást. Azt is javasoljuk, hogy kb. 30 másodperccel korábban végezze el, majd használjon egy másik -ss 30 t, hogy elkerülje a kulcsfontosságú keretek elvesztését. Itt van egy igazi példa az egyik youtube-videóim használatára.

Videó

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

Kimenet:

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/ 

43: 00-ról 50: 10-re akartam vágni, így “div id =” e2b033618d “>

(adok néhány másodpercet egy jó kulcskép elérésére) mindkét bemeneten, majd a bemenetek után hajtsa végre a-ss 30elemet, hogy 43: 00-kor kezdődjön.

Ezután a map használatával feltérképezem a videót 0:v és az audio 1:a (0 az első bemenetet jelenti, ami a videó, az 1 pedig a második bemenetet jelenti, ami a hang), majd válassza ki a kódolási lehetőségeket.

 # 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  

Köszönet a (z) Jakub Vránának a --youtube-skip-dash-manifest megoldás.

Megjegyzések

  • Köszönöm. Nem voltam biztos benne, hogyan lehet hangot kapni a @Johnnie bejegyzéshez. A bejegyzésed megválaszolta.
  • Hogyan különbözik A --postprocessor-args közvetlenül a youtube-dl használatából?
  • @daGo – Úgy gondolom, hogy a youtube-dl --postprocessor-args az egész videót letölti majd szerkessze le a kiválasztott tartományig, míg ez a válasz a youtube-dl felhasználásával csak néhány speciális URL-t kap. Ezután ffmpeg használja ezeket az URL-eket, hogy csak a szükséges tartományt töltse le. Tehát, ha 2 percet szeretne kinyerni egy 2 órás előadás-videóból, ez a válasz rengeteg letöltést takarít meg Önnek.
  • Ez a legtöbb YT-videóval működik, de ezt egy 9 órás videóval próbálom meg. korábban élőben közvetítették (és most elkészültek), és ” Érvénytelen adatokat találtam a bemenet ” feldolgozásakor. A fő különbség az, hogy a youtube-dl -g kimenete eltérő. A legtöbb videó felépítésével rendelkezik. "https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/8...", de ehhez a videóhoz megvan a struktúra. "https://manifest.googlevideo.com/api/manifest/dash/expire/15956..." (szóközzel csonkítva). Ötletek a működéshez?
  • @LeftoverSalad Found one solution .

Válasz

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

Szerkessze az URL-t és a -ss, -t alkalommal a parancs használatához. Létrehozza az argumentumokat video- és audio-URL-ek használatával, hasonlóan ehhez a @ div id = “2efeccfc97”>

válaszhoz, amelyet @godofgrunts adott.A (z)$()kifejezéshez nem használnak idézőjeleket, mert ez két külön argumentumot eredményez affmpegszámára.

Megjegyzések

  • Meg tudná magyarázni, mit csinál, hogyan működik?
  • Ez ‘ csak a @ szűkebb verziója godofgrunts válaszol, a sed használatával időt spórolhat, manuálisan megragadva az URL-eket és másolva / beillesztve a kezdési időkben (-ss 00:05). A @godofgrunts rendelkezik néhány olyan zászlóval -map 0:v -map 1:a -c:v libx264 -c:a aac, amelyek javíthatják a minőséget. Szeretném felvenni a következőt is: youtube-dl -f bestvideo+bestaudio, hogy megbizonyosodjak arról, hogy ‘ a legmagasabb minőségű verziót kapom.
  • ffmpeg.zeranoe.com/builds Windows rendszerhez.
  • A ” extra zászlók ” foglalkozik a két adatfolyammal (videó és audio), amelyek szerintem rosszul kezelnek – az IIUC-nek semmi közük sincs a minőség javításához (nos, a hangzás valószínűleg a jobb minőségű jel :-)) Úgy tűnik, hogy az alábbi @godofgrunts válasz helyes.

Válasz

youtube-dl támogatja az argumentumok továbbítását az alapul szolgáló utólagos feldolgozóhoz (a 2017.08.27.1 verzióval tesztelve):

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

Ez alapvetően megegyezik azzal, hogy az utólagos feldolgozást a ffmpeg vel végezze el, miután először letöltötte a fájlt.

Megjegyzések

  • de erre még szükség lesz töltse le az egész videót, majd vágja le a kívánt részt
  • unable to obtain file audio codec with ffprobe hibát kapok. Kérem, segítsen nekem ebben. CentOS 7-et használok.
  • Ne feledje, hogy a -x zászló csak a hangot tölti le. Hagyja ki a parancsból, ha hangot és videót is szeretne. 🙂
  • Ez nem fog megbízhatóan működni, mivel az —postprocessor-args alkalmazást bizonyos esetekben többször is alkalmazzák. Lásd: github.com/ytdl-org/youtube-dl/issues/26863

Válasz

Ez a funkciókérés még nincs megvalósítva a youtube-dl-ben. Lásd: # 622 kérdés és sok másolatát a githubon.

Válasz

A --postprocessor-args paraméterrel továbbíthatja az audio / video kimenetet a szerkesztendő ffmpeg (processzor) részére. Az utófeldolgozót telepíteni kell ffmpeg.

--postprocessor-args 3 argumentumot vesz fel & értékek (például ott van még, ellenőrizze a ffmpeg kézikönyv oldalát):

  • -ss HH:MM:SS: a kezdési idő
  • -to HH:MM:SS: befejezési idő
  • -t HH:MM:SS: idő felvett hossz

Példák:

  • 15 másodpercnél kezdje el a kódolást, és 1 perc 20 másodpercnél álljon le
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -to 0:1:20" "[video_URL]" 
  • 15 másodpercnél kezdje el a kódolást, és csak a következő 3 perc 5 másodpercet vegye igénybe
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -t 0:3:5" "[video_URL]" 

PS: youtube-dl letölti a teljes adathordozót, mielőtt feldolgozza, és utána eltávolítja.

Megjegyzések

  • Igen! Nagyon tiszta és könnyen megjegyezhető.
  • Ez nem fog megbízhatóan működni, mivel az —postprocessor-args alkalmazást bizonyos esetekben többször alkalmazzák. Lásd: github.com/ytdl-org/youtube-dl/issues/26863

Válasz

Ez nem válaszolja meg teljesen az OP kérdését, de van mód arra, hogy egy adatfolyamot elejétől egy meghatározott időtartamig töltsön le anélkül, hogy a teljes adatfolyamot le kellene töltenie. Mivel a YouTube folytatódási támogatást nyújt, részleges tartalmat kérhetünk a Range fejléc használatával.

Először lekérjük a fal URL-jeit:

$ 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... 

Ennek két URL-t kell kiadnia (mindkettőt video- és hangfolyamokhoz).

Most küldjön fejlekérést az első URL-re (amely a videofolyamra linkel): lehívja ennek az adatfolyamnak a teljes tartalmi hosszát:

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

Most ezt a teljes tartalomhosszat elosztjuk a videó összes másodpercével (a YouTube-videó időtartama 4 perc és 7 másodperc, ami 247 másodperc.), hogy megközelítőleg megkapja az 1 másodperces tartalom hosszát:

64380504 / 247 ≈ 260650

Ezt az értéket megszorozzuk a (másodpercek számával, amelyeket be akarunk tölteni az elejétől + 1)

(hozzáadunk egyet, hogy hozzávetőlegesen figyelembe vegyük a metaadatok által elfoglalt extra helyet is, amely a patak elejére kerül)

Például körülbelül az első 10 másodperc letöltéséhez be kell szereznie az első 260650 * 11 = 2867150 bájt, ezért kérelmet küldünk a Range fejléccel:

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

Ezzel csak az elsőt kell letölteni 10 mpA letöltött fájlnak képesnek kell lennie a lejátszásra, de az legyen a legjobb, ha az FFmpeg kijavítja a helytelen metaadatokat:

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

A hangnak csak a kezdeti részét tölthetjük le (2.- URL) hasonló módon (a tartalom hossza eltérhet, de az összes másodperc változatlan marad).

Bármely középső rész letöltését a videóról is lehetővé kell tenni ilyen módon, de valószínűleg sokkal bonyolultabb, mert a YouTube a metaadatokat az adatfolyam elejére helyezi (az első néhány bájtban), és anélkül, hogy jelen lenne a letöltött adathordozóban, az adatfolyam egyáltalán nem fog lejátszani.

SZERKESZTÉS: Ez csak azokon a webhelyeken fog működni, amelyeknél újraindítási támogatás van, mondjuk a YouTube-on. Más webhelyeknél nem fog működni.

Válasz

Az elejétől a pontig letölthet az egész letöltése és szerkesztés. Ennek a fele annak, amit ez a kérdés feltesz:

szakítsa meg a letöltést a következővel: ^C

  • Ezt csak mp4
  • nem dolgoztam külön videóval és audio esetén mindkettőre szükség van egy formátumra. Alapértelmezés szerint az ytdl gyakran külön videót és hangot kap, majd egyesíti őket. A -F használatával megtekintheti az elérhető formátumokat, és válasszon egy mp4, amelyek mindkettővel rendelkeznek. Például -f18 vagy -f22 általában ott vannak.
  • Ön “Meg kell becsülnem a letöltött százalékok alapján (ami nem lineáris; a tömörítési ráta idővel változik).

Igen. Ez hack .

További kérdés: ha mégis külön video- és hangformátumot szeretne, letöltheti mindegyik egy részét külön (a ^c használatával, mint itt), majd egyesítheti őket manuálisan? Nem hiszem, hogy ez bizonyos formátumoknál működni fog.

Válasz

Készítettem egy szkriptet, amely a @godofgrunts választ itt

 #!/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  

Feltöltöttem a Gitlab “kivonatokba is

Válasz

Készítettem egy lombik alkalmazást, amivel lehet, amit csak akar. Tudom, hogy a bejegyzés régi, de a probléma továbbra is fennáll.

itt megtalálhatja

Elemezheti szöveg a YouTube linkjeihez is. Ön csak a következőt adja meg:

YouTube.com/blahblah start-1:20 

Ez 0–1: 22 arányú videót tölt le (a kulcsképek miatt kissé eltérések merülhetnek fel). Egész videókat is letölthet, csak ebben az esetben hagyja ki az időintervallumot.

Válasz

Minden lusta srácnak, aki nem “nem akar több parancsot használni, tegye a következőket:

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" 

Most már kombinálhatja a youtube-dl.exe és ffmpeg mint például a formátum kiválasztása, a videó eltávolítása és az audiofájl kivágása stb. (lehet, hogy a videofájl kivágása, és nem az, ha audio fájlba konvertálunk, bármi történjen először)

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" 

Megjegyzések

  • a parancsod nem működik GNU / Linux rendszeren: a a youtube-dl.exe helyett. És ffmpeg azt mondta nekem, hogy Invalid duration specification for ss: 00.00.10.00, -ss 00:00:30.00 legyen kettőspontokkal, pontok helyett, az utolsó kivételével.
  • @ ewin-goisot Sajnálom, ez azért történt, mert nem tettem ‘ t a teljes parancsot beillesztette a tes után árnyalja. Most működnie kell. a probléma az időmeghatározás volt. 00: 00: 00,00 kétszeres dupla pontnak kell lennie, mint csak 1 pontnak. mint hh: mm: ss.ms
  • 00:00:00.0 -vel, ez jobban működik, le tudom tölteni a videó egy részét. Még mindig van egy problémám (a parancsoddal és a legtöbb mással kapcsolatban): 5 vagy 10 másodpercet tölt le túl sokat. A megoldás a @godofgrunts ‘ válaszra adott: -ss 42:30 -i "$video_url" -ss 42:30 -i "$audio_url" -map 0:v -map 1:a -ss 30 a rész megkezdése előtt 30 másodperccel kezdődik, és hozzáad egy -ss 30 a végén. Tehát többször kell használnom a -ss beállítást ugyanazon a parancson. Van-e mód arra, hogy ugyanezt tegyük a --external-downloader-args?
  • sajnálom, nem ismerem annyira a különféle folyamok keverését. de ha ugyanarról a videóról csak a legjobb hang- és videofelvételt akarod készíteni, akkor ezt inkább a youtube-dl segítségével teheted meg

Válasz

A @hyperpallium válaszhoz való hozzáadáshoz: OP nem említette a letöltött videót, amelynek a YouTube-ról kellett lennie.

A YouTube nevetségesen korlátozza a videóit, megosztották a videót audio- és videofolyamok különböző fájlokba, és nyomon követik / eladják adatait; ezért nehézségekbe ütközhet a letöltés módja, részben a Ctrl + C megnyomásával.

youtube-dl 2020.11.17 verzióval a Microsoft Windows 10.0.17134.1304 verziójában letöltöttem egy videó egy részét az archive.org oldalról:

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...] 

Az MKV fájl, amivel végül kötöttem, ” 00:22:57 ” volt a ” teljes időtartam “, de 34 másodperc után véget ért. Az MP4 videó, amellyel végül kötöttem, 00:00:34 másodperc volt, 34 másodperc után véget ért, és a videó és a hang teljesen rendben / rendben lejátszódott.

Teljes cmd.exe napló itt

Összefoglalva tehát futtassa

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

(a --abort-on-unavailable-fragment opció fontos lehet, mivel végül megszakítja a letöltést a Ctrl + C használatával], hagyja letölteni egy kicsit, majd nyomja meg a Ctrl + C gombot.

Opcionális: nevezze át a [file].mkv.part fájl a [file].mkv fájlba. Az MKV konvertálása MP4-re valószínűleg szintén nem kötelező.

Válasz

Valaki készített egy kötegelt szkript (Windows esetén), amely letölti a fájlt és kivonja a kívánt részt:

@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 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük