面白い小さな質問があります。
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
問題は、ほんのわずかな部分を抽出するためにビデオ全体をダウンロードしたくないということです。
私が思いついた解決策は、次のことです。
- 以前のように不正確なビデオ+オーディオクリップをダウンロードする
- 正確なダウンロードオーディオのみセグメント(キーフレームがないためこれが可能であると仮定します)
- 今、トリッキーな部分があります。オーディオファイルが不正確なビデオクリップのオーディオトラックとどのように配置されるかをご覧ください。
- オフセットを使用して不正確なビデオクリップの右側の部分を記録します。
ステップ3を完了する方法を知っている人はいますか?それとも代替案を提案できますか?
編集する:
yt-dlpを使って正確なオーディオクリップをダウンロードするのは簡単ではないようです。これがツールの制限か、単に不可能なのかを知っている人はいますか?検索はビデオトラックによって異なり、オーディオトラックは同じ方法で検索できないようです。