Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
ffmpeg.js para crear mp4 a partir de cuadros de Canavas y transcodificarlo

Estoy buscando usar ffmpeg o ffmpeg.wasm dentro de un SPA sin servidor Vue que en este momento usa GIF.js. La aplicación crea HTMLCanvasElement dinámicamente y los agrega como marcos al objeto GIF que luego está disponible para su descarga y, en el caso de ffmpeg , tiene la opción de transcodificarlo a otro formato, por ejemplo, .gif . Idealmente, quiero hacer lo mismo con ffmpeg . Mi pregunta es más sobre cómo integrar ffmpeg en mi contexto y cómo reemplazar mi gif.addFrame(composedCnv, { delay: delayInput }); con una await ffmpeg.run( ... ); ¿dominio?

 async createGIFHandler ( layer , addAllTitles , quality , delay , range ) { ... var tempGIF = new GIF({ workers: 4, quality: quality, height: this.mapHeight + this.infoCanvas.height, width: this.mapWidth, workerScript: 'gif.worker.js' }); let progressCounter = 1; for ( let i = range[0] ; i < range[1] ; i++, progressCounter++ ) { this.setDateTime( driver , driverDA[i] ); for ( let j = 0 ; j < visibleLayers.length ; j++ ) { if ( visibleLayers[j].get('layerName') !== layer.Name ) { var tempDA = visibleLayers[j].get('layerDateArray'); for ( let k = 0 ; k < tempDA.length ; k++ ) { if ( driverDA[i].getTime() === tempDA[k].getTime() ) { this.setDateTime( visibleLayers[j] , tempDA[k] ); } } } } await new Promise(resolve => this.map.once('rendercomplete', resolve)); await this.composeCanvas( tempGIF , driverDA[i] , visibleLayers , delay , widths ) this.$store.dispatch('Layers/setGIFPercent', Math.round(((progressCounter / gifLength) * 100))) } tempGIF.on('finished', (blob) => { const tempURL = URL.createObjectURL( blob ) this.$store.dispatch( 'Layers/setGIFURL' , tempURL ) console.log('GIF Finished'); }); tempGIF.render(); }, async composeCanvas( gif , timeStep , visibleLayers , delayInput , widths ) { const mapCnv = this.getMapCanvas(); await this.updateInfoCanvas( timeStep , widths ) const composedCnv = await this.stitchCanvases( mapCnv , visibleLayers.length ); await new Promise((resolve) => { gif.addFrame(composedCnv, { delay: delayInput }); resolve(); }) },
about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda