
Recherche avancée
Médias (91)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (58)
-
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...) -
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 -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (9478)
-
FFMPEG with node , using child_process , suppressing un-necessary stderr
16 mai 2018, par drexdeltaI am trying to resize the video using (FFMPEG + node + child_process). and my code looks something like this , You can read comments and understand it. it’s self-explanatory for people who are familiar with node and ffmpeg. when I run this code, I keep getting error in
newThread.stderr.on() function . which is not expected behaviour. After running this process I am getting expected video translation, which is expected behaviour.const spawn = require('child_process').spawn;
// resize and compress video promise = prom2
const resizeVideoWith_FFMPEG_Promise = (sourceFile , sinkFile)=>{
return new Promise ( (resolve , reject)=>{
// actual command for ffmpeg is something like this , "ffmpeg -i oldVideo -vf scale=-2:480 newVideo"
// New thread
const newThread = spawn('ffmpeg' , ['-i','vid1.mp4','-vf','scale=-2:480','vid2.mp4']);
// on close signal
newThread.on('close',(data)=>{
console.log(' thread closed for video ' , sourceFile);
return resolve();
});
// on stderr signals
newThread.stderr.on('data',(data)=>{
console.log(' got error in the thread of video ' , sourceFile);
fullError = data.toString();
console.log(fullError);
// return resolve();
// return reject();
});
newThread.stdout.on('data',(data)=>{
// just ignore all stadanrd outputs
});
});
}
resizeVideoWith_FFMPEG_Promise('vid1.mp4' , 'vid2.mp4' ).then((res)=>{
console.log(res);
});For the sake of simplicity I am resolving the promise everytime, even if I get stderr. And at end of running this code I get output something like this ,
got error in the thread of video vid1.mp4
frame= 3277 fps=116 q=28.0 size= 12288kB time=00:02:16.64 bitrate= 736.7kbits/s speed=4.82x
got error in the thread of video vid1.mp4
frame= 3313 fps=115 q=28.0 size= 12544kB time=00:02:18.15 bitrate= 743.8kbits/s speed=4.79x
got error in the thread of video vid1.mp4
frame= 3362 fps=115 q=28.0 size= 12800kB time=00:02:20.17 bitrate= 748.0kbits/s speed=4.78x
got error in the thread of video vid1.mp4
frame= 3408 fps=114 q=28.0 size= 12800kB time=00:02:22.12 bitrate= 737.8kbits/s speed=4.77x
got error in the thread of video vid1.mp4
frame= 3465 fps=114 q=28.0 size= 13056kB time=00:02:24.49 bitrate= 740.2kbits/s speed=4.76x
got error in the thread of video vid1.mp4
frame= 3522 fps=114 q=28.0 size= 13312kB time=00:02:26.86 bitrate= 742.5kbits/s speed=4.76x
got error in the thread of video vid1.mp4
frame= 3580 fps=114 q=28.0 size= 13568kB time=00:02:29.28 bitrate= 744.6kbits/s speed=4.76xNow, my problem is if I always keep resolving errors, then I will never be able to catch when the video ACTUALLY FAILED TO RESCALE. so, how can I ignore these type of un-necessary stderr and catch only useful errors ?
Pls someone help.
I have been through lot of related links like this, but none of these actually solve my problem(even if they did, I couldn’t figure out)
Error while using h264_cuvid decoder with ffmpeg
Using module "child_process" without Webpack
Suppressing STDOUT with node child_process
Small hint will be very helpful. Thank you .
BTW , SO moderators , My actual title was like
stderr problem while using FFMPEG with node via child_process module
But it didn’t allow me to use such title. so, I am using some dummy title.
-
ffmpeg : PNGs to mp4 video is strange scaled quicktime
15 mai 2024, par v_bI am trying to create a video from multiple PNG files.

The files contain an animation of a line.

However, the output MP4 video looks really strange, as if the content is stretched or scaled.

Below, you can see screenshots of one of the PNG files and the resulting video file.


Some additional information :

I am on a MacPro M3 w. latest MacOs updates.

The images have transparent backgrounds.

Command :


ffmpeg -framerate 30 -pattern_type glob -i "*.png" -s:v 1600x800 -pix_fmt yuv420p -c:v libx264 result.mp4









Video Info :


ffprobe ./result.mp4 
ffprobe version 7.0 Copyright (c) 2007-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.3.9.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './result.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf61.1.100
 Duration: 00:00:03.03, start: 0.000000, bitrate: 103 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, unknown/bt709/iec61966-2-1, progressive), 1600x800, 98 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc61.3.100 libx264



ffmpeg version


ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.3.9.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
Universal media converter
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...



-
Why does every encoded frame's size increase after I had use to set one frame to be key in intel qsv of ffmpeg
22 avril 2021, par TONYI used intel's qsv to encode h264 video in ffmpeg. My av codec context settings is like as below :


m_ctx->width = m_width;
 m_ctx->height = m_height;
 m_ctx->time_base = { 1, (int)fps };
 m_ctx->qmin = 10;
 m_ctx->qmax = 35;
 m_ctx->gop_size = 3000;
 m_ctx->max_b_frames = 0;
 m_ctx->has_b_frames = false;
 m_ctx->refs = 2;
 m_ctx->slices = 0;
 m_ctx->codec_id = m_encoder->id;
 m_ctx->codec_type = AVMEDIA_TYPE_VIDEO;
 m_ctx->pix_fmt = m_h264InputFormat;
 m_ctx->compression_level = 4;
 m_ctx->flags &= ~AV_CODEC_FLAG_CLOSED_GOP;
 AVDictionary *param = nullptr;
 av_dict_set(&param, "idr_interval", "0", 0);
 av_dict_set(&param, "async_depth", "1", 0);
 av_dict_set(&param, "forced_idr", "1", 0);



and in the encoding, I set the AVFrame to be AV_PICTURE_TYPE_I when key frame is needed :


if(key_frame){
 encodeFrame->pict_type = AV_PICTURE_TYPE_I;
 }else{
 encodeFrame->pict_type = AV_PICTURE_TYPE_NONE;
 }
 avcodec_send_frame(m_ctx, encodeFrame);
 avcodec_receive_packet(m_ctx, m_packet);
 std::cerr<<"packet size is "<size<<",is key frame "<code>


The strange phenomenon is that if I had set one frame to AV_PICTURE_TYPE_I, then every encoded frame's size after the key frame would increase. If I change the h264 encoder to x264, then it's ok.


The packet size is as below before I call "encodeFrame->pict_type = AV_PICTURE_TYPE_I" :


packet size is 26839
packet size is 2766
packet size is 2794
packet size is 2193
packet size is 1820
packet size is 2542
packet size is 2024
packet size is 1692
packet size is 2095
packet size is 2550
packet size is 1685
packet size is 1800
packet size is 2276
packet size is 1813
packet size is 2206
packet size is 2745
packet size is 2334
packet size is 2623
packet size is 2055



If I call "encodeFrame->pict_type = AV_PICTURE_TYPE_I", then the packet size is as below :


packet size is 23720,is key frame 1
packet size is 23771,is key frame 0
packet size is 23738,is key frame 0
packet size is 23752,is key frame 0
packet size is 23771,is key frame 0
packet size is 23763,is key frame 0
packet size is 23715,is key frame 0
packet size is 23686,is key frame 0
packet size is 23829,is key frame 0
packet size is 23774,is key frame 0
packet size is 23850,is key frame 0