youtube-maze/README.md

31 lines
1.2 KiB
Markdown
Raw Normal View History

2020-11-28 00:18:23 +00:00
# YouTube Maze
2017-04-02 00:54:46 +00:00
2020-11-28 22:14:43 +00:00
Some YouTube creators have made video “gamebooks” by creating videos in which viewers can make choices that influence the course of the narration.
This is generally implemented by breaking up the video into short and interlinked segments.
This project aims at automatically exploring those video mazes and creating a visual representation of the underlying network.
2017-04-02 00:54:46 +00:00
2020-11-28 22:14:43 +00:00
[See it live →](https://youtube-maze.cloud.delab.re)
2017-04-02 00:54:46 +00:00
2020-11-28 22:14:43 +00:00
## How Does it Work?
2017-04-02 00:54:46 +00:00
2020-11-28 22:14:43 +00:00
The [algorithm](lib/explore.mjs) starts at the first video and explores the links recursively using a breadth-first search approach, keeping track of the links as it goes.
The [Graphviz](http://www.graphviz.org/) library is used to automatically layout the graph so that as few edges cross as possible.
2017-04-02 00:54:46 +00:00
2020-11-28 22:14:43 +00:00
## Running Locally
2017-04-02 00:54:46 +00:00
2020-11-28 22:14:43 +00:00
You can also run the server locally, provided you have a working installation of Node.JS and Graphviz.
2017-04-02 00:54:46 +00:00
```
2020-11-28 00:18:23 +00:00
git clone https://forge.delab.re/matteo/youtube-maze.git
cd youtube-maze
2017-04-02 00:54:46 +00:00
npm install
2020-11-28 22:14:43 +00:00
npm start
2017-04-02 00:54:46 +00:00
```
2020-11-28 22:14:43 +00:00
If everything goes as planned, you should be able to access the server by opening `http://localhost:3000` in your browser.
2020-11-28 14:16:09 +00:00
## License
2017-04-02 00:54:46 +00:00
2020-11-28 14:16:09 +00:00
This software is made available under the MIT license.
[See the full license text →](LICENSE)