【问题标题】:youtube-dl: download youtube videos info.json in a playlist by ignoring videos specified in archive.txtyoutube-dl:通过忽略 archive.txt 中指定的视频,将 youtube 视频 info.json 下载到播放列表中
【发布时间】:2019-12-01 18:14:54
【问题描述】:

我正在尝试通过 youtube-dl 为 youtube 播放列表中的所有视频下载 json 元数据(不是视频)。我还想在再次运行相同的命令时忽略为播放列表中的视频下载已下载的 json 元数据。所以,这是我尝试过的命令,

youtube-dl -i --write-info-json --skip-download --download-archive archive.txt {youtube-playlist-url}  

--write-info-json 写入视频info.json

--skip-download不要下载视频

--download-archive archive.txt archive.txt 包含已下载视频 ID 的列表,因此 youtube-dl 不会再次下载这些视频

但是,在 youtube-dl 中包含 --skip-download 参数会导致视频 ID 未添加到 archive.txt,这表明 yt-dl 仅在下载视频后将视频 ID 添加到 archive.txt。这两个命令(--skip-download & --download-archive archive.txt)可以一起运行吗?还是有其他方法可以实现?

【问题讨论】:

    标签: youtube-dl


    【解决方案1】:

    yt-dl 仅在下载视频时才会在 archive.txt 中添加一个条目。所以,我认为您的用例不能仅通过 yt-dl 来实现。

    不过,这种行为可以使用一些命令行魔法来实现,

    youtube-dl --skip-download --write-info-json --download-archive archive.txt https://www.youtube.com/playlist\?list\=PLMCXHnjXnTnuFUfiWF4D0pYmJsMROz4sA |tee /dev/tty|grep "\[info] Writing video description metadata as JSON to:" |gawk '{ match($0, /-([a-zA-Z0-9_-]+)\.info\.json/, arr); if(arr[1] != "") print "youtube "arr[1] }' >> archive.txt
    

    youtube-dl --skip-download --write-info-json --download-archive archive.txt {youtube-playlist-url} 将下载播放列表视频 .info.json 数据,但对于 archive.txt 中的 video_ids

    tee /dev/tty 会将 youtube-dl 输出流式传输到标准输出,并将其通过管道传送到下一个命令

    grep "[info] Writing video description metadata as JSON to:" 将从 yt-dl 输出中获取包含下载的 .info.json 文件名的行

    gawk '{ match($0, /-([a-zA-Z0-9_-]+).info.json/, arr); if(arr[1] != "") print "youtube "arr[1] }' 将从文件名中以 youtube {video_id} 格式打印 videoid

    >> archive.txt 将输出连接到 archive.txt 文件

    这是运行该命令时发生的情况,
    下载播放列表中视频的 info.json,除了 archive.txt 中的视频,还将下载的 info.json 视频 ID 附加到 archive.txt。因此,如果您再次运行相同的命令,yt-dl 将下载播放列表中所有视频的 info.json,但 archive.txt 中提到的视频 ID 除外

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-10
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 2014-04-29
      • 1970-01-01
      相关资源
      最近更新 更多