es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Corta el video antes de subirlo en ReactJS.

Puedo usar ffmpeg en js, pero ¿cómo puedo usar este código en react?

    const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path
    const ffmpeg = require('fluent-ffmpeg')
    ffmpeg.setFfmpegPath(ffmpegPath)

    ffmpeg('video.mp4')
    .setStartTime('00:00:03')
    .setDuration('10')
    .output('video_out.mp4')
    .on('end', function(err) {
            if(!err) { console.log('Conversión terminada') }
    })
    .on('error', function(err){
            console.log('Error:', err)
    }).run()
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para utilizar este código en una aplicación React, necesitarías instalar las dependencias requeridas utilizando npm. Esto se puede hacer ejecutando el siguiente comando en tu terminal:

    npm install fluent-ffmpeg @ffmpeg-installer/ffmpeg
    

    Una vez instaladas las dependencias, puedes importar los módulos requeridos en tu componente React de la siguiente manera:

    import React from 'react';
    import ffmpeg from 'fluent-ffmpeg';
    import ffbinaries from '@ffmpeg-installer/ffmpeg';
    
    class VideoComponent extends React.Component {
      constructor(props) {
        super(props);
        this.state = {
          message: '',
        };
      }
    
      componentDidMount() {
        ffmpeg.setFfmpegPath(ffbinaries.path);
        ffmpeg('video.mp4')
          .setStartTime('00:00:03')
          .setDuration('10')
          .output('video_out.mp4')
          .on('end', () => {
            this.setState({ message: 'Conversión terminada' });
          })
          .on('error', (err) => {
            this.setState({ message: 'Error: ' + err.message });
          })
          .run();
      }
    
      render() {
        return <div>{this.state.message}</div>;
      }
    }
    
    export default VideoComponent;
    

    En el método componentDidMount, establecemos la ruta al ejecutable ffmpeg utilizando setFfmpegPath y luego utilizamos el objeto ffmpeg para ejecutar el comando deseado. El mensaje de estado se actualiza en el estado del componente utilizando el método setState.

Comments are closed.