Folosesc Ubuntu și comanda youtube-dl funcționează absolut bine.

Cu toate acestea, acum vreau să descarc doar o parte a unui videoclip prea lung. Așadar, vreau să descarc doar câteva minute din acel videoclip, de ex. de la minutul 13 la minutul 17.

Există vreo modalitate de a face asta?

Răspuns

I nu credeți că youtube-dl singur va face ceea ce doriți. Cu toate acestea, îl puteți combina cu un utilitar de linie de comandă, cum ar fi ffmpeg.

Mai întâi, dobândiți adresa URL reală utilizând YouTube -dl:

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

Copiați ieșirea comenzii și lipiți-o ca parte a parametrului -i al următoarea comandă:

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

Parametrul -ss din această poziție stabilește să elimine toate intrările până la 15 secunde în video. Opțiunea -t afirmă că trebuie capturată timp de 10 secunde. Restul comenzii îi spune să se stocheze ca un mp4.

ffmpeg este un instrument popular și ar trebui să vă aflați în oricare dintre repozitoarele populare ale sistemului de operare / administratorii de pachete.

Comentarii

  • Deci, în esență, trebuie să descărcați întregul videoclip și să-l decupați singur
  • Puteți utiliza t el -to opțiune în loc de -t dacă doriți să specificați ora pentru încheierea feliei video. ffmpeg -i "OUTPUT-OF-FIRST URL" -ss 00:13:00.00 -to 00:17:00.00 -c copy out.mp4
  • @Antony ffmpeg va descărca de fapt doar partea pe care o specificați.
  • @ Antony Atâta timp cât puneți parametrul -ss înaintea parametrului -i, atunci va începe descărcarea din momentul specificat cu -ss. Cu toate acestea, dacă plasați -ss după parametrul -i, atunci ffmpeg va descărca chiar de la începutul videoclipului și va începe codificarea de unde specifică -ss. Consultați ediția mea pentru răspunsul lui Johnnie ‘ pentru mai multe informații.
  • folosind linkul furnizat de youtube-dl cu -g opțiunea va întoarce întotdeauna 403 interzisă pentru mine. Folosind youtube-dl singur pentru a descărca videoclipul, va funcționa întotdeauna ca un farmec.

Răspuns

Adăugare la Răspunsul lui Johnnie:

Utilizați youtube-dl --youtube-skip-dash-manifest -g "URL" pentru a obține fluxuri video și audio.

Acum utilizați:

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 

Va trebui să utilizați opțiunea -ss pentru fiecare flux. De asemenea, vă recomand să o faceți cu aproximativ 30 de secunde mai devreme și apoi să utilizați alt -ss 30 pentru a evita pierderea cadrelor cheie. Iată „un exemplu real folosind unul dintre videoclipurile mele de pe YouTube.

Video

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

Ieșire:

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/ 

Am vrut să tai de la 43:00 la 50:10, așa că voi face -ss 42:30 (oferindu-mi câteva secunde să prind un cadru cheie bun) pe ambele intrări și apoi faceți un -ss 30 după intrări pentru a începe la 43:00.

Voi folosi apoi map pentru a mapa videoclipul 0:v și audio 1:a (0 înseamnă prima intrare, care este videoclipul și 1 înseamnă a doua intrare, care este audio) și apoi alegeți opțiunile mele de codificare.

 # 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  

Credit către Jakub Vrána pentru --youtube-skip-dash-manifest soluție.

Comentarii

  • Mulțumesc. Nu eram sigur cum să obțin sunet, pentru postarea @Johnnie. Postarea ta a răspuns.
  • Cum diferă fer din utilizarea --postprocessor-args direct în youtube-dl?
  • @daGo – Cred că youtube-dl --postprocessor-args va descărca întregul videoclip și apoi editați-l până la intervalul selectat, în timp ce acest răspuns folosește youtube-dl doar pentru a obține câteva adrese URL speciale. ffmpeg folosește apoi acele adrese URL pentru a descărca numai intervalul necesar. Deci, dacă doriți să extrageți 2 minute dintr-un videoclip prelegător de 2 ore, acest răspuns vă va economisi multe descărcări.
  • Acest lucru funcționează cu majoritatea videoclipurilor YT, dar încerc cu un videoclip de 9 ore care anterior a fost transmis live (și acum finalizat) și primesc ” Date nevalide găsite la procesarea intrării „. Principala diferență este că ieșirea youtube-dl -g este diferită. Cu majoritatea videoclipurilor are structura. "https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/8..." dar pentru acest videoclip are struct. "https://manifest.googlevideo.com/api/manifest/dash/expire/15956..." (trunchiat pentru spațiu). Idei despre cum să faci acest lucru să funcționeze?
  • @LeftoverSalad S-a găsit o soluție .

Răspuns

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

Editați adresa URL și -ss, -t ori pentru a utiliza această comandă. Acesta creează argumentele, utilizând atât adrese URL video, cât și audio, similare cu acest răspuns de @godofgrunts.Nu se utilizează ghilimele pentru $() deoarece aceasta produce două argumente separate pentru ffmpeg.

Comentarii

  • Ați putea explica, ce face, cum funcționează?
  • Este ‘ doar o versiune mai concisă a @ Godofgrunts răspunde, folosind sed pentru a economisi ceva timp apucând manual URL-urile și copiind / lipind în orele de început (-ss 00:05). @godofgrunts are câteva semnalizări suplimentare -map 0:v -map 1:a -c:v libx264 -c:a aac care ar putea îmbunătăți calitatea. De asemenea, îmi place să adaug youtube-dl -f bestvideo+bestaudio pentru a mă asigura că ‘ primesc versiunea de cea mai înaltă calitate.
  • ffmpeg.zeranoe.com/builds pentru Windows.
  • Semnalizările suplimentare ” ” se ocupă de cele două fluxuri (video și audio) pe care cred că le gestionați greșit – IIUC nu au nimic de-a face cu îmbunătățirea calității (ei bine, a avea sunet este probabil un semn de calitate îmbunătățită :-)) răspuns de @godofgrunts de mai jos pare a fi corect.

Răspuns

youtube-dl acceptă transmiterea argumentelor către postprocesorul subiacent (testat cu versiunea 2017.08.27.1):

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

Acest lucru este practic același lucru cu efectuarea postprocesării cu ffmpeg după ce ați descărcat mai întâi fișierul.

Comentarii

  • , dar acest lucru va fi necesar descărcați întregul videoclip, apoi tăiați partea dorită
  • Am primit o eroare unable to obtain file audio codec with ffprobe. Puteți să mă ajutați cu asta. Folosesc CentOS 7
  • Rețineți că semnalizatorul -x descarcă numai sunetul. Omiteți-l din comandă dacă doriți atât audio cât și video. 🙂
  • Acest lucru nu va funcționa în mod fiabil, deoarece —postprocessor-args se aplică de mai multe ori în unele cazuri. Consultați github.com/ytdl-org/youtube-dl/issues/26863

Răspuns

Această cerere de caracteristică nu este încă implementată în youtube-dl. Consultați # 622 numărul și multe duplicate ale acestuia pe github.

Răspuns

Utilizați parametrul --postprocessor-args pentru a transmite ieșirea audio / video către ffmpeg de editat (procesorul). Postprocesatorul trebuie să fie ffmpeg instalat.

--postprocessor-args acceptă 3 argumente & valori (de exemplu, există mai multe, verificați pagina manuală a ffmpeg):

  • -ss HH:MM:SS: ora de început pentru a lua
  • -to HH:MM:SS: ora de încheiere
  • -t HH:MM:SS: ora lungimea de luat

Exemple:

  • Începeți codarea la 15 secunde și opriți-vă la 1 minut 20 secunde
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -to 0:1:20" "[video_URL]" 
  • Începeți codificarea la 15 secunde și luați doar următoarele 3 minute 5 secunde
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -t 0:3:5" "[video_URL]" 

PS: youtube-dl va descărca întregul suport înainte de al procesa și îl va elimina după.

Comentarii

Răspuns

Aceasta nu răspunde complet la întrebarea OP, dar există o modalitate de a descărca un flux de la început la o anumită durată fără a fi nevoie să descărcați fluxul complet. Deoarece YouTube oferă asistență pentru reluare, am putea solicita conținut parțial folosind antetul Range.

Mai întâi preluăm adresele URL ale fluxului:

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

Aceasta ar trebui să afișeze două adrese URL (fiecare pentru fluxuri video și audio).

Acum trimiteți o cerere de cap la prima adresă URL (care se leagă la fluxul video) la preluați lungimea totală a conținutului acestui flux:

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

Acum, împărțim această lungime totală a conținutului la totalul de secunde în videoclip (videoclipul YouTube are o durată de 4 min și 7 secunde, care este de 247 secunde.) pentru a obține aproximativ lungimea conținutului de 1 secundă:

64380504 / 247 ≈ 260650

Înmulțim această valoare cu (numărul de secunde pe care dorim să le preluăm de la început + 1)

(adăugăm unul pentru a ține cont și de spațiul suplimentar ocupat de metadate care este plasat la începutul fluxului)

De exemplu, pentru a prelua aproximativ primele 10 secunde, va trebui să preluați primele 260650 * 11 = 2867150 octeți, deci facem o cerere cu antetul Range:

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

Acest lucru ar trebui să descarce doar primul 10 secundeFișierul descărcat ar trebui să poată fi redat, dar cel mai bine lăsați FFmpeg să remedieze metadatele incorecte:

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

De asemenea, putem descărca doar partea inițială a sunetului (2- URL) într-un mod similar (lungimea conținutului ar diferi, dar numărul total de secunde ar rămâne aceleași).

Descărcarea oricărei porțiuni din mijloc din videoclip ar trebui, de asemenea, să fie posibilă în acest fel, dar este probabil mult mai complicată, deoarece YouTube plasează metadatele la începutul fluxului (în primii câțiva octeți) și fără ca acesta să fie prezent în mediul descărcat, fluxul nu va fi redat deloc.

EDIT: Acest lucru va funcționa numai pe site-urile web cu suport pentru CV, să spunem YouTube. Nu va funcționa pentru alte site-uri web.

Răspuns

Puteți descărca de la început până la un punct fără descărcarea întregului lucru și editare. Aceasta este jumătatea a ceea ce pune această întrebare:

întrerupe descărcarea cu ^C

  • Am încercat acest lucru doar cu mp4
  • nu am funcționat cu videoclip separat și audio, aveți nevoie de un format cu ambele. În mod implicit, ytdl obține adesea videoclipuri și audio separate, apoi le îmbină. Utilizați -F pentru a vedea formatele disponibile și alegeți un mp4 care are ambele. Ex. -f18 sau -f22 sunt de obicei acolo.
  • „Va trebui să estimez din procentul descărcat (care nu este liniar; rata de compresie variază în timp).

Da. Este„ hack ”.

Întrebare suplimentară: dacă doriți formate video și audio separate, ați putea descărca o parte din fiecare separat (folosind ^c ca aici) și apoi le combinați manual? Nu cred că va funcționa pentru anumite formate.

Răspuns

Am realizat un script implementând @godofgrunts answer aici

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

De asemenea, l-am încărcat în fragmentele Gitlab

Răspuns

Am creat o aplicație balon care poate pentru ceea ce doriți. Știu că postarea este veche, dar problema persistă.

O poți găsi aici

Se poate analiza text și pentru linkuri YouTube. Furnizați doar, de exemplu:

YouTube.com/blahblah start-1:20 

Aceasta va descărca un videoclip de la 0-1: 22 (pot apărea diferențe ușoare din cauza cadrelor cheie). De asemenea, poate descărca videoclipuri întregi, doar omite intervalul de timp în acest caz.

Răspuns

Pentru toți băieții leneși care nu „nu vreau să folosiți mai multe comenzi, efectuați următoarele:

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" 

Acum puteți combina opțiunile youtube-dl.exe și ffmpeg cum ar fi alegerea formatului, eliminarea videoclipului și tăierea fișierului audio etc. (poate tăierea fișierului video și decât conversia într-un fișier audio, orice se întâmplă mai întâi)

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" 

Comentarii

  • comanda dvs. nu funcționează pe GNU / Linux: folosim youtube-dl în loc de youtube-dl.exe. Și ffmpeg mi-a spus Invalid duration specification for ss: 00.00.10.00, ar trebui să fie -ss 00:00:30.00 cu două puncte în loc de puncte, cu excepția ultimei.
  • @ ewin-goisot Îmi pare rău, acest lucru s-a întâmplat pentru că nu t-a copiat întreaga comandă după tes zgârcindu-l. Acum ar trebui să funcționeze. problema a fost definirea timpului. trebuie să fie 00: 00: 00.00 de 2 ori punct dublu, decât doar 1 punct. ca hh: mm: ss.ms
  • cu 00:00:00.0, funcționează mai bine, pot descărca o parte din videoclip. Am încă o problemă (cu comanda ta și cu majoritatea celorlalte): descarcă prea mult 5 sau 10 secunde. Soluția este dată pe răspunsul @godofgrunts ‘: -ss 42:30 -i "$video_url" -ss 42:30 -i "$audio_url" -map 0:v -map 1:a -ss 30 începând cu 30 de secunde înainte ca porțiunea să înceapă și adăugând un „>

la sfârșit. Deci, trebuie să folosesc de mai multe ori opțiunea-sspe aceeași comandă. Există o modalitate de a face același lucru cu--external-downloader-args?

  • îmi pare rău, nu sunt atât de familiarizat cu amestecarea diferitelor fluxuri. dar dacă doriți să luați cel mai bun material audio și video al aceluiași videoclip, atunci îl puteți face cu youtube-dl.
  • Răspundeți

    Pentru a adăuga la răspunsul @hyperpallium: OP nu a menționat că videoclipul pe care îl descărca trebuia să fie de pe YouTube.

    YouTube este ridicol de restrictiv cu videoclipurile lor, au împărțit fluxuri audio și video în diferite fișiere și vă urmăresc / vând datele; prin urmare, s-ar putea avea dificultăți cu metoda de descărcare parțială, apoi apăsând Ctrl + C .

    Cu youtube-dl versiunea 2020.11.17 în versiunea Microsoft Windows 10.0.17134.1304 am descărcat o parte a unui videoclip de pe archive.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...] 

    Fișierul MKV cu care am ajuns a fost ” 00:22:57 ” în ” durata totală „, dar s-a încheiat după 34 de secunde. Videoclipul MP4 cu care am ajuns a avut o durată totală de 00:00:34 secunde, s-a încheiat după 34 de secunde, iar videoclipul și sunetul au fost redate complet bine / așa cum am intenționat.

    Complet cmd.exe jurnalul este aici

    Deci, în rezumat, rulați

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

    (opțiunea --abort-on-unavailable-fragment ar putea fi importantă pe măsură ce sfârșiți prin a întrerupe descărcarea cu Ctrl + C ), lăsați-l să se descarce puțin, apoi apăsați Ctrl + C .

    Opțional: redenumiți [file].mkv.part fișier către [file].mkv. Conversia MKV în MP4 este probabil, de asemenea, opțională.

    Răspuns

    Cineva a făcut un script batch (pentru Windows) care descarcă fișierul și extrage porțiunea dorită:

    @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 

    Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *