下载 YouTube 视频的片段并精确裁剪

下载 YouTube 视频的片段并精确裁剪

我有一个有趣的小问题。

我想下载 YouTube 视频的特定部分,这很容易通过以下方法实现yt-dlp

yt-dlp -f "(bestvideo+bestaudio)[protocol!*=dash]" --external-downloader ffmpeg
  --external-downloader-args "ffmpeg_i:-ss 672.46 -to 677.15" "https://www.youtube.com/watch?v=7U7Sbl-DXcI"

问题是,由于关键帧的位置,这通常会导致视频的开头或结尾出现额外的内容。

解决方案是使用特定的起点和终点重新编码视频。

同样,这非常简单:

ffmpeg -i input.webm -ss 672.46 -to 677.15 -c:v libvpx -c:a copy
  -crf 40 -b:v 500k -vf scale=480:-2 output.webm

问题是,我不想下载整个视频只是为了提取一小部分。

我想到的解决方案是执行以下操作:

  1. 像以前一样下载不精确的视频+音频片段
  2. 下载精确的仅音频段(我假设这是可能的,因为没有关键帧)
  3. 现在是棘手的一点。以某种方式弄清楚音频文件如何与不精确的视频片段中的音轨对齐。
  4. 使用偏移量重新编码不精确视频片段的右侧部分。

有谁知道我该如何完成第 3 步?或者也许可以建议一种替代方法?

编辑:

使用 yt-dlp 下载精确的音频片段似乎并不简单。有谁知道这是否是该工具的限制,或者根本不可能?我猜搜索取决于视频轨道,而音频轨道不能以同样的方式搜索?

相关内容