
Recherche avancée
Autres articles (42)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
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
Sur d’autres sites (5862)
-
Revision 1e30547984 : Skip mode search based on reference frame consistency This commit enables the e
12 août 2014, par Jingning HanChanged Paths :
Modify /vp9/encoder/vp9_rdopt.c
Skip mode search based on reference frame consistencyThis commit enables the encoder to skip NEARMV and ZEROMV if the
above and left blocks have identical reference frame, and the
current reference is different from that. It reduces the runtime
of speed 3 for test sequences :
bus cif at 1000 kbps 10064 ms -> 9823 ms
pedestrian 1080p at 2000 kbps 193078 ms -> 189559 msThe compression performance is changed by
derf -0.085%
stdhd -0.103%Change-Id : If304f26d42e6412152a84c3dd7b02635c38444f4
-
getting black and white image after encoding
16 mai 2012, par user1310596I am trying to encode image using ffmpeg library and objective c. I am using following code but I am getting black and white image as the result. Is there something to do with pixel format(PIX_FMT) ? Please help me so that I can get colored image.
av_register_all();
avcodec_init();
avcodec_register_all();
avformat_alloc_context();
AVCodec *codec;
AVCodecContext *ctx= NULL;
int out_size, size, outbuf_size;
AVFrame *picture;
uint8_t *outbuf;
unsigned char *flvdata = malloc(sizeof(unsigned char) * 30);
outbuf_size = 200000;
outbuf = malloc(outbuf_size);
printf("Video encoding\n");
codec = avcodec_find_encoder(CODEC_ID_FLV1);
if (!codec) {
fprintf(stderr, "codec not found\n");
exit(1);
}
ctx= avcodec_alloc_context();
picture= avcodec_alloc_frame();
ctx->width = 320;
ctx->height = 240;
ctx -> sample_rate = 11025;
ctx -> time_base.den = 1000;
ctx -> time_base.num = 23976;
ctx -> codec_id = CODEC_ID_FLV1;
ctx -> codec_type = CODEC_TYPE_VIDEO;
ctx->pix_fmt = PIX_FMT_YUV420P;
if (avcodec_open(ctx, codec) < 0) {
fprintf(stderr, "could not open codec\n");
exit(1);
}
outbuf_size = 100000;
outbuf = malloc(outbuf_size);
size = ctx->width * ctx->height;
AVFrame* outpic = avcodec_alloc_frame();
int nbytes = avpicture_get_size(PIX_FMT_YUV420P, ctx->width, ctx->height);
uint8_t* outbuffer = (uint8_t*)av_malloc(nbytes);
fflush(stdout);
int numBytes = avpicture_get_size(PIX_FMT_YUV420P, ctx->width, ctx->height);
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"0.jpg"]];
CGImageRef newCgImage = [image CGImage];
CGDataProviderRef dataProvider = CGImageGetDataProvider(newCgImage);
CFDataRef bitmapData = CGDataProviderCopyData(dataProvider);
long dataLength = CFDataGetLength(bitmapData);
uint8_t *buffer = (uint8_t *)av_malloc(dataLength);
buffer = (uint8_t *)CFDataGetBytePtr(bitmapData);
for(int i = 0; i < dataLength; i++)
{
if((i + 1) % 16 == 1 && i != 1)
printf("\n");
printf("%X\t",buffer[i]); // getting something different than the actual hex value of the image
}
outpic -> pts = 0;
avpicture_fill((AVPicture*)picture, buffer, PIX_FMT_RGB8, ctx->width, ctx->height);
avpicture_fill((AVPicture*)outpic, outbuffer, PIX_FMT_YUV420P, ctx->width, ctx->height);
struct SwsContext* fooContext = sws_getContext(ctx->width, ctx->height,
PIX_FMT_RGB8,
ctx->width, ctx->height,
PIX_FMT_YUV420P,
SWS_FAST_BILINEAR, NULL, NULL, NULL);
sws_scale(fooContext, picture->data, picture->linesize, 0, ctx->height, outpic->data, outpic->linesize);
printf("abcdefghijklmnop");
out_size = avcodec_encode_video(ctx, outbuf, outbuf_size, outpic);
printf("\n\n out_size %d outbuf_size %d",out_size,outbuf_size);Thanks in advance
-
Encoding video only FLV
25 mars 2012, par NadavRubI am trying to generate a video only FLV file, I am using :
- libx264 + ffmpeg
- 30 fps ( fixed )
- playback is done using VLC 2.0.1 and flowplayer
When playing the FLV the frame-rate seems 1 frame per sec, following is the way I cfg ffmpeg :
AVOutputFormat* fmtOutput = av_oformat_next(0);
while((0 != fmtOutput) && (0 != strcmp(fmtOutput->name, "flv")))
fmtOutput = av_oformat_next(fmtOutput);
m_pFmtCtxOutput = avformat_alloc_context();
m_pFmtCtxOutput->oformat = fmtOutput;
AVStream* pOutVideoStream= av_new_stream(m_pFmtCtxOutput, pInVideoStream->id);
AVCodec* videoEncoder = avcodec_find_encoder(CODEC_ID_H264);
pOutVideoStream->codec->width = 640;
pOutVideoStream->codec->height = 480;
pOutVideoStream->codec->level = 30;
pOutVideoStream->codec->pix_fmt = PIX_FMT_YUV420P;
pOutVideoStream->codec->bit_rate = 3000000;
pOutVideoStream->cur_dts = 0;
pOutVideoStream->first_dts = 0;
pOutVideoStream->index = 0;
pOutVideoStream->avg_frame_rate = (AVRational){ 30, 1 };
pOutVideoStream->time_base =
pOutVideoStream->codec->time_base= (AVRational){ 1, 30000 };
pOutVideoStream->codec->gop_size = 30;
%% Some specific libx264 settings %%
m_dVideoStep = 1000;// packet dts/pts is incremented by this amount each frame
pOutVideoStream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
avcodec_open(pOutVideoStream->codec, videoEncoder);The resulting file seems OK, with the exception of the playback frame-rate.
having in mind that :- pOutVideoStream->avg_frame_rate = (AVRational) 30, 1 ;
- pOutVideoStream->time_base = (AVRational) 1, 30000 ;
- pOutVideoStream->codec->time_base= (AVRational) 1, 30000 ;
- For each frame I increment the dts/pts by 1000
What am I doing wrong here ? why the file is playing choppy ( 1 fps ) ?
Any help will be appreciated.
Nadav at Sophin