
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (21)
-
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)
Sur d’autres sites (6548)
-
ffmpeg : Make output file duration that of the file with the longest length [closed]
27 février 2024, par losercantcodeI'm going crazy trying to figure this out.


Essentially I'm trying to apply sidechain compression using ffmpeg (for the sake of speed and automation). a2.mp3 in this example is the full length track and a1.wav is a short 5 second, spoken-word clip. The code currently applies the sidechain compression well, but the output file is only that of the spoken-word clips length, so 5 seconds. Is it at all possible to make the output match that of a2.mp3's length instead ? Switching around the input order is not something that's possible as it'll apply the compression to the incorrect track.


Essentially, i'm trying to make it so i'm just layering the spoken-word file on top of the audio track without having to pre-pad the file. I'd rather, if it's possible, this just happen with one block of code within the in one program. I'm interested to see if this is at all possible within ffmpeg.


ffmpeg -i a2.mp3 -i a1.wav -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress=threshold=0.000976563:ratio=10:level_sc=0.015625:release=100:attack=10[compr];[compr][mix]amix=duration=longest[aout]" -map "[aout]" output.wav



a1.wav is mon, a2.mp3 is stereo.


Attempted to implement amix=duration=longest to no avail. Research similar problems on the Stack Exchange that gave unrelated answers.


-
FFmpeg error with ffmpeg.FS("readfile", "output.mp4"). trying to get ffmpeg to work in the react app
21 juin 2024, par Paul Thamconst stackVideos = useCallback(
 async (video1) => {
 try {
 console.log("Fetching video2 from storage...");
 const video2Ref = ref(storage, "video2.mp4");
 const video2Url = await getDownloadURL(video2Ref);
 const video2Blob = await (await fetch(video2Url)).blob();

 console.log("Writing video1 to FFmpeg FS...");
 await ffmpeg.FS("writeFile", "video1.mp4", await fetchFile(video1));

 console.log("Writing video2 to FFmpeg FS...");
 await ffmpeg.FS("writeFile", "video2.mp4", await fetchFile(video2Blob));

 console.log("Files in FFmpeg FS after write:");
 const files = await ffmpeg.FS("readdir", "/");
 console.log(files);

 const { start, end } = inputs[0];
 const startSeconds = new Date(`1970-01-01T${start}Z`).getTime() / 1000;
 const endSeconds = new Date(`1970-01-01T${end}Z`).getTime() / 1000;
 const duration = endSeconds - startSeconds;

 console.log("Running FFmpeg command...");
 await ffmpeg.run(
 "-i",
 "video1.mp4",
 "-ss",
 startSeconds.toString(),
 "-t",
 duration.toString(),
 "-i",
 "video2.mp4",
 "-filter_complex",
 "[0:v]scale=1080:-1[v1];[1:v]scale=-1:1920/2[v2scaled];[v2scaled]crop=1080:1920/2[v2cropped];[v1][v2cropped]vstack=inputs=2,scale=1080:1920[vid]",
 "-map",
 "[vid]",
 "-map",
 "0:a",
 "-c:v",
 "libx264",
 "-crf",
 "23",
 "-preset",
 "veryfast",
 "-shortest",
 "output1.mp4"
 );

 console.log("Files in FFmpeg FS after run:");
 const filesAfterRun = await ffmpeg.FS("readdir", "/");
 console.log(filesAfterRun);

 console.log("Reading output1.mp4 from FFmpeg FS...");
 const data = await ffmpeg.FS("readfile", "output1.mp4");
 console.log("after the FS readfile");
 const url = URL.createObjectURL(
 new Blob([data.buffer], { type: "video/mp4" })
 );
 setStackedVideo(url);
 setOutputFileReady(true); // Mark output file as ready
 } catch (err) {
 console.error("FFmpeg error output:", err);
 setError(`FFmpeg run error: ${err.message}`);
 setIsProcessing(false);
 }
 },
 [inputs]
 );



My error seems to be stemming from this line :


const data = await ffmpeg.FS("readfile", "output1.mp4");



Seeing the ffmpeg.wasm documentation i thought the functions for some of the functions had changed, but when I changed it, it seemed like they did not recognise the new functions. Sometimes this will also give me some other errors like worker.js which I dont understand enough to debug this myself.


words word words words words words word words words wordswords word words words wordswords word words words wordswords word words words wordswords word words words wordswords word words words words


-
Piwik and Piwik PRO featured in TrustRadius buyer’s guide
We are proud that Piwik and Piwik PRO are being featured in the TrustRadius Buyer’s Guide to Digital Analytics Software and scooping up two awards :
Piwik Named A Leader in TrustRadius Digital Analytics TrustMap™ for Small Businesses.
Piwik Rated Strong Performer in TrustRadius Digital Analytics TrustMap ™ for Enterprise.
Rankings Based on User Ratings and Market Segment Adoption
Learn more
The TrustRadius TrustMaps™ guide features reviews from authenticated TrustRadius users on a number of digital analytics platforms from the biggest names in the digital analytics industry – Piwik and Piwik PRO being two of them. You can download your free copy of the buyer’s guide here (Note : there is a form to fill before you can download the PDF).
Read the TrustRadius user reviews about Piwik on their website.
Or view other awards won by Piwik here.