有没有一种方法可以在保留章节的元数据的同时下载视频?

问题描述

我以前使用过许多视频下载器:atube catcher,4k下载器,jDownloader,目前正在使用youtube-dl。 我无法下载视频,例如this,同时仍保持其在线章节完整无缺,例如part1是从00:00到00:45持续的“介绍”,依此类推。 到目前为止,我已经使用youtube-dl尝试了这些参数

文件系统

-写注释 --write-description --write-info-json

缩略图图像

-写所有缩略图

视频格式

-f'bestvideo [height

后处理

-添加元数据 --embed-subs --embed-thumbnail


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

解决方法

您想要的信息在youtube-dl info 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存储库接受并包含在将来的版本中,因此无需克隆任何存储库。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...