|
1 | 1 | # Markut |
2 | 2 |
|
3 | | -Given the [VOD](https://help.twitch.tv/s/article/video-on-demand) of the stream and the timestamps file, generate a video using [ffmpeg](https://www.ffmpeg.org/) that cuts out part of the VOD according to the provided markers. |
| 3 | +You describe how you want to edit your video in a `MARKUT` file using a simple Stack-Based Language and Markut translates it to a sequence of ffmpeg command assembles the final video. I'm using this tools to edit my VODs that I upload at [Tsoding Daily](https://youtube.com/@TsodingDaily) YouTube channel. |
4 | 4 |
|
5 | 5 | ## Quick Start |
6 | 6 |
|
7 | 7 | Install [Go](https://golang.org/) and [ffmpeg](https://www.ffmpeg.org/). |
8 | 8 |
|
9 | 9 | ```console |
10 | 10 | $ go build |
11 | | -$ ./markut final -markut MARKUT -y |
| 11 | +$ ./markut final |
12 | 12 | ``` |
13 | 13 |
|
14 | 14 | <!-- TODO: document available stacks of Markut language --> |
15 | 15 | <!-- TODO: document available types and values of Markut language --> |
16 | 16 | <!-- TODO: document available commands of Markut language --> |
17 | | - |
18 | | -## Example of a Markut file |
19 | | - |
20 | | -```c |
21 | | -// You can use C-style comments |
22 | | -/* Inline comments work too if you're into that */ |
23 | | - |
24 | | -// Markut is a stack based language |
25 | | - |
26 | | -23 // A single number is seconds. |
27 | | - // This is 23 seconds. |
28 | | - |
29 | | -23.69 // Seconds may have fractional part. |
30 | | - // This is 23 seconds and 690 milliseconds. |
31 | | - |
32 | | -chunk // Pop two timestamps out of the operand stack |
33 | | - // and form a video chunk out of them. |
34 | | - |
35 | | -45 50 chunk // Timestamps don't have to be on the same line. |
36 | | - // Useful when you want to visually denote a range. |
37 | | - |
38 | | -69 // This is 1 minute and 9 seconds. |
39 | | -1:09 // This is also 1 minute and 9 seconds. |
40 | | -chunk |
41 | | - |
42 | | -24:45:09 // 24 hours, 45 minutes and 9 seconds. |
43 | | -24:45:09.69 // 24 hours, 45 minutes, 9 seconds and 690 milliseconds. |
44 | | -chunk |
45 | | -``` |
0 commit comments