AVCodec* codec = avcodec_find_encoder(AV_CODEC_ID_H264);//编码格式
m_pVideoCodecCtx = avcodec_alloc_context3(codec);
if (!m_pVideoCodecCtx){
m_pVideoCodecCtx->width = m_videoOutWidth;//视频宽度
m_pVideoCodecCtx->height = m_video0utHeight;//视频高度
m_pVideoCodecCtx->time_base = (AVRational){1,30};//时间基
m_pVideoCodecCtx->gop_size = 20;//gop序列 I帧跨度
m_pVideoCodecCtx->max_b_frames = 0;//设置B帧为0 一般用于直播
m_pVideoCodecCtx->pix_fmt = AV_PIX_FMT_YUV420P;//像素格式
m_pVideoCodecCtx->codec_id = AV_CODEC_ID_H264;//编码器id
}
//av_opt_set (m_pVideoCodecCtx->priv_data,"preset","superfast",0);
m_pVideoCodecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;//全局的header
int ret = avcodec_open2(m_pVideoCodecCtx,codec, NULL);
m_pVideoStream = avformat_new_stream(m_pFormatCtx,NULL);//new一个视频的流
m_pVideoStream->codecpar->codec_tag = 0;
avcodec_parameters_from_context (m_pVideoStream->codecpar,m_pVideoCodecCtx);//将参数拷贝到视频流信息中
FFmpeg 视频编码器参数一般设置
于 2023-07-25 16:31:10 首次发布