Recherche avancée

Médias (1)

Mot : - Tags -/intégration

Autres articles (100)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

Sur d’autres sites (7743)

  • Improve "troubleshooting" link :hover state

    20 décembre 2011, par Scott Schiller

    m demo/index-rollup.css m demo/index.css Improve "troubleshooting" link :hover state

  • Revision 22141d9d79 : disable segmentation on enhancement layers This should avoid problems with bloc

    24 septembre 2012, par Jim Bankoski

    Changed Paths : Modify /vp8/encoder/onyx_if.c disable segmentation on enhancement layers This should avoid problems with blocks gettings high quality improvement despite having recently moved : Change-Id : Ic0af0de2d6577807fa3c553f47b55d547ef36359

  • Video Manipulation with ffmpeg : Troubleshooting Conversion Issues

    26 janvier 2024, par Barno

    I want to manipulate my video using ffmpeg. I retrieve the stream from S3 with the following function :

    


    async function getImageBufferFromS3(imageUrl) {
    const { bucketName, objectKey } = extractS3InfoFromUrl(imageUrl);
    const s3Client = configureS3Client();

    const getObjectCommand = new GetObjectCommand({
        Bucket: bucketName,
        Key: objectKey
    });

    const data = await s3Client.send(getObjectCommand);
    const imageBuffer = await streamToBuffer(data.Body);
    return imageBuffer;
}

async function streamToBuffer(stream) {
    return new Promise((resolve, reject) => {
        const chunks = [];
        stream.on('data', (chunk) => chunks.push(chunk));
        stream.on('error', reject);
        stream.on('end', () => resolve(Buffer.concat(chunks)));
    });
}


    


    Now, I want to use ffmpeg to add text to it. First, I'd like to obtain the "clean" video :

    


    module.exports.createVideoWithTextAndBackground = async (videoBuffer, customText = null) => {
  try {
    if (!customText) {
      return videoBuffer;
    }
    
    const fontPath = __dirname + '/../public/fonts/Satoshi-Medium.ttf';

    try {
      return await new Promise((resolve, reject) => {
        const input = new stream.PassThrough();
        input.end(videoBuffer);

        const output = new stream.Writable();
        const chunks = [];

        output._write = (chunk, encoding, next) => {
          chunks.push(chunk);
          next();
        };

        output.on('finish', () => {
          const resultBuffer = Buffer.concat(chunks);
          resolve(resultBuffer);
        });

        output.on('error', (err) => {
          reject(err);
        });

        ffmpeg()
          .input(input)
          .inputFormat('mp4')
          .toFormat('mp4')
          .pipe(output);
      });
    } catch (error) {
      console.error(error);
      throw error;
    }

  } catch (error) {
    console.error(error);
    throw error;
  }
};


    


    However, I encountered the following error :

    


    Error: ffmpeg exited with code 183: frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=N/A bitrate=N/A speed=N/A


    


    Conversion failed !

    


    I don't face any issues when I don't use ffmpeg. I even tried ffmpeg -i to create a video with text using my console, confirming that ffmpeg works on my computer.