GNU/Linux >> Znalost Linux >  >> Linux

Stáhněte si část videa z Youtube s Youtube-dl a FFmpeg

I když je k dispozici velké množství programů pro stahování a kódování videí, raději používám Youtube-dl a FFmpeg . Tyto dva nástroje stačí ke stahování videí z online a kódování, dekódování, transkódování, ořezávání a muxování stažených videí. Dnes uvidíme, jak stáhnout část videa z YouTube pomocí Youtube-dl a FFmpeg v Linuxu.

Než budu znát tento tip, obvykle bych si nejprve stáhl celé video pomocí Youtube-dl a poté jej zkrátil na požadovanou délku pomocí FFmpeg, jak je uvedeno níže.

Pro stažení videa bych udělal:

$ youtube-dl <youtube-link>

A pak ořízněte stažené video pomocí počátečního a koncového času videoklipu podle mého vkusu pomocí FFmpeg pomocí příkazu:

$ ffmpeg -i input_video.mp4 -ss 00:01:00 -to 00:03:00 -c copy output_video.mp4

To je to, co jsem dělal, abych získal pouze část videa. Pokud stále používáte tuto metodu stahování a ořezávání videí, neobtěžujte se. Znám o něco lepší způsob, jak stáhnout části videa z youtube místo celého videa. Čtěte dál!

Stáhněte si část videa z Youtube s Youtube-dl a FFmpeg

Nejprve uvidíme, jak stáhnout konkrétní část videa z youtube pomocí skriptu Youtube-dl.

Pro účely této příručky budu používat toto video z oficiálního kanálu YouTube pro náš OSTechNix blog. Toto video je dlouhé 2:43 minuty a v podstatě ukazuje, jak spouštět webové prohlížeče v režimu celé obrazovky v Linuxu.

Pokud jste si ještě nenainstalovali Youtube-dl na svůj Linux, podívejte se na odkazy připojené v prvním odstavci.

Youtube-dl má --postprocessor-args parametr ke stažení konkrétní části videa z youtube nebo videí z několika dalších webových stránek.

Chcete-li stáhnout část videa pomocí Youtube-dl, spusťte:

$ youtube-dl --postprocessor-args "-ss 00:01:00 -to 00:02:00" "https://www.youtube.com/watch?v=dc7I-i7sPrg"

Zde --ss 00:01:00 je počáteční čas videa a -to 00:02:00 je čas konce. Výše uvedený příkaz tedy začne kódovat v 1 minutě a skončí ve 2 minutách.

Můžete také použít -t příznak k určení celkové doby trvání.

$ youtube-dl --postprocessor-args "-ss 00:01:00 -t 00:00:50" "https://www.youtube.com/watch?v=dc7I-i7sPrg"

Kódování se spustí po 1 minutě a bude trvat pouze dalších 50 sekund.

Upozorňujeme, že Youtube-dl stáhne celé video před jeho zpracováním. Po oříznutí videa na danou délku smaže původní video a ponechá si pouze část videa. Pokud chcete zachovat obojí, jednoduše předejte -k vlajka.

Pokud nechcete stahovat celé video, ale pouze jeho část, můžete zkombinovat ffmpeg a youtube-dl a stáhnout konkrétní část videa z youtube, jak je uvedeno níže:

$ youtube-dl --external-downloader ffmpeg --external-downloader-args "-ss 00:01:00.00 -to 00:02:00.00" -f best "https://www.youtube.com/watch?v=dc7I-i7sPrg"

Zde jsme použili -f best příznak ke stažení zvuku a videa v nejlepší kvalitě.

Výše uvedený příkaz stáhne dané Youtube video se skriptem Youtube-dl a poté jej ořízne počínaje 1 minutou a skončí na 2 minutách.

Zde je další verze příkazu, která dělá stejnou práci.

$ ffmpeg -ss 00:01:00 -to 00:02:00 -i "$(youtube-dl -f best --get-url 'https://www.youtube.com/watch?v=dc7I-i7sPrg')" -c:v copy -c:a copy kiosk.mp4

Tento příkaz provede totéž jako výše uvedený příkaz, ale uloží výstupní video jako „kiosk.mp4“.

Aktualizace:

Jak se níže vyjádřil jeden z našich čtenářů, pokud výše uvedený tip z nějakého důvodu nefunguje, stačí přidat desetinné místo po sekundách jako "-ss 00:01:00.00 -to 00:02:00.00 " místo "-ss 00:01:00 -to 00:02:00 ". Osobně jsem to však netestoval. Čtenář však tvrdí, že to funguje."

Doufám, že to pomůže.

Reference

Vybraný obrázek od kapil 99 od Pixabay .


Linux
  1. Jak zmenšit velikost videa pomocí Ffmpeg?

  2. Chyba:Nelze stáhnout video?

  3. ClipGrab – stahování videa z YouTube, Facebooku a dalších stránek

  1. Stáhněte si videa z YouTube v příkazovém řádku systému Linux pomocí youtube-dl

  2. Opakujete video s gstreamerem a gst-launch?

  3. Zsh říká, že při pokusu o stažení videa pomocí youtube-dl nebyly nalezeny žádné shody

  1. Převeďte videa do formátu videa WhatsApp pomocí FFmpeg

  2. Trim s Lvm a Dm-crypt?

  3. Převést video na pevnou velikost obrazovky oříznutím a změnou velikosti?