【发布时间】:2011-09-06 19:45:45
【问题描述】:
av_register_all();
AVCodec *codec;
AVCodecContext *c= NULL;
int out_size,大小,outbuf_size;
//文件 *f;
uint8_t *outbuf;
printf("视频编码\n");
/* 找到 mpeg 视频编码器 */
codec =avcodec_find_encoder(CODEC_ID_H264);//avcodec_find_encoder_by_name("libx264"); //avcodec_find_encoder(CODEC_ID_H264);//CODEC_ID_H264);
NSLog(@"codec = %i",codec);
如果(!编解码器){
fprintf(stderr, "找不到编解码器\n");
退出(1);
}
c=avcodec_alloc_context();
/* 放样本参数 */
c->bit_rate = 400000;
c->bit_rate_tolerance = 10;
c->me_method = 2;
/* 分辨率必须是 2 的倍数 */
c->width = 352;//宽度;//352;
c->height = 288;//身高;//288;
/* 每秒帧数 */
c->time_base= (AVRational){1,25};
c->gop_size = 10; /* 每十帧发射一帧 */
//c->max_b_frames=1;
c->pix_fmt = PIX_FMT_YUV420P;
c->me_range = 16;
c->max_qdiff = 4;
c->qmin = 10;
c->qmax = 51;
c->qcompress = 0.6f;
'avcodec_encode_video' 始终为 0。
我猜是因为“非严格单调 PTS”警告,你知道同样的情况吗?
【问题讨论】:
-
您遇到过这个问题吗?我也遇到了同样的问题,好像和 PTS 值有关。
标签: iphone encoding ffmpeg h.264 pts