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.
2020-11-28 22:52:13 +00:00
This is generally implemented by breaking up the video into short interlinked segments.
2020-11-28 22:14:43 +00:00
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.
2020-11-28 22:52:13 +00:00
The [Graphviz ](http://www.graphviz.org/ ) library is used to automatically lay out 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 )