
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (104)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (15436)
-
avcodec/mobiclip : Rewrite code to make it clearer
18 novembre 2021, par Andreas Rheinhardtavcodec/mobiclip : Rewrite code to make it clearer
In order to know that the earlier code did not use uninitialized
values one needs to know that the lowest four bits of each used
value of pframe_block4x4_coefficients_tab do not vanish identically.
E.g. Coverity did not get this and warned about it in ticket #1466632.
Fix this by slightly rewriting the code.Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
How to let fluent-ffmpeg complete rendering before executing next line of code ?
12 avril 2020, par wongzThe .forEach() loop cuts ffmpeg short so it doesn't fully finish rendering any single video. How can I allow ffmpeg to finish rendering before the next loop occurs ?



let videos = [vid1.mp4, vid2.mp4, vid3.mp4];

videos.forEach((vid, i) => {
 ffmpeg(vid)
 .size('1280x720')
 .save(vid);
}



-
How do I set the framerate/FPS in an FFmpeg code (C) ?
2 juin 2020, par Tobias v. BrevernI try to encode single pictures to a .avi video. The goal is to have every picture displayed for a set amount of seconds to create a slide show. I tried my script with 10 pictures and a delay of 1/5 of a second but the output file was not even half a second long (but displayed every picture). For setting the framerate I use the time_base option of the AVCodeContext :



ctx->time_base = (AVRational) {1, 5};



When I use the command
ffmpeg -framerate 1/3 -i img%03d.png -codec png output.avi
everything works fine and I get the file I want. I use the png codec because it was the only one i tried that is playable with Windows Media Player.


Am I missing anything here ? Is there another option that has impact on the framerate ?



This is my code so far :



Note : I use a couple of self made data structures and methodes from other classes. They are the ones written in Caps Lock. They basicly do what the name suggests but are necessary for my project. The Input Array contains the pictures that i want to encode.



include <libavutil></libavutil>opt.h>
include <libavutil></libavutil>imgutils.h>
include <libavutil></libavutil>error.h>

void PixmapsToAVI (ARRAY* arr, String outfile, double secs)
{
 if (arr!=nil && outfile!="" && secs!=0) {
 AVCodec* codec = avcodec_find_encoder(AV_CODEC_ID_PNG);
 if (codec) {
 int width = -1;
 int height = -1;
 int ret = 0;

 AVCodecContext* ctx = NULL;
 ctx = avcodec_alloc_context3(codec);
 AVFrame* frame = av_frame_alloc();
 AVPacket* pkt = av_packet_alloc();

 FILE* file = fopen(outfile, "wb");

 ARRAYELEMENT* e;
 int count = 0;
 forall (e, *arr) {
 BITMAP bitmap (e->value, false);
 if (width < 0) {
 width = bitmap.Width();
 height = bitmap.Height();

 ctx->width = width;
 ctx->height = height;
 ctx->time_base = (AVRational){1, 5};
 ctx->framerate = (AVRational){5, 1};
 ctx->pix_fmt = AV_PIX_FMT_RGB24;
 ret = avcodec_open2(ctx, codec, NULL);

 frame->width = width;
 frame->height = height;
 frame->format = ctx->pix_fmt;
 av_opt_set(ctx->priv_data, "preset", "slow", 1);

 }
 ret = av_frame_get_buffer(frame, 1);
 frame->linesize[0] = width*3;

 bitmap.Convert32();
 byte* pixels = bitmap.PixelsRGB(); 

//The two methodes above convert the Pixmap into the RGB structure we need
//They are not needed to get an output file but are needed to get one that makes sense

 fflush(stdout);
 int writeable = av_frame_make_writable(frame);
 if (writeable>=0) {
 for(int i=0; i<(height*width*3); i++){
 frame->data[0][i] = pixels[i];
 }
 }
 ret = avcodec_send_frame(ctx, frame);
 for(int i=0; i= 0) {
 ret = avcodec_receive_packet(ctx, pkt);
 }
 count++;
 avcodec_receive_packet(ctx, pkt);
 fwrite(pkt->data, 1, pkt->size, file);
 fflush(stdout);
 av_packet_unref(pkt);
 }
 fclose(file);
 avcodec_free_context(&ctx);
 av_frame_free(&frame);
 av_packet_free(&pkt);

 }
 }
}