sfmt = PIX_FMT_RGB32; iwidth = 1280; iheight = 360; cvideo = avcodec_find_encoder(AV_CODEC_ID_H264); svideo = avformat_new_stream(oc, cvideo); svideo->codec->pix_fmt = PIX_FMT_YUV420P; svideo->codec->bit_rate = 921000; svideo->codec->width = iwidth / 2; svideo->codec->height = iheight; svideo->codec->time_base.num = 1; svideo->codec->time_base.den = FLV_TIMEBASE; svideo->codec->codec_tag = FLV_TAG_TYPE_VIDEO; svideo->codec->flags |= CODEC_FLAG_GLOBAL_HEADER; ... avpicture_fill(&spicture, buffer, sfmt, w, h); SwsContext *swsCtx = sws_getContext(w, h, sfmt, iwidth, iheight * 2, svideo->codec->pix_fmt, SWS_BICUBIC, NULL, NULL, NULL); sws_scale(swsCtx, (const uint8_t * const *) spicture.data, spicture.linesize, 0, iheight, dpicture.data, dpicture.linesize); sws_freeContext(swsCtx);