
Recherche avancée
Médias (1)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
Autres articles (100)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications 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 Schillerm 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 BankoskiChanged 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 BarnoI 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.