使用Youtube-dl和FFmpeg下載部分Youtube視頻

即使有許多可供下載和編碼視頻的程序,我還是更喜歡使用 Youtube-dlFFmpeg。 這兩個實用程序足以從網上下載視頻,並對下載的視頻進行編碼,解碼,轉碼,裁剪和多路復用。 今天,我們將了解如何在Linux中使用Youtube-dl和FFmpeg下載一部分YouTube視頻。

在我知道此技巧之前,我通常會先使用Youtube-dl下載整個視頻,然後使用FFmpeg將其修整到我想要的時長,如下所示。

要下載視頻,我將執行以下操作:

$ youtube-dl <youtube-link>

然後根據我對FFmpeg的喜歡,使用以下命令使用視頻剪輯的開始和結束時間來修剪下載的視頻:

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

這就是我只獲取一部分視頻的做法。 如果您仍然按照此方法下載和修剪視頻,請不要打擾。 我知道一種更好的下載youtube視頻而不是完整視頻的方法。 繼續閱讀!

使用Youtube-dl和FFmpeg下載部分Youtube視頻

首先,我們將了解如何使用Youtube-dl腳本下載youtube視頻的特定部分。

就本指南而言,我將使用 這個視頻 來自 我們的OSTechNix的官方YouTube頻道 博客。 該視頻長2:43分鐘,基本上演示了如何在Linux中以全屏模式啟動Web瀏覽器。

如果您尚未在Linux機器上安裝Youtube-dl,請參考第一段中的鏈接。

Youtube-dl具有 --postprocessor-args 參數,以從其他幾個網站下載youtube視頻的特定部分。

要使用Youtube-dl下載一部分視頻,請運行:

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

這裡, --ss 00:01:00 是視頻的開始時間, -to 00:02:00 是結束時間。 因此,以上命令將在1分鐘後開始編碼,並在2分鐘後結束。

您也可以使用 -t 標誌以指定總持續時間。

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

這將在1分鐘後開始編碼,並且僅在接下來的50秒內開始編碼。

請注意,Youtube-dl將 下載整個視頻 在處理它之前。 將視頻修剪到給定的長度後,它將刪除原始視頻,並僅保留視頻的一部分。 如果您想同時保留兩者,只需通過 -k 旗幟。

如果您不想下載整個視頻,而只是下載一部分,則可以將ffmpeg和youtube-dl結合使用,以下載youtube視頻的特定部分,如下所示:

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

在這裡,我們使用了 -f best 標記以下載最優質的音頻和視頻。

上面的命令將使用Youtube-dl腳本下載給定的Youtube視頻,然後從1分鐘開始修剪,直到2分鐘結束。

這是執行相同工作的命令的另一個版本。

$ 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

該命令與上述命令相同,但是將輸出視頻保存為“ kiosk.mp4”。 在這兩種情況下

希望這可以幫助。

參考

特色圖片 卡皮爾99的Pixabay

命令行工具下載youtube視頻FFmpegFFmpeg命令LinuxYouTubeyoutube-dlYoutube-dl命令

Sidebar