关键词:
两种码率控制模式:crf模式和ABR模式
一、crf模式
Constant Rate Factor(crf)优点是提供了最大的压缩效率,每一帧可以按照要求的视频质量去决定它需要的比特数。缺点是,不能计算规定时间的视频文件大小,或者准确控制输出码率。
1. 选择一个crf值
crf值是视频质量的量化值,取值范围0~51,其中0为无损模式,23为默认值,51代表最差质量。crf值加6,输出码率大概减少一半;
2. 选择一个预设(preset)
preset似的编码器能够在编码速度和压缩率之间做出权衡。也就是说,选择越慢的编码速度,压缩率就会越高。如果要求编码速度更快,一般选择ultrafast。
开发者还可以基于输入内容的独特性通过使用--tune来改变参数设置。如果没有特殊要求,一般选择zerolantency。
av_opt_set(pCodecCtx->priv_data, "preset", "ultrafast", 0); av_opt_set(pCodecCtx->priv_data, "crf", "20", AV_OPT_SEARCH_CHILDREN);
二、ABR模式
Average Bit Rate(ABR)模式更注重码率控制,适合在一段时间内生成固定大小的视频,而不太注重视频质量的场景。
androidffmpeg——ffmpeg+libx264编译(代码片段)
前面博客AndroidFFMpeg(一)——编译FFmpeg中记录了在windows中利用MinGW和Msys编译FFMpeg的步骤。FFMpeg中带有264的解码,没有264的编码,需要编码功能的话,可以使用x264这个库。准备编译环境win10中内置了Linux子系统&... 查看详情
ffmpeg libx264 AVCodecContext 设置
】ffmpeglibx264AVCodecContext设置【英文标题】:ffmpeglibx264AVCodecContextsettings【发布时间】:2012-02-2816:32:49【问题描述】:我正在使用最近的Windows(2011年1月)ffmpeg版本并尝试在H264中录制视频。使用以下设置可以在MPEG4中正常录制:c-&g... 查看详情
ffmpeg中的libx264编码流程
...术A本文主要参考[1],为了更加清晰地展现出编码过程中FFmpeg与libx264的交互流程。编码流程主要有三个步骤:FFmpeg的编解码的API详细介绍可参考FFmpeg音频解码#编解码API介绍部分。FFmpeg的libx264编码器AVCodecff_libx264_encoder定义在libavco... 查看详情
ffmpeg/libx264 C API:从短 MP4 末尾丢弃的帧
】ffmpeg/libx264CAPI:从短MP4末尾丢弃的帧【英文标题】:ffmpeg/libx264CAPI:framesdroppedfromendofshortMP4【发布时间】:2017-12-2323:28:03【问题描述】:在我的C++应用程序中,我拍摄了一系列JPEG图像,使用FreeImage处理它们的数据,然后使用ffmp... 查看详情
使用 ffmpeg libav 和 libx264 从图像创建视频?
】使用ffmpeglibav和libx264从图像创建视频?【英文标题】:Creatingavideofromimagesusingffmpeglibavandlibx264?【发布时间】:2013-07-2221:32:01【问题描述】:我正在尝试使用ffmpeg库从图像创建视频。这些图像的大小为1920x1080,应该使用.mkv容器... 查看详情
如何在 macos 上为 ffmpeg 启用 libx264
】如何在macos上为ffmpeg启用libx264【英文标题】:howtoenablelibx264forffmpegonmacos【发布时间】:2020-12-2620:29:12【问题描述】:我正在运行一个运行ffmpeg的代码,但由于libx264而崩溃并出现以下错误:未知编码器\'libx264\'File"/anaconda3/lib/pyt... 查看详情
开启ffmpeg+libx264软解码的多线程特性(代码片段)
之前编译的FFmpeg+libx264可以实现分辨率为1920*1080的H264视频流的软解码,经过测试,随着码率的提高,解码效率会降低,导致解码速率跟不上实际帧率。查找资料发现FFmpeg软解码支持多线程特性,程序上不用做修改,只是在软解码... 查看详情
h264编码系列之ffmpeg和x264码率控制分析
参考技术A点击获取更多音视频技术讲解h264编码算法复杂、参数众多,单码率控制又分为三种模式。注:符号“∝”表示成正比例码率∝关键帧间隔(视频质量其他参数恒定)码率∝分辨率(视频质量其他参数恒定)码率∝帧率... 查看详情
h.264---码率控制策略
...ion发生时,马赛克很少。码率控制算法根据图像内容确定使用的比特率,图像内容比较简单则分配较少的码率(似乎码字更合适),图像内容复杂则分配较多的码字,这样既保证了质量,又兼顾带宽限制。这种算法优先考虑图像质... 查看详情
ffmpegh.264mp4编码告警:non-strictly-monotonicpts
解决方法:参考文章1:ffmpeg使用libx264编码时,为何一直出现x264[warning]:non-strictly-monotonicPTS?参考文章2:non-strictly-monotonicPTS参考文章3:FFmpeg中使用libx264进行码率控制切换到h.265编码倒没这个警告 查看详情
cygwin 上的 FFMPEG 无法编译 libx264 错误:未知类型名称“HMODULE”
】cygwin上的FFMPEG无法编译libx264错误:未知类型名称“HMODULE”【英文标题】:FFMPEGoncygwinfailedtocompilelibx264error:unknowntypename‘HMODULE’【发布时间】:2017-12-2404:00:28【问题描述】:我正在尝试在cygwin环境下在ffmpeg中编译libx264。我遵... 查看详情
如何解决“错误:找不到 libx264”?
...:2014-09-2414:14:07【问题描述】:我需要安装支持libx264的ffmpeg以启用H.264编码。我使用以下脚本成功安装了libx264,并使用了android-ndk-r9d中提供的工具链。#!/bin/bashNDK=~/android-ndk-r9dSYS 查看详情
ffmpeg 没有找到 vcodec libx264
】ffmpeg没有找到vcodeclibx264【英文标题】:ffmpegnotfindingvcodeclibx264【发布时间】:2011-06-1121:40:48【问题描述】:我已安装最新的ffmpeg,但似乎无法找到视频编解码器。我是否需要完全删除ffmpeg并重新运行./configure以使ffmpeg找到视频... 查看详情
libx264开发笔记:libx264介绍海思平台移植编译(代码片段)
...合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 查看详情
windows下ffmpeg+x264编译,解决“libx264notfound”问题
参考技术A【问题】【解决方案】通过设置x264 的 PKG_CONFIG_PATH,用以解决x264头文件的路径,解决x264依赖库的位置路径问题。 查看详情
ffmpeg推流时,可能出现错误:unknownencoder'libx264'
使用如下命令推流时:p.p1margin:0.0px0.0px0.0px0.0px;font:18.0pxMenlo;color:#4d2f2d;background-color:#dfdbc3span.s1ffmpeg-re-ia.mp4-vcodeclibx264-acodecaac-fflvrtmp://172.31.102.165:1935/myapp 可能会出现如下错误 查看详情
在配置 ffmpeg 时出现错误“未找到 x264”
】在配置ffmpeg时出现错误“未找到x264”【英文标题】:whileconfiguringffmpegigettheerror"x264notfound"【发布时间】:2021-04-2509:21:46【问题描述】:我使用mingw32编译带有libx264的ffmpeg。我使用以下配置:./configure--enable-gpl--enable-nonfre... 查看详情
h264三种码率控制方法(cbr,vbr,cvbr)
...后一帧发生motion,就会导致该帧size变大,从而导致统计的码率大于预设 查看详情