Jutilise Ubuntu et la commande youtube-dl fonctionne parfaitement.

Cependant, je souhaite maintenant télécharger uniquement une partie dune vidéo trop longue. Je souhaite donc télécharger seulement quelques minutes de cette vidéo, par exemple de la minute 13 à la minute 17.

Y a-t-il un moyen de le faire?

Réponse

I ne croyez pas que youtube-dl seul fera ce que vous voulez. Cependant, vous pouvez le combiner avec un utilitaire de ligne de commande comme ffmpeg.

Commencez par acquérir lURL réelle en utilisant youtube -dl:

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

Copiez le résultat de la commande et collez-le dans le cadre du paramètre -i du commande suivante:

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

Le paramètre -ss dans cette position indique de rejeter toutes les entrées jusquà 15 secondes après video. Loption -t indique de capturer pendant 10 secondes. Le reste de la commande lui indique de stocker en tant que mp4.

ffmpeg est un outil populaire et devrait être dans lun des référentiels / gestionnaires de paquets OS populaires.

Commentaires

  • Donc, essentiellement, vous devez toujours télécharger la vidéo entière et la recadrer vous-même
  • Vous pouvez utiliser t he option -to au lieu de -t si vous souhaitez spécifier lheure de fin de la tranche vidéo. ffmpeg -i "OUTPUT-OF-FIRST URL" -ss 00:13:00.00 -to 00:17:00.00 -c copy out.mp4
  • @Antony ffmpeg ne téléchargera en fait que la partie que vous spécifiez.
  • @ Antony Tant que vous placez le paramètre -ss avant le paramètre -i, le téléchargement commencera à partir de lheure que vous avez spécifiée avec -ss. Cependant, si vous placez -ss après le paramètre -i, alors ffmpeg sera téléchargé depuis le tout début de la vidéo et commencera lencodage à partir de lendroit où -ss spécifie. Voir ma modification de la réponse de Johnnie ‘ pour plus dinformations.
  • en utilisant le lien fourni par youtube-dl avec le -g retournera toujours 403 interdit pour moi. Utiliser youtube-dl seul pour télécharger la vidéo fonctionnera toujours comme un charme.

Réponse

Ajout à Réponse de Johnnie:

Utilisez youtube-dl --youtube-skip-dash-manifest -g "URL" pour obtenir les flux vidéo et audio.

Maintenant, utilisez:

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 

Vous « devrez utiliser loption -ss pour chaque flux. Je recommande également de le faire environ 30 secondes plus tôt, puis dutiliser un autre -ss 30 pour éviter de perdre des images clés. Voici « un exemple réel utilisant lune de mes vidéos YouTube.

Vidéo

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

Sortie:

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/ 

Je voulais couper de 43:00 à 50:10 alors je « vais faire -ss 42:30 (me donnant quelques secondes pour attraper une bonne image clé) sur les deux entrées, puis effectuez un -ss 30 après les entrées pour commencer à 43h00.

Jutiliserai ensuite map pour mapper la vidéo 0:v et laudio 1:a (0 signifie la première entrée, qui est la vidéo et 1 signifie la deuxième entrée, qui est laudio) puis choisissez mes options dencodage.

 # 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  

Crédit à Jakub Vrána pour le --youtube-skip-dash-manifest solution.

Commentaires

  • Merci. Je ne savais pas trop comment obtenir du son pour le message @Johnnie. Votre message y a répondu.
  • Comment ça dif fer de lutilisation de --postprocessor-args directement dans youtube-dl?
  • @daGo – Je crois que youtube-dl --postprocessor-args téléchargera toute la vidéo puis modifiez-le jusquà la plage sélectionnée, alors que cette réponse utilise youtube-dl juste pour obtenir des URL spéciales. ffmpeg utilise ensuite ces URL pour télécharger uniquement la plage requise. Donc, si vous souhaitez extraire 2 minutes dune vidéo de conférence de 2 heures, cette réponse vous fera économiser beaucoup de téléchargement.
  • Cela fonctionne avec la plupart des vidéos YouTube, mais jessaye avec une vidéo de 9 heures qui a été précédemment diffusé en direct (et maintenant terminé) et jobtiens  » Données non valides trouvées lors du traitement de lentrée « . La principale différence est que la sortie de youtube-dl -g est différente. Avec la plupart des vidéos, il a la structure. "https://r3---sn-mv-cvne.googlevideo.com/videoplayback/id/8..." mais pour cette vidéo, il a la structure. "https://manifest.googlevideo.com/api/manifest/dash/expire/15956..." (tronqué pour lespace). Des idées pour que cela fonctionne?
  • @LeftoverSalad Vous avez trouvé une solution .

Réponse

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

Modifiez lURL et le -ss, -t fois pour utiliser cette commande. Il crée les arguments, en utilisant à la fois des URL vidéo et audio, similaires à cette réponse de @godofgrunts.Aucun guillemet nest utilisé pour $() car cela produit deux arguments séparés pour ffmpeg.

