【问题标题】:Is there a way to download video while keeping their chapters metadata? [closed]有没有办法在保留章节元数据的同时下载视频? [关闭]
【发布时间】:2020-12-04 21:49:52
【问题描述】:

我之前使用过很多视频下载器:atube catcher、4k 下载器、jDownloader,目前正在使用 youtube-dl。 我无法下载视频,例如this,同时仍保持其在线章节完整,例如第 1 部分是从 00:00 持续到 00:45 的“介绍”等等。 到目前为止,我用 youtube-dl 尝试了这些参数

文件系统

--写注解 --写描述 --write-info-json

缩略图

--写所有缩略图

视频格式

-f '最佳视频[高度

后处理

--添加元数据 --embed-subs --嵌入缩略图


还尝试请求 mkv 视频格式(认为它可能是内置的)并没有帮助。
我知道这些选项并没有真正说明有关部分的任何内容,但我正在尝试获取尽可能多的元数据

【问题讨论】:

  • 欢迎来到SO,请阅读How do I ask a good question?
  • @Ahmet 你能更具体一点吗?我确实阅读了它,据我所知,我确保遵循它们。
  • github.com/yt-dlp/yt-dlp 支持--split-chapters,效果很好,还支持音频
  • 我投票赞成这个话题,反对 stackoverflow 的政策。

标签: python bash command-line youtube youtube-dl


【解决方案1】:

您想要的信息在 youtube-dl 信息 JSON 中称为章节。

youtube-dl 的 a recent open pull request 修复了 a problem with this information。在当前版本的 youtube-dl 中,如果您使用 ---write-info-json--dump-json,您将看到章节信息为空 ("chapters": null)。你可以使用fork仓库中的代码来获取你想要的信息。

按照以下步骤操作:

  1. 克隆this repository:

    git clone https://github.com/gschizas/youtube-dl.git
    
  2. 切换到仓库目录:

    cd youtube-dl/
    
  3. 检查拉取请求分支:

    git checkout bugfix/youtube/chapters-fix-extractor
    
  4. 从当前位置运行 youtube-dl:

    python -m youtube_dl --write-info-json https://youtu.be/LnO42jxJaC4
    

你会在信息 JSON 中看到这样的信息:

"chapters": [
    {
        "start_time": 0.0,
        "end_time": 46.0,
        "title": "Intro"
    },
    {
        "start_time": 46.0,
        "end_time": 72.0,
        "title": "QOTD"
    },
    ...
]

希望该修复将被 youtube-dl 存储库接受并包含在未来的版本中,因此无需克隆任何存储库。

【讨论】:

  • 非常感谢。要添加的一件事是:我使用了这个“python path/to/youtube_dl/__main__.py --arguments”,所以我可以在我的 .bat 脚本中的任何地方使用它
猜你喜欢
  • 2019-12-18
  • 2021-11-14
  • 2019-03-29
  • 2018-07-07
  • 1970-01-01
  • 2015-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多