使用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