Commentaires

  • Pourriez-vous expliquer, ce que cela fait, comment cela fonctionne?
  • Il ‘ est juste une version plus concise de @ réponse de godofgrunts, en utilisant sed pour gagner du temps en saisissant manuellement les URL et en copiant / collant les heures de début (-ss 00:05). @godofgrunts a quelques indicateurs supplémentaires -map 0:v -map 1:a -c:v libx264 -c:a aac qui pourraient améliorer la qualité. Jaime aussi ajouter youtube-dl -f bestvideo+bestaudio pour être sûr que ‘ jobtiens la version de la plus haute qualité.
  • ffmpeg.zeranoe.com/builds pour Windows.
  • Les  » indicateurs supplémentaires  » traitent des deux flux (vidéo et audio) dont je pense que vous vous trompez – IIUC ils nont rien à voir avec lamélioration de la qualité (enfin, avoir du son est probablement une marque de qualité améliorée :-)) La réponse de @godofgrunts ci-dessous semble être correcte.

Réponse

youtube-dl prend en charge la transmission darguments au postprocesseur sous-jacent (testé avec la version 2017.08.27.1):

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

Cest fondamentalement la même chose que de faire le post-traitement avec ffmpeg vous-même après avoir téléchargé le fichier au préalable.

Commentaires

  • mais il faudra toujours le faire wnload la vidéo entière, puis coupez la partie souhaitée
  • Jobtiens une erreur unable to obtain file audio codec with ffprobe. Pouvez-vous sil vous plaît maider avec ça. Jutilise CentOS 7
  • Notez que lindicateur -x télécharge uniquement laudio. Omettez-le de la commande si vous voulez à la fois audio et vidéo. 🙂
  • Cela ne fonctionnera pas de manière fiable, car —postprocessor-args est appliqué plusieurs fois dans certains cas. Voir github.com/ytdl-org/youtube-dl/issues/26863

Réponse

Cette demande de fonctionnalité nest pas encore implémentée dans youtube-dl. Consultez le numéro 622 et de nombreux doublons sur github.

Réponse

Utilisez le paramètre --postprocessor-args pour transmettre la sortie audio / vidéo à ffmpeg à modifier (le processeur). Le postprocesseur doit être ffmpeg installé.

--postprocessor-args prend 3 arguments & valeurs (par exemple, il y en a plus, consultez la page de manuel de ffmpeg):

  • -ss HH:MM:SS: heure de début à prendre
  • -to HH:MM:SS: heure de fin
  • -t HH:MM:SS: heure durée à prendre

Exemples:

  • Début de lencodage à 15 secondes et arrêt à 1 minute 20 secondes
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -to 0:1:20" "[video_URL]" 
  • Commencez lencodage à 15 secondes et ne prenez que les 3 minutes suivantes 5 secondes
    $ youtube-dl --postprocessor-args "-ss 0:0:15 -t 0:3:5" "[video_URL]" 

PS: youtube-dl téléchargera lintégralité du média avant de le traiter, et le supprimera après.

Commentaires

Réponse

Cela ne répond pas complètement à la question de OP mais il existe un moyen de télécharger un flux du début à une durée spécifique sans avoir à télécharger le flux complet. Étant donné que YouTube prend en charge les CV, nous pouvons demander un contenu partiel à laide de len-tête Range.

Nous récupérons dabord les URL du flux:

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

Cela devrait générer deux URL (chacune pour les flux vidéo et audio).

Maintenant, envoyez une requête head à la première URL (qui renvoie au flux vidéo) à récupérez la longueur totale du contenu de ce flux:

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

Maintenant, nous divisons cette longueur totale du contenu par le nombre total de secondes dans la vidéo (la vidéo YouTube a une durée de 4 min et 7 secondes, soit 247 secondes.) pour obtenir approximativement la durée du contenu de 1 seconde:

64380504 / 247 ≈ 260650

Nous multiplions cette valeur avec (nombre de secondes que nous voulons récupérer depuis le début + 1)

(nous en ajoutons un pour tenir compte également de lespace supplémentaire pris par les métadonnées qui sont placées au début du flux)

Par exemple, pour récupérer environ les 10 premières secondes, vous devrez récupérer le premier 260650 * 11 = 2867150 octets, nous faisons donc une requête avec len-tête Range:

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

Cela ne devrait télécharger que le premier 10 secondes.Le fichier téléchargé devrait pouvoir être lu mais il vaut mieux laisser FFmpeg corriger les métadonnées incorrectes:

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

Nous pouvons également télécharger uniquement la partie initiale de laudio (2ème- URL) de la même manière (la longueur du contenu serait différente mais le nombre total de secondes resterait le même).

Le téléchargement de nimporte quelle partie médiane de la vidéo devrait également être possible de cette manière, mais cela sera probablement beaucoup plus délicat car YouTube place les métadonnées au début du flux (dans les premiers octets) et sans quelles soient présentes dans le média téléchargé, le flux ne sera pas lu du tout.

EDIT: Cela ne fonctionnera que sur les sites Web prenant en charge les CV, par exemple YouTube. Cela ne fonctionnera pas pour dautres sites Web.

Réponse

Vous pouvez télécharger depuis le début jusquà un point sans télécharger le tout et éditer. Cest la moitié de ce que cette question demande:

interrompre le téléchargement avec ^C

  • Je « nai essayé cela quavec mp4
  • ne fonctionnera pas avec une vidéo séparée et audio, vous avez besoin dun format avec les deux. Par défaut, ytdl obtient souvent une vidéo et un audio séparés, puis les fusionne. Utilisez -F pour voir les formats disponibles, puis choisissez un mp4 qui a les deux. Par exemple, -f18 ou -f22 sont généralement là.
  • vous « ll devra estimer à partir du pourcentage téléchargé (qui nest pas linéaire; le taux de compression varie dans le temps).

Oui. Cest un piratage .

Autre question: si vous voulez les formats vidéo et audio séparés, pouvez-vous télécharger une partie de chacun séparément (en utilisant ^c comme ici), puis les fusionner manuellement? Je ne pense pas que cela fonctionnera pour certains formats.

Réponse

Jai créé un script implémentant @godofgrunts answer ici

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

Je lai également téléchargé dans les extraits de code de Gitlab « 

Answer

Jai créé une application flask qui peut répondre à vos envies. Je sais que le message est ancien, mais le problème persiste.

Vous pouvez le trouver ici

Il peut analyser texte pour les liens YouTube également. Vous fournissez simplement par exemple:

YouTube.com/blahblah start-1:20 

Cela téléchargera une vidéo de 0-1: 22 (de légères différences peuvent survenir à cause des images clés). Il peut également télécharger des vidéos entières, omettez simplement lintervalle de temps dans ce cas.

Réponse

Pour tous les paresseux qui ne le font pas « Si vous souhaitez utiliser plus dune commande, procédez comme suit:

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" 

Vous pouvez maintenant combiner les options de youtube-dl.exe et ffmpeg comme choisir le format, supprimer la vidéo et couper le fichier audio etc. (peut-être couper le fichier vidéo et que le convertir en fichier audio, quoi quil arrive en premier)

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" 

Commentaires

  • votre commande ne fonctionne pas sous GNU / Linux: nous utilisons youtube-dl au lieu de youtube-dl.exe. Et ffmpeg ma dit Invalid duration specification for ss: 00.00.10.00, il devrait être -ss 00:00:30.00 avec deux-points au lieu de points sauf le dernier.
  • @ ewin-goisot Je suis désolé, cela sest produit parce que je nai pas ‘ t copier-coller toute la commande après tes ting il. Maintenant, cela devrait fonctionner. le problème était la définition du temps. il doit être 00: 00: 00.00 2 fois le double du point, que seulement 1 point. comme hh: mm: ss.ms
  • avec 00:00:00.0, cela fonctionne mieux, je peux télécharger une partie de la vidéo. Jai toujours un problème (avec votre commande et la plupart des autres): il télécharge 5 ou 10 secondes de trop. La solution est donnée sur la réponse de @godofgrunts ‘: -ss 42:30 -i "$video_url" -ss 42:30 -i "$audio_url" -map 0:v -map 1:a -ss 30 en commençant 30 secondes avant le début de la partie et en ajoutant un -ss 30 à la fin. Jai donc besoin dutiliser plusieurs fois loption -ss sur la même commande. Y a-t-il un moyen de faire la même chose avec --external-downloader-args?
  • ah désolé, je ne suis pas très familier avec le mélange de différents flux. mais si vous souhaitez utiliser uniquement le meilleur matériel audio et vidéo de la même vidéo, vous pouvez le faire avec youtube-dl à la place

Réponse

Pour ajouter à la réponse @hyperpallium: OP na pas mentionné que la vidéo quil téléchargeait devait provenir de YouTube.

YouTube est ridiculement restrictif avec leurs vidéos, ils ont divisé le les flux audio et vidéo dans différents fichiers, et ils vous suivent / vendent vos données; par conséquent, on pourrait avoir des difficultés avec la méthode de téléchargement partiel puis en appuyant sur Ctrl + C .

Avec youtube-dl version 2020.11.17 de Microsoft Windows version 10.0.17134.1304, jai téléchargé une partie dune vidéo depuis 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...] 

Le fichier MKV avec lequel je me suis retrouvé était  » 00:22:57  » dans  » durée totale « , mais il sest terminé après 34 secondes. La vidéo MP4 avec laquelle je me suis retrouvé était dune durée totale de 00:00:34 secondes, sest terminée après 34 secondes, et la vidéo et laudio ont été parfaitement lus / comme prévu.

Complet cmd.exe log est ici

Donc, en résumé, exécutez

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

(loption --abort-on-unavailable-fragment peut être importante car vous finissez par interrompre le téléchargement avec Ctrl + C ), laissez-le télécharger un peu, puis appuyez sur Ctrl + C .

Facultatif: renommez le [file].mkv.part fichier vers [file].mkv. La conversion du MKV en MP4 est probablement également facultative.

Réponse

Quelquun a créé un batch script (pour Windows) qui télécharge le fichier et extrait la partie souhaitée:

@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 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *