2 votes

Option '-get-url' non reconnue Erreur de division de la liste des arguments : Option non trouvée

J'essaie de télécharger un clip d'une vidéo YouTube et j'ai opté pour des outils en ligne de commande après avoir constaté que les sites Web n'étaient pas faits pour cette tâche.

Grâce à cette Fil de discussion AskUbuntu J'ai la commande suivante :

ffmpeg -i $(youtube-dl -f 22 --get-url https://www.youtube.com/watch?v=EkTHhk07nv4) -ss 00:05:12.70 -t 00:00:08.10 -c:v copy -c:a copy hamster.mp4

Cependant, après l'avoir exécuté avec ffmpeg y youtube-dl dans le même répertoire, et cmd s'exécutant dans le même répertoire, j'obtiens cette sortie :

ffmpeg version git-2020-02-06-343ccfc Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 39.100 / 56. 39.100
  libavcodec     58. 68.100 / 58. 68.100
  libavformat    58. 38.100 / 58. 38.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 74.100 /  7. 74.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100

Suivi de cette erreur :

Unrecognized option '-get-url'.
Error splitting the argument list: Option not found

Je n'ai pas réussi à comprendre le message d'erreur, et la recherche de l'erreur ne m'a pas donné de réponse non plus. Qu'est-ce qui pourrait clocher dans cette commande ?

0voto

Anaksunaman Points 14675

Je n'ai pas réussi à comprendre le message d'erreur, et la recherche de l'erreur ne m'a pas donné de réponse non plus. Qu'est-ce qui pourrait clocher dans cette commande ?

ffmpeg tente d'analyser le fichier --get-url option destinée à youtube-dl .

Explication

El youtube-dl partie intégrée dans le ffmpeg commande ex. :

$(youtube-dl -f 22 --get-url https://www.youtube.com/watch?v=EkTHhk07nv4)

est destiné à :

  1. Exécuter le youtube-dl (qui renvoie une URL nécessaire pour accéder à la vidéo YouTube).

  2. Substituer les résultats (c'est-à-dire l'URL de la vidéo renvoyée) à l'endroit donné dans l'historique de la vidéo. ffmpeg commandement.

Votre problème semble être que le $() n'est pas utilisée pour obtenir/substituer l'URL correcte. Ainsi, ffmpeg lit les données brutes youtube-dl et tentant d'analyser youtube-dl des options qui ne lui étaient pas destinées.

Une solution possible

Une chose dont il faut être conscient est que $() ne fait pas partie de ffmpeg . C'est-à-dire, ffmpeg n'est pas ce qui est en cours d'exécution youtube-dl ou en substituant les résultats.

Dans le cas de Linux, le Shell utilisé par Linux effectue l'exécution et la substitution avant de transmettre les choses à ffmpeg .

Le système d'exploitation que vous utilisez n'est pas clair pour moi, mais je remarque que vous faites référence à "cmd" dans votre message initial. Si vous êtes sous Windows, cmd (l'invite de commande native de Windows) ne prend pas en charge l'utilisation de la fonction $() . Au lieu de cela, vous devriez essayer votre commande avec powershell :

powershell ffmpeg -i $(youtube-dl -f 22 --get-url https://www.youtube.com/watch?v=EkTHhk07nv4) -ss 00:05:12.70 -t 00:00:08.10 -c:v copy -c:a copy hamster.mp4

Notes sur le chemin

Veuillez noter que l'utilisation de l'option powershell l'option ci-dessus "telle quelle" suppose que ffmpeg y youtube-dl sont disponibles sur l'ensemble du système (c'est-à-dire que les dossiers dans lesquels se trouvent leurs exécutables respectifs font partie de vos paramètres de chemin d'accès Windows).

Si vous souhaitez ajouter ces dossiers à votre chemin d'accès, vous pouvez trouver un tutoriel rapide sur la façon de le faire ici . Veillez simplement à les ajouter à vos variables système. Par ailleurs, il est conseillé de redémarrer l'Explorateur Windows avant d'essayer d'utiliser l'une ou l'autre des fonctions suivantes ffmpeg o youtube-dl (cela se fait souvent par un redémarrage).

Si vous ne souhaitez pas faire ffmpeg y youtube-dl disponible à l'échelle du système, vous pouvez modifier le powershell ci-dessus avec les chemins respectifs de ffmpeg.exe y youtube-dl.exe . Par exemple, pour utiliser tout ce qui se trouve dans le même dossier, vous pouvez ajouter .\ devant chaque nom d'exécutable :

powershell .\ffmpeg -i $(.\youtube-dl -f 22 --get-url https://www.youtube.com/watch?v=EkTHhk07nv4) -ss 00:05:12.70 -t 00:00:08.10 -c:v copy -c:a copy hamster.mp4

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X