Welcome back.
Did you enjoy the mini course?
Well, I hope you did, because we're going to start using WebAssembly in our project before we start
writing code.
Let's talk about what we're going to do in this section.
Thus far, we've created two pages, one page for uploading clips and another page for managing clips.
The upload page is incomplete.
We skipped the step of generating screenshots from the user's video.
We couldn't perform this step until we had a good understanding of web assembly.
Hopefully, you have a good grasp of how web assembly works under the hood.
It gives us the power to perform CPU intensive tasks in the browser.
Generating a screenshot from a video can be considered an intensive task.
While it is possible to create screenshots with JavaScript, WebAssembly will be faster.
As a result, we can provide a better user experience.
The question is how in the resource section of this lecture, I provide a link to a tool called F MPEG
f MPEG is a cross-platform tool for processing video and audio files.
We can convert file types, change bit rates, resize a video and do other actions.
It's completely free and open source.
We can interact with this tool through a seelye.
It's similar to working with the angular Seelye we can run commands to process a video.
This tool needs to be converted into a WebAssembly file.
We have the option of doing it ourselves, but luckily we won't have to.
Another developer has already created a WebAssembly version of this tool.
In the resource section of this lecture, I provide a link to a repository called F MPEG WebAssembly.
According to the description, we can run FFmpeg on the browser or node.
Sounds perfect for our case.
We're going to use this library to generate screenshots from a video ahead of time.
I want to mention one key note about this software.
The library is purely experimental.
It's not completely stable for a task like generating screenshots.
It's perfect.
However, if you're looking to create a complete video editing solution, you may want to reconsider.
On the other hand, it may be perfect learning opportunity in those cases.
There isn't a huge section in this section.
There's a list of blog posts for learning how to convert FFmpeg into a WebAssembly file.
We won't be reviewing this process for our project.
The current state of the library is more than suitable in the next lecture.
We are going to begin installing this package.