
Recherche avancée
Autres articles (83)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 (...)
Sur d’autres sites (7380)
-
How to save audio chunks from client to ffmpeg readable file ?
22 septembre 2023, par LuckOverflowI am live recording audio data from a TS React front-end and need to send it to the server, where it can be saved to a file so that ffmpeg can mix it. The front-end saves the mic data to a blob with type "mimeType : "audio/webm ; codecs=opus" when printed in the browser terminal. I send the exact object that I printed to the server, where logging it indicates it is a, or was passed as a, "Buffer" object.


I have tried saving that Buffer as a webm file, but when I pass that file as an input to ffmpeg ffprobe, I get the error "Format matroska,webm detected only with a low score of 1..." and "EBML header parsing failed.." "Invalid data found when processing input." I have tried several other formats to no success.


I need a way to transform this Buffer object to an audio file that can be mixed by ffmpeg. When I am finished, I also need to be able to do the reverse operation to send it in the same format to another client for playback, which is currently working.


Code that records and sends the audio (TS React) :




const startRecording = async function () {
 inputStream = await navigator.mediaDevices.getUserMedia({ audio: true });
 
 mediaRecorder.current = new MediaRecorder(inputStream, { mimeType: "audio/webm; codecs=opus" });

 mediaRecorder.current.ondataavailable = e => {
 console.log(e.data)
 if (e.data.size > 0) {
 socket.emit("recording", e.data);
 console.log("Audio data recorded. Transmitting to server via socketio...");
 }
 };

 mediaRecorder.current.start(1000);
 };




Code that receives and tries to save the Buffer to a file (JS Node.js) :




socket.on("recording", (chunk) => {
 console_log("Audio chunk recieved. Transmitting to frontend...");
 socket.broadcast.emit('listening', chunk);

 fs.writeFileSync('out.webm', chunk.toString());
 if (counter > 3) {
 console.log("Trying ffmpeg...");

 ffmpegInstance
 .input('out.webm')
 .complexFilter([
 {
 filter: 'amix'
 }])
 .save('./Music/FFMPEGSTREAM.mp3');
 }

 counter++;
 });



fluent-ffmpeg interface package is includued in the server code, but I have been using ffmpeg in the terminal (Pop OS) to debug. The goal is to save the file to a ram disk and use fluent ffmpeg to mix before sending to a different client for playback. Currently I am just trying to save it to disk and get ffmpeg command line to work on it.


Update :
Problem was that the chunk I was analyzing didn't have the header info. MediaRecorder encodes, then slices it up, not slices it up into your specified time slot and encodes. I have not found a good solution to this. Saving the file, without toString I believe, results in a playable webm when the header is properly included.


-
How to save frame numbers with ffmpeg ?
28 décembre 2018, par JulianJI am using ffmpeg to scan video files for scene changes and save the results to a text file. The code I am using below works but I want to simplify the results and just output the frames number where the scene changes occur and the not all the data that this code produces. Any suggestions ?
ffprobe -show_frames -of compact=p=0 -f lavfi "movie=input.mov,select=gt(scene\,.02)" > results.txt
Outputs all this :
media_type=video stream_index=0 key_frame=1 pkt_pts=31031 pkt_pts_time=1.292958 pkt_dts=31031 pkt_dts_time=1.292958 best_effort_timestamp=31031 best_effort_timestamp_time=1.292958 pkt_duration=N/A pkt_duration_time=N/A pkt_pos=82320 pkt_size=629760 width=640 height=328 pix_fmt=rgb24 sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 display_picture_number=0 interlaced_frame=0 top_field_first=0 repeat_pict=0 tag:lavfi.scene_score=0.025551
-
How to save frame numbers with ffmpeg ?
14 mai 2016, par JulianJI am using ffmpeg to scan video files for scene changes and save the results to a text file. The code I am using below works but I want to simplify the results and just output the frames number where the scene changes occur and the not all the data that this code produces. Any suggestions ?
ffprobe -show_frames -of compact=p=0 -f lavfi "movie=input.mov,select=gt(scene\,.02)" > results.txt
Outputs all this :
media_type=video stream_index=0 key_frame=1 pkt_pts=31031 pkt_pts_time=1.292958 pkt_dts=31031 pkt_dts_time=1.292958 best_effort_timestamp=31031 best_effort_timestamp_time=1.292958 pkt_duration=N/A pkt_duration_time=N/A pkt_pos=82320 pkt_size=629760 width=640 height=328 pix_fmt=rgb24 sample_aspect_ratio=1:1 pict_type=I coded_picture_number=0 display_picture_number=0 interlaced_frame=0 top_field_first=0 repeat_pict=0 tag:lavfi.scene_score=0.025551