- Getting fps and length by calling the ffmpeg program
- Transform video to BMP frame files by calling the ffmpeg program
- Read one BMP file to image struct
- Thresholding
- Edge Detection by convolution and transform to absolute value
- Thresholding
- Select starting point (random for the first, and nearest for privies frame)
- Get Route Array by doing graph traversal using depth first search
- Adjust Route Array to fixed length using cubic Hermite interpolator
- Loop from 2 to 8 to generate all Route Arrays for every frame
- Merge Route Arrays to one Array
- transform Route Array to wav file