Можно ли привязать HTML Canvas к порту JavaScript ffmpeg, чтобы получить видеофайл в качестве вывода без сервера? ⇐ Javascript
Можно ли привязать HTML Canvas к порту JavaScript ffmpeg, чтобы получить видеофайл в качестве вывода без сервера?
Прежде всего, я нашел этот репозиторий, в котором есть реализация JavaScript ffmpeg: https://github.com/ffmpegwasm/ffmpeg.wasm
Мне интересно, смогу ли я каким-то образом связать вывод холста и передать несколько кадров, чтобы получить вывод видео. (например, визуализировать физический объект)
На данный момент я создал базовый симулятор физики на JS. У меня есть несколько квадратов, которые визуализируются на основе их координат x и y.
class PhysicsObject { // ... рендер (холст, ctx) { ctx.fillStyle = this.color; ctx.fillRect(this.x - this.w/2, this.y - this.h/2, this.w, this.h); } // ... } пусть таймер = Performance.now(); // ... функция рисования() { // ... пусть сейчас = Performance.now(); dt = (сейчас — таймер)/1000; таймер = сейчас; // ... for (пусть объект PhysicsObjects) { // ... объект.обновление(дт); object.render(холст, ctx); // ... } requestAnimationFrame (рисовать); } Теперь мне нужен способ связать вывод моего холста с ffmpeg и некоторыми другими параметрами, но я понятия не имею, с чего начать.
Если есть способ привязать вывод холста к порту ffmpeg, я бы хотел углубиться в документацию по этой штуке ffmpegwasm.
Прежде всего, я нашел этот репозиторий, в котором есть реализация JavaScript ffmpeg: https://github.com/ffmpegwasm/ffmpeg.wasm
Мне интересно, смогу ли я каким-то образом связать вывод холста и передать несколько кадров, чтобы получить вывод видео. (например, визуализировать физический объект)
На данный момент я создал базовый симулятор физики на JS. У меня есть несколько квадратов, которые визуализируются на основе их координат x и y.
class PhysicsObject { // ... рендер (холст, ctx) { ctx.fillStyle = this.color; ctx.fillRect(this.x - this.w/2, this.y - this.h/2, this.w, this.h); } // ... } пусть таймер = Performance.now(); // ... функция рисования() { // ... пусть сейчас = Performance.now(); dt = (сейчас — таймер)/1000; таймер = сейчас; // ... for (пусть объект PhysicsObjects) { // ... объект.обновление(дт); object.render(холст, ctx); // ... } requestAnimationFrame (рисовать); } Теперь мне нужен способ связать вывод моего холста с ffmpeg и некоторыми другими параметрами, но я понятия не имею, с чего начать.
Если есть способ привязать вывод холста к порту ffmpeg, я бы хотел углубиться в документацию по этой штуке ffmpegwasm.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение