Git Product home page Git Product logo

otio-youtube-example's People

Contributors

hisergiorojas avatar makayla-k avatar utsab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

otio-youtube-example's Issues

Write documentation for explaining OTIO in 5 levels of complexity

We would like to explain OTIO in five levels of complexity. Currently, the documentation covers the first two levels only.

  • Level 1: The high level purpose of OTIO
  • Level 2: OTIO is a file format, an API, and a collection of adaptors and plugins.
  • Level 3: The technology stack of the OTIO codebase
  • Level 4: Important design patterns / architectural components
  • Level 5: Walkthrough of the codebase

To test your changes, follow the instructions on installing MkDocs.

Improve parsing of timestamps in youtube description to work for other formats

Currently, the regular expressions that we use to parse time stamps assume that they will have the following format:

for example,

1:47 Introduction to hash maps

But there are other timestamp formats such as in this video. Can you improve the parsing logic to work with the format in that video? Also, are there other timestamp formats featured in other videos that we're not aware of?

Create a Media Linker Plugin

We would like to illustrate a plugin within the otio-youtube-example. Plugins are an interesting concept within OTIO which may be confusing to understand for newbies. If we can show a concrete example of a plugin within our repo, we could help to clarify what a plugin is, how it is used, and how to create one.

Here is some feedback from Joshua Minor on a possible direction we can explore to create a plugin:

"... make a Media Linker plugin which looks at individual clips in an OTIO, and if they point to a YouTube URL, it could pull metadata & markers into the clip from YouTube."

https://opentimelineio.readthedocs.io/en/latest/tutorials/write-a-media-linker.html

Process the video using OTIO

Create a single clip on the timeline with a media_reference to the original youtube video file

How to test:

  • Verify that the clip has the correct media_reference.
  • Verify that the Timeline has the correct number of clips.
  • Verify that available_range is set correctly.

Process the video description using OTIO

Parse the video description in python and create a Timeline object with Markers to represent the chapters

Add a check before the main video description parsing logic which confirms that the video description actually is text and that it contains time stamps.

How to test:

  • Verify that the Timeline object has the correct of Markers on it.
  • Verify that each marker has the correct text on it.

Download the youtube video and description

Create a python script that takes as an input argument the url for a youtube video. The script should use youtube-dl to download the video file and the video description.

How to test:

  • Verify that an mp4 and txt file is created on disk.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.