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
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.
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 30
elemet, 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 ayoutube-dl
felhasználásával csak néhány speciális URL-t kap. Ezutánffmpeg
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 affmpeg
szá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 egymp4
, 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.
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. Ésffmpeg
azt mondta nekem, hogyInvalid 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
ffmpeg -i "OUTPUT-OF-FIRST URL" -ss 00:13:00.00 -to 00:17:00.00 -c copy out.mp4
ffmpeg
valójában csak az Ön által megadott részt tölti le.youtube-dl
és a div id = “f2a13b4b41”>