视频时间轴项目的模型布局

时间:2018-12-07 13:23:58

标签: django django-models

我有一个项目,其中涉及编写视频课程的时间戳列表。每节课都有一个类似于以下格式的文档:

  

00:01:30简介
  00:05:00讨论主题

     

PART 1 HEADING
  部分标题
  00:07:25第一项
  00:15:40第二项
  00:12:30 ...子项目

     

00:30:10另一个标记

     

第2节标题
  00:44:00另一个项目

有几个“部分”可能没有标题,每个部分都有一个或多个(甚至没有)时间戳记条目。

我目前正在将此原始文件(用Apple Pages编写,并也导出为PDF供用户使用)保存为文本格式,然后使用Python脚本将其转换(使用明胶)为JSON文件,以便另一个系统处理(在视频旁边提供了一个可点击的目录)。此JSON具有以下格式(添加了元数据,并忽略了子项缩进):

{
    "course": "Test Course",
    "tutor": "Mr Test",
    "lesson": "1",
    "date": "2018-12-07",
    "description": "",
    "timeline": [
        {
            "times": [
                {
                    "time": "00:01:30",
                    "label": "Introduction"
                },
                {
                    "time": "00:05:00",
                    "label": "Discussion on topics"
                }
            ]
        },
        {
            "section": "PART 1 Heading"
        },
        {
            "section": "Section heading",
            "times": [
                {
                    "time": "00:07:25",
                    "label": "First item"
                },
                {
                    "time": "00:15:40",
                    "label": "Second item"
                },
                {
                    "time": "00:12:30",
                    "label": "Sub-item"
                }
            ]
        },
        {
            "times": [
                {
                    "time": "00:30:10",
                    "label": "Another marker"
                }
            ]
        },
        {
            "section": "Section 2 heading",
            "times": [
                {
                    "time": "00:44:00",
                    "label": "Another item"
                }
            ]
        }
    ]
}

我的新项目是使用此数据制作可搜索的存档。到目前为止,我有Tutor/PersonCourseLesson的模型。考虑到每个“节”可能有一个标题,或者实际上可能只是一个没有时间轴条目的标题,我正在尝试找出如何存储其余数据的方法。最初,我只是尝试使用带有Timestamp标志的type模型来确定它是否是以标题开头的部分,没有标题或普通时间戳记条目。但是我不确定这是否是正确的方法-这意味着为节开始条目创建虚假的时间戳。

如果我有分层的SectionTimestamp模型,那么我可能会有一个问题,就是要确保所包含的时间戳记在各节之间不重叠(我想可能会有一些验证规则,但这看起来很复杂!)。我确实考虑过将原始JSON存储在我的Lesson模型中,但这会阻止进一步的扩展,例如对单个条目进行标记和分类或添加其他注释。

有人可以给我任何启发/指导来组织模型的好方法吗?谢谢!

0 个答案:

没有答案