使用最新版ffmpeg-0.11 libx264-125,使用默认编码时,用Eyecard发现profile-idc一直是PROFILE_H264_HIGH (profile-idc=100),但是项目要求是baseline,设置了AVCodecContext的->profile=FF_PROFILE_H264_BASELINE也没用,经过多方查找,需要如下解决方法:
AVDictionary *opts = NULL;
av_dict_set(&opts, "profile", "baseline", 0);
/* open the codec */
if (avcodec_open2(m_pEncoderCtx, encoder, &opts) < 0)
et/kisaa133/article/details/7792008
FFMPEG生成高质量的h264编码视频
FFMPEG 转换h264格式视频,为了使视频的每一秒都有关键帧,我们分两步来生成,第一步生成两个临时文件,再组合生成最终的视频文件(windows和linux系统都通用)
(1)
ffmpeg -i input.mp4 -y input.temp.wav -s 640x360 -pix_fmt yuv420p -f rawvideo -y - | x264 --profile baseline --level 3 --keyint 25 --bitrate 512 --sar 1:1 --output input.temp.264 - 640x360
(2)
ffmpeg -i input.temp.wav -f h264 -i input.temp.264 -y -vcodec copy -acodec libfaac -ab 50k output.mp4
这样生成的视频质量比较高,不会出现锯齿,也不会出现花屏。
FFmpeg码率控制及内置编码参数介绍
一、码率控制参数 二、编码速度&编码质量&视觉优化参数一、码率控制:
![d152c33f88e1ef6feb7db602db14ad6d.png](https://img-blog.csdnimg.cn/img_convert/d152c33f88e1ef6feb7db602db14ad6d.png)
普通用户常用CRF、Two-Pass ABR 两种
CRF(Constant Rate Factor - 限制码率因子)
适用范围:
优点:该方法在输出文件的大小不太重