相关疑难解决方法(0)

如何用libavcodec/x264编码h.264?

我试图使用libavcodec/libavformat编码视频.音频效果很好,但当我尝试编码视频时,我收到以下错误:

[libx264 @ 0x10182a000]broken ffmpeg default settings detected  
[libx264 @ 0x10182a000]use an encoding preset (vpre)  
Run Code Online (Sandbox Code Playgroud)

使用命令行ffmpeg很容易修复,但我想在C中执行此操作.我的选项是

AVStream *pVideoOutStream = av_new_stream(pOutFormatCtx, 0);  
AVCodecContext *pVideoOutCodecCtx  = pVideoOutStream->codec;  

pVideoOutCodecCtx->codec_id        = CODEC_ID_H264;    
pVideoOutCodecCtx->codec_type      = CODEC_TYPE_VIDEO;  
pVideoOutCodecCtx->bit_rate        = pVideoInCodecCtx->bit_rate;  
pVideoOutCodecCtx->width           = pVideoInCodecCtx->width;    
pVideoOutCodecCtx->height          = pVideoInCodecCtx->height;  
pVideoOutCodecCtx->pix_fmt         = pVideoInCodecCtx->pix_fmt;    
pVideoOutCodecCtx->sample_rate     = pVideoInCodecCtx->sample_rate;    
pVideoOutCodecCtx->gop_size        = 30;  
Run Code Online (Sandbox Code Playgroud)

但是avcodec_open()失败了.

我需要设置哪些其他值才能使x264满意?

c x264 libavcodec libav libx264

19
推荐指数
3
解决办法
3万
查看次数

标签 统计

c ×1

libav ×1

libavcodec ×1

libx264 ×1

x264 ×1