
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (23)
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
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 (5870)
-
Generate video from bitmap images using FFMPEG
29 juin 2013, par PferdI'm trying to encode a bunch of images into a video using FFMPEG in visual studio. However I couldnt get it. Can some one please tell me where am I going wrong. please find the attached code here !
void Encode::encodeVideoFromImage(char* filename){
// gET THE encoder here. ~ try with mpeg1Video as a start!
int i;
AVCodec* codec = avcodec_find_encoder(CODEC_ID_MPEG1VIDEO);
//AVCodec* codec = avcodec_find_encoder(CODEC_ID_MPEG4);
//AVCodec* codec = avcodec_find_encoder(CODEC_ID_MPEG2VIDEO);
if (!codec)
{
MessageBox(_T("can't find codec"), _T("Warning!"), MB_ICONERROR | MB_OK);
}
// Initialize codec
AVCodecContext* c = avcodec_alloc_context();
// Put sample parameters
c->bit_rate = 400000;
// Resolution must be a multiple of two
c->width = 800;
c->height = 600;
c->time_base.num = 1;
c->time_base.den = 25;
c->gop_size = 8; // Emit one intra frame every ten frames
c->max_b_frames=1;
c->pix_fmt = PIX_FMT_YUV420P;
// Open the codec.
if (avcodec_open(c, codec) < 0)
{
// fprintf(stderr, "could not open codec\n");
MessageBox(_T("can't open codec"), _T("Warning!"), MB_ICONERROR | MB_OK);
}
// Open the output file
FILE* f = fopen(filename, "wb");
if (!f)
{
// fprintf(stderr, "could not open %s\n", filename);
MessageBox(_T("Unable to open file"), _T("Warning!"), MB_ICONERROR | MB_OK);
}
// alloc image and output buffer
int in_width, in_height, out_width, out_height;
//here, make sure inbuffer points to the input BGR32 data,
//and the input and output dimensions are set correctly.
int out_size=1000000;
in_width=c->width;
out_width=c->width;
in_height=c->height;
out_height=c->height;
//create ffmpeg frame structures.
AVFrame* inpic = avcodec_alloc_frame();
AVFrame* outpic = avcodec_alloc_frame();
// bytes needed for the output image
int nbytes = avpicture_get_size(PIX_FMT_BGR32, out_width, out_height);
//create buffer for the output image
uint8_t* outbuffer = (uint8_t *)av_malloc(nbytes*sizeof(uint8_t));
uint8_t* inbuffer = (uint8_t *)av_malloc(nbytes*sizeof(uint8_t));
CImage capImage;
CString pictureNumber;
/* encode 1 frame of video */
for(i=0;i<50;i++) {
fflush(stdout);
/* Use existing images */
pictureNumber="";
pictureNumber.Format(_T("%d"),i+1);
capImage.Load(_T("C:\\imageDump\\test")+pictureNumber+_T(".bmp")); // TBD from memory!
//MessageBox(_T("C:\\imageDump\\test")+pictureNumber+_T(".bmp"), _T("Warning!"), MB_ICONERROR | MB_OK);
inbuffer = (uint8_t*)capImage.GetBits();
// convert RGB to YUV 420 here!
// RGBtoYUV420P(pBits,picture_buf,bpp,true,c->width,c->height,false);
//inbuffer=pBits;
avpicture_fill((AVPicture*)inpic, inbuffer, PIX_FMT_BGR32, in_width, in_height);
avpicture_fill((AVPicture*)outpic, outbuffer, PIX_FMT_YUV420P, out_width, out_height);
//create the conversion context
SwsContext* fooContext = sws_getContext(in_width, in_height, PIX_FMT_BGR32, out_width, out_height, PIX_FMT_YUV420P, SWS_FAST_BILINEAR, NULL, NULL, NULL);
//perform the conversion
sws_scale(fooContext, inpic->data, inpic->linesize, 0, in_height, outpic->data, outpic->linesize);
out_size = avcodec_encode_video(c, outbuffer, out_size, inpic);
//printf("encoding frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuffer, 1, out_size, f);
capImage.Destroy();
//free(inbuffer);
}
// Get the delayed frames
for(; out_size; i++) {
fflush(stdout);
out_size = avcodec_encode_video(c, outbuffer, out_size, NULL);
//printf("write frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuffer, 1, out_size, f);
}
/* add sequence end code to have a real mpeg file */
outbuffer[0] = 0x00;
outbuffer[1] = 0x00;
outbuffer[2] = 0x01;
outbuffer[3] = 0xb7;
fwrite(outbuffer, 1, 4, f);
fclose(f);
free(inbuffer);
free(outbuffer);
avcodec_close(c);
av_free(c);
av_free(inpic);
av_free(outpic);
//printf("\n");}
Thank you !
-
Revision 32737 : habillage par defaut de Zpip utilise les conventions documentees
8 novembre 2009, par cedric@… — Loghabillage par defaut de Zpip utilise les conventions documentees
-
What Is Data Misuse & How to Prevent It ? (With Examples)
13 mai 2024, par Erin