
Recherche avancée
Médias (2)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (38)
-
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 (...) -
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 -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (8038)
-
ffmpeg Live Streaming Error : av_interleaved_write_frame() : Broken pipe
5 octobre 2022, par KrishnakumarI am trying to stream video live using ffmpeg, Input is from a UDP Source. Most of the time it works fine, but I could see the following log lines and ffmpeg stop's the conversion/feed push to the rtmp server. Few log lines below for reference. Is this issue related to network on reaching the destination or source or something that i need to change in the ffmpeg command ?



Wed Jun 17 07:53:22 2020 av_interleaved_write_frame(): Broken pipe
Wed Jun 17 07:53:48 2020 Last message repeated 1 times
Wed Jun 17 07:53:48 2020 av_interleaved_write_frame(): End of file
Wed Jun 17 07:53:49 2020 Last message repeated 1 times
Wed Jun 17 07:53:49 2020 [flv @ 0x40c87c0] Failed to update header with correct duration.
Wed Jun 17 07:53:49 2020 [flv @ 0x40c87c0] Failed to update header with correct filesize.
Wed Jun 17 07:53:49 2020 Error writing trailer of rtmp://ipaddress:1935/rtmp/push/test1: Broken pipe
Wed Jun 17 07:53:49 2020 [flv @ 0x48fe140] Failed to update header with correct duration.
Wed Jun 17 07:53:49 2020 [flv @ 0x48fe140] Failed to update header with correct filesize.
Wed Jun 17 07:53:49 2020 Error writing trailer of rtmp://ipaddress:1935/rtmp/push/test2: Broken pipe
Wed Jun 17 07:53:49 2020 [flv @ 0x4ccb5c0] Failed to update header with correct duration.
Wed Jun 17 07:53:49 2020 [flv @ 0x4ccb5c0] Failed to update header with correct filesize.
Wed Jun 17 07:53:49 2020 Error writing trailer of rtmp://ipaddress:1935/rtmp/push/test3: End of file
Wed Jun 17 07:53:49 2020 [flv @ 0x4725840] Failed to update header with correct duration.
Wed Jun 17 07:53:49 2020 [flv @ 0x4725840] Failed to update header with correct filesize.
Wed Jun 17 07:53:49 2020 Error writing trailer of rtmp://ipaddress:1935/rtmp/push/test4: Broken pipe
Wed Jun 17 07:53:49 2020 video:10594389kB audio:678081kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Wed Jun 17 07:53:49 2020 [libx264 @ 0x410c540] frame I:12400 Avg QP:19.58 size: 11797
Wed Jun 17 07:53:49 2020 [libx264 @ 0x410c540] frame P:359585 Avg QP:23.19 size: 1317




Adding the ffmpeg command below :



ffmpeg -err_detect aggressive -fflags discardcorrupt -i udp://230.1.1.2:11000?fifo_size=5000000&overrun_nonfatal=1 -analyzeduration 25M -probesize 50M -threads 0 -vsync 1 -filter_complex [i:0x202]yadif,setdar=16/9[1out1];[i:0x202]yadif,setdar=16/9[1out2];[i:0x202]yadif,setdar=16/9[1out3];[i:0x202]yadif,setdar=16/9[1out4] -map [1out1] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 200k -maxrate 200k -bufsize 300k -r 15 -g 30 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac -b:a 32k -ac 2 -ar 48000 -sc_threshold 0 -s 256x144 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test1-map [1out2] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 500k -maxrate 500k -bufsize 750k -r 25 -g 50 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 512x288 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test2 -map [1out3] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 1000k -maxrate 1000k -bufsize 1500k -r 25 -g 50 -profile:v main -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 1024x576 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test3 -map [1out4] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 1800k -maxrate 1800k -bufsize 2700k -r 25 -g 50 -profile:v main -level 3.1 -pix_fmt yuv420p -c:a libfdk_aac -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 1280x720 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test4



-
What encoders/decoders/muxers/demuxers/parsers/filters do I need to enable in FFMpeg for converting an mp4 video to a gif ?
21 juin 2020, par kostikI am building FFmpeg with custom options to reduce the final size of apk file on android. I want just convert a mp4 file to a gif.
Following is my options specified


--disable-everything
 --enable-decoder=mpeg4,mpegvideo,aac,gif,h264
 --enable-parser=aac,mpeg4video,mpegaudio,mpegvideo,gif,h264
 --enable-demuxer=mpegvideo,aac,mov,gif,h264
 --enable-muxer=mp4,gif,mov,h264
 --enable-protocol=file
 --enable-encoder=mpeg4,mov,gif,h264
 --enable-filter=scale,fps,copy,palettegen,vflip,paletteuse,crop



What other options do i need to add to successfully run this command ?


ffmpeg -y -i input.mp4 -vf "fps=15,scale=320:-1:flags=lanczos" -pix_fmt rgb24 output.gif



or this command


ffmpeg -y -i input.mp4 output.gif



After I added module into Android Studio I run FFmpeg command.
Iam getting this error :


2020-06-21 12:16:09.883 8871-9102/com.example.myapplication W/mobile-ffmpeg: [graph 0 input from stream 0:0 @ 0x7088243f40] sws_param option is deprecated and ignored
2020-06-21 12:16:09.885 8871-9102/com.example.myapplication W/mobile-ffmpeg: Incompatible pixel format 'rgb24' for codec 'gif', auto-selecting format 'rgb8'
2020-06-21 12:16:09.885 8871-9102/com.example.myapplication E/mobile-ffmpeg: Output pad "default" with type video of the filter instance "Parsed_scale_1" of scale not connected to any destination
2020-06-21 12:16:09.885 8871-9102/com.example.myapplication E/mobile-ffmpeg: Error reinitializing filters!
2020-06-21 12:16:09.885 8871-9102/com.example.myapplication E/mobile-ffmpeg: Failed to inject frame into filter network: Invalid argument
2020-06-21 12:16:09.886 8871-9102/com.example.myapplication E/mobile-ffmpeg: Error while processing the decoded data for stream #0:0



I also tried to include FULL library and it that case everything worked as expected.


Thanks for your help.


-
ffmpeg running in cloudfunction silently fails/never finishes
19 juin 2020, par VojtěchI am trying to implement a Cloudfunction which would run
ffmpeg
on a Google bucket upload. I have been playing with a script based on https://kpetrovi.ch/2017/11/02/transcoding-videos-with-ffmpeg-in-google-cloud-functions.html


The original script needs little tuning as the library evolved a bit. My current version is here :



const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const ffmpeg = require('fluent-ffmpeg');
const ffmpeg_static = require('ffmpeg-static');

console.log("Linking ffmpeg path to:", ffmpeg_static)
ffmpeg.setFfmpegPath(ffmpeg_static);

exports.transcodeVideo = (event, callback) => {
 const bucket = storage.bucket(event.bucket);
 console.log(event);
 if (event.name.indexOf('uploads/') === -1) {
 console.log("File " + event.name + " is not to be processed.")
 return;
 }

 // ensure that you only proceed if the file is newly createdxxs
 if (event.metageneration !== '1') {
 callback();
 return;
 }

 // Open write stream to new bucket, modify the filename as needed.
 const targetName = event.name.replace("uploads/", "").replace(/[.][a-z0-9]+$/, "");
 console.log("Target name will be: " + targetName);

 const remoteWriteStream = bucket.file("processed/" + targetName + ".mp4")
 .createWriteStream({
 metadata: {
 //metadata: event.metadata, // You may not need this, my uploads have associated metadata
 contentType: 'video/mp4', // This could be whatever else you are transcoding to
 },
 });

 // Open read stream to our uploaded file
 const remoteReadStream = bucket.file(event.name).createReadStream();

 // Transcode
 ffmpeg()
 .input(remoteReadStream)
 .outputOptions('-c:v copy') // Change these options to whatever suits your needs
 .outputOptions('-c:a aac')
 .outputOptions('-b:a 160k')
 .outputOptions('-f mp4')
 .outputOptions('-preset fast')
 .outputOptions('-movflags frag_keyframe+empty_moov')
 // https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/346#issuecomment-67299526
 .on('start', (cmdLine) => {
 console.log('Started ffmpeg with command:', cmdLine);
 })
 .on('end', () => {
 console.log('Successfully re-encoded video.');
 callback();
 })
 .on('error', (err, stdout, stderr) => {
 console.error('An error occured during encoding', err.message);
 console.error('stdout:', stdout);
 console.error('stderr:', stderr);
 callback(err);
 })
 .pipe(remoteWriteStream, { end: true }); // end: true, emit end event when readable stream ends
};





This version correctly runs and I can see this in logs :



2020-06-16 21:24:22.606 Function execution took 912 ms, finished with status: 'ok'
2020-06-16 21:24:52.902 Started ffmpeg with command: ffmpeg -i pipe:0 -c:v copy -c:a aac -b:a 160k -f mp4 -preset fast -movflags frag_keyframe+empty_moov pipe:1




It seems the function execution ends before the actual ffmpeg command, which then never finishes.



Is there a way to make the ffmpeg "synchronous" or "blocking" so that it finishes before the function execution ?