ffmpeg+x264编码,AVCodecContext的gop_size与max_b_frames设置无效,求解决方案 [问题点数:100分,结帖人mstlq]

Bbs1
本版专家分:0
Blank
红花 2010年1月 C/C++大版内专家分月排行榜第一
2009年9月 C/C++大版内专家分月排行榜第一
2009年8月 C/C++大版内专家分月排行榜第一
Blank
黄花 2011年2月 C/C++大版内专家分月排行榜第二
2010年2月 C/C++大版内专家分月排行榜第二
2009年12月 C/C++大版内专家分月排行榜第二
2009年11月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2009年10月 C/C++大版内专家分月排行榜第三
结帖率 100%
Bbs1
本版专家分:0
Blank
红花 2010年1月 C/C++大版内专家分月排行榜第一
2009年9月 C/C++大版内专家分月排行榜第一
2009年8月 C/C++大版内专家分月排行榜第一
Blank
黄花 2011年2月 C/C++大版内专家分月排行榜第二
2010年2月 C/C++大版内专家分月排行榜第二
2009年12月 C/C++大版内专家分月排行榜第二
2009年11月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2009年10月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:0
Blank
红花 2010年1月 C/C++大版内专家分月排行榜第一
2009年9月 C/C++大版内专家分月排行榜第一
2009年8月 C/C++大版内专家分月排行榜第一
Blank
黄花 2011年2月 C/C++大版内专家分月排行榜第二
2010年2月 C/C++大版内专家分月排行榜第二
2009年12月 C/C++大版内专家分月排行榜第二
2009年11月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2009年10月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Blank
红花 2010年1月 C/C++大版内专家分月排行榜第一
2009年9月 C/C++大版内专家分月排行榜第一
2009年8月 C/C++大版内专家分月排行榜第一
Blank
黄花 2011年2月 C/C++大版内专家分月排行榜第二
2010年2月 C/C++大版内专家分月排行榜第二
2009年12月 C/C++大版内专家分月排行榜第二
2009年11月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2009年10月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Blank
红花 2011年5月 专题开发/技术/项目大版内专家分月排行榜第一
2011年4月 专题开发/技术/项目大版内专家分月排行榜第一
2011年3月 专题开发/技术/项目大版内专家分月排行榜第一
2011年2月 专题开发/技术/项目大版内专家分月排行榜第一
2011年1月 专题开发/技术/项目大版内专家分月排行榜第一
2010年12月 专题开发/技术/项目大版内专家分月排行榜第一
Blank
黄花 2011年11月 专题开发/技术/项目大版内专家分月排行榜第二
2011年8月 专题开发/技术/项目大版内专家分月排行榜第二
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
统计视频文件的关键帧个数,以及GOP大小(关键帧间隔)
对一个视频文件进行分析,可以提取出这个视频文件的关键帧的个数,并且统计出GOP的间隔,对于视频分片,提高视频切片质量有很高的参考意义,同时对于转码之后文件的分析有重要参考意义 操作系统:linux 使用方式: chmod 777 Count_GOP_And_I ./Count_GOP_And_I 视频文件名;如:./Count_GOP_And_I a.avi(支持各种格式 如 avi,ts 等)
ffmpeg x264编码参数
<em>ffmpeg</em> <em>x264</em><em>编码</em>参数对照表<em>x264</em>   <em>ffmpeg</em>   说明 命令行 字段 命令行 字段   qp qp_constant cqp   cqp 固定量化因子。取值范围0到51。 经常取值在20-40之间,越小质量 越好,要求的码率越高。0表示无损压缩 max-keyint i_keyint_max g <em>gop_size</em> 关键帧的最大...
ffmpeg+x264最简单的编码示例
一 <em>ffmpeg</em>不包含h264<em>编码</em>部分,要做h264<em>编码</em>需要额外引入<em>x264</em>库。二 最简单的h264 <em>编码</em>代码以及<em>设置</em>的一些基本参数int EncodeH264(const AVPacket *srcpkt,AVPacket *out_pkt){    if(srcpkt == NULL || out_pkt == NULL)    {        srs_error(&quot;pkt is null ...
视频编解码---x264用于编码ffmpeg用于解码
项目要用到视频编解码,最近半个月都在搞,说实话真是走了很多弯路,浪费了很多时间。将自己的最终成果记录于此,期望会给其他人提供些许帮助。   参考教程: http://<em>ffmpeg</em>.org/trac/<em>ffmpeg</em>/wiki/UbuntuCompilationGuide安装<em>ffmpeg</em>和<em>x264</em>,官方权威教程(注意不要用命令行安装,会少很多库的。编译安装最保险) http://blo
ffmpeg编解码的线程数限制
<em>ffmpeg</em> 内部avcodec_open2后, m_pVideoCodecContext->thread_count 的数量与cpu内核数相同。 所以如果编解码视频数量过多,而且cpu内核数也很大,很容易将整个进程线程数变得很大。而当一个进程线程数大于1000后,该进程将被系统自动杀死。
如何强制ffmpeg编码时输出一个关键帧
如何强制<em>ffmpeg</em><em>编码</em>时输出一个关键帧 如何强制<em>ffmpeg</em><em>编码</em>时输出一个关键帧 AVCodecContext *c //<em>编码</em>器环境句柄 AVFrame* f //需要<em>编码</em>的一帧视频 /*在avcodec.h文件中有这样的定义 #define FF_I_TYPE  1 ///< Intra #define FF_P_TYPE  2
关于ffmpeg中的VBR控制的讨论(编码时参数设置)
很多朋友问起我关于<em>ffmpeg</em> 中VBR的问题,主要是该<em>设置</em>哪些参数,该 如何<em>设置</em>等问题。以前我也没有研究过<em>ffmpeg</em>的VBR,所以就在网上查找了一下,无功而返,后面就看<em>ffmpeg</em>.c的源代码,初步认为通过下面的参 数或选项便可以实现VBR的控制:     { "b", HAS_ARG | OPT_VIDEO, {(void*)opt_video_bitrate}, "set video
ffmpeg中的x264编码选项,对应关系
http://<em>ffmpeg</em>.org/<em>ffmpeg</em>-all.html#lib<em>x264</em>_002c-lib<em>x264</em>rgb <em>x264</em> H.264/MPEG-4 AVC encoder wrapper. This encoder requires the presence of the lib<em>x264</em> headers and library during configuration.
ffmpegx264编码指南 转码优化
http://blog.csdn.net/vblittleboy/article/details/8982857   <em>x264</em>是一个 H.264/MPEG4 AVC <em>编码</em>器,本指南将指导新手如何创建高质量的H.264视频。     对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多
ffmpeg调用libx264编码高级选项
在命令行中输入: <em>ffmpeg</em> -h -encoder=lib<em>x264</em> 会输出一下信息: Encoder lib<em>x264</em> [lib<em>x264</em> H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10]: Threading capabilities: no Supported pixel formats: yuv420p yuvj420p yuv422
使用ffmpegx264库强制编出关键帧(I帧)
使用<em>ffmpeg</em>、<em>x264</em>库强制编出关键帧(I帧)背景当h264数据在使用udp传输时,丢包是一件很常见的事情,当接收端丢包发生后,应该通知发送端,让发送端立刻重新发送一个关键帧。此时就需要<em>编码</em>器无视关键帧间隔立刻编出一个关键帧。那么怎么让<em>编码</em>器立刻编出关键帧呢?接下来就列举常用的两种<em>编码</em>器<em>ffmpeg</em>、<em>x264</em>重编出关键帧的方法。<em>编码</em>库的使用方法在网上有很多文章。本文假设读者已经了解<em>编码</em>库的使用,
ffmpeg 编码h264 profile如何设置为baseline的问题
使用最新版<em>ffmpeg</em>-0.11 lib<em>x264</em>-125,使用默认<em>编码</em>时,用Eyecard发现profile-idc一直是PROFILE_H264_HIGH (profile-idc=100),但是项目要求是baseline,<em>设置</em>了AVCodecContext的->profile=FF_PROFILE_H264_BASELINE也没用,经过多方查找,需要如下解决方法: [cpp] v
android平台,FFMPEG转码加速(一)-X264
一:打开NEON汇编 在ARMV7以上的芯片中,加入NEON汇编的功能,所以编译X264的时候,可以打开NEON ./configure --prefix=/home/arm_lib \         --disable-gpac \         --enable-static \ --enable-pic \ --cross-prefix=$ARM_ROOT/toolchain
利用FFmpeg+x264将iOS摄像头实时视频流编码为h264文件
一、编译<em>x264</em>库 如何编译<em>x264</em>源码获取支持iOS平台的静态库,可参考我的文章《编译iOS平台上使用的X264库》 二、编译FFmpeg库 如何编译FFmpeg源码获取支持iOS平台的静态库,可参考我的博客园上的文章《实战FFmpeg--编译iOS平台使用的FFmpeg库(支持arm64的FFmpeg2.6.2)》 三、将<em>x264</em>库编译进FFmpeg库 通过步骤二
ffmpeg编码个参数的设置以及作用
具体参考http://www.yanfaw.com/technology/201108/05/368.html  b                  <em>设置</em>一个目标码率    qscale             <em>设置</em>固定的量化因子    qmin qmax
WebRTC VideoEngine综合应用示例(三)——集成X264编码ffmpeg解码
本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine综合应用示例(一)——视频通话的基本流程 WebRTC VideoEngine综合应用示例(二)——集成OPENH264编解码器 WebRTC VideoEngine综合应用示例(三)——集成X264<em>编码</em>和<em>ffmpeg</em>解码 关注下方公众号,回复“webrtc视频通话”,查看源码地址,是一个可以脱离webrtc那个大项目...
ffmpeg调用x264编码器的过程分析
该文将以X264<em>编码</em>器为例,解释说明FFMPEG是怎么调用第三方<em>编码</em>器来进行<em>编码</em>的。     所有<em>编码</em>器和解码器都是在avcodec_register_all()函数中注册的。从中可以找到视频的H264解码器和X264<em>编码</em>器:   REGISTER_DECODER(H264, h264); REGISTER_ENCODER(LIBX264,
X264实时编码,FFmpeg实时解码
开发环境:win7+VS2013+opencv3.0 两个线程,X264实时<em>编码</em>入队列,另一个线程FFmpeg从队列中取出数据实时解码。
x264编码指南——码率控制
<em>x264</em>是一个 H.264/MPEG4 AVC <em>编码</em>器,本指南将指导新手如何创建高质量的H.264视频。     对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor)和Two pass ABR。码率控制是一种决定为每一个视频帧分配多少比特数的方法,它将决定文件的大小和质量的分配。     如果你在编译和安装lib<em>x264</em> 方面需要帮助,请查看ffmpe
X264对摄像头编码,FFmpeg实时解码 (测试用)
用FFmpeg实时解码的测试代码,X264调用摄像头<em>编码</em>将数据复制到内存空间,解码器读取后直接解码,可以用来熟悉流程。
x264改变输出分辨率的算法
<em>x264</em>改变输出分辨率的算法 在某些应用场景下,<em>x264</em>的输入视频分辨率与接收端输出的视频分辨率不同。 例如<em>编码</em>端摄像头采集到的YUV数据为1280x720,而接收端视频显示窗口为640x480。 对于这种场景,一般的处理方式是: 源端:采集,<em>编码</em>,传输 720p的码流 收端:接收,解码720p的码流,缩放到480p去显示。 这种方式的劣势在于<em>编码</em>,传输了接收端用不到的大分辨率码流。
H264编码系列之x264编码延迟
参考 <em>x264</em>帧<em>编码</em>延迟 研究了一下<em>x264</em><em>编码</em>延时. 方法是加log在<em>x264</em>.c static int encode( <em>x264</em>_param_t *param, cli_opt_t *opt ) { ... i_frame_size = encode_frame( h, opt-&amp;gt;hout, &amp;amp;pic,...
FFMPEG 支持 X264编码(windows 版本)
FFMPEG 支持 X264<em>编码</em>(windows 版本) FFmpeg version UNKNOWN, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --prefix=/f/usr/<em>ffmpeg</em>_build413 --enable-memalign-hack --enable -gpl --enable-nonfree --enable-shared --enable-libmp3lame --enable-libamr-nb --e nable-libamr-wb --enable-libfaac --enable-libfaad --enable-lib<em>x264</em> --enable-libx vid --enable-avisynth libavutil 50. 3. 0 / 50. 3. 0 libavcodec 52.25. 0 / 52.25. 0 libavformat 52.32. 0 / 52.32. 0 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0. 7. 1 / 0. 7. 1 built on Apr 13 2009 22:45:09, gcc: 4.3.2 At least one output file must be specified
X264参数之zerolatency的分析
分析<em>x264</em>中<em>设置</em>zerolatency后影响到的各参数意义。
ffmpeg x264编码打开编码器失败 返回-1
此时调用avcodec_open2() 返回 -1 console打印错误: [lib<em>x264</em> @ 02ed6880] broken <em>ffmpeg</em> default settings detected [lib<em>x264</em> @ 02ed6880] use an encoding preset (e.g. -vpre medium) [lib<em>x264</em> @ 02ed6880] prese
X264的参考帧设置
1、(以r1884为例) -r, –ref   Reference Frame,即参考帧,决定最多可能的参考帧数。 有效范围值1~16。该值越大,压缩率越高;但大于6后对压缩率的贡献很低(可以看压制完后<em>x264</em> [info] ref 项,例如上图P L0那行,71.0%表示P帧参考自己,4.2%表示参考隔壁1个帧的百分比,16.1%代表参考了2个的百分比,以此类推),而速度的损失则是很
linux下配置ffmpeg(支持x264编码
在网上找了好多配置<em>ffmpeg</em>的教程,大多操作复杂。 我写了一个脚本,给它执行权限了(chmod +x install_<em>ffmpeg</em>.sh),一键式安装<em>ffmpeg</em>环境,配置了<em>x264</em><em>编码</em>库,希望有人用得到。
理解 x264、x265、vpx 中的码率控制模式
理解 <em>x264</em>、x265、vpx 中的码率控制模式序言:动态 vs. 固定 码率<em>编码</em>场景是什么?码率控制模式Constant QP(CQP)自适应码率(ABR)固定码率(CBR)二次<em>编码</em>自适应码率(2-Pass ABR)固定质量(CQ)/ 固定码率因子(CRF)受限<em>编码</em>(VBV)对比举例总结 原文: https://slhck.info/video/2017/03/01/rate-control...
ffmpeg输出x264的CBR流或者文件
CBR(Constant Bit Rate)是以恒定比特率方式进行<em>编码</em>,有Motion发生时,由于码率恒定,只能通过增大QP来减少码字大小,图像质量变差,当场景静止时,图像质量又变好,因此图像质量不稳定。这种算法优先考虑码率(带宽)。 这个算法也算是码率控制最难的算法了,因为无法确定何时有motion发生,假设在码率统计窗口的最后一帧发生motion,就会导致该帧size变大,从而导致统计的码率大
ffmpeg多种码率控制方式的实现
<em>ffmpeg</em>是我们进行视频编解码常用的工具,而对于<em>ffmpeg</em>中<em>编码</em>时对码率的控制方式一直没找合适的教程,无意中在stackoverflow上发现了答案,在此进行总结备忘。 视频<em>编码</em>器常用的码率控制方式包括abr(平均码率),crf(限制码率),cqp(固定质量),<em>ffmpeg</em>中AVCodecContext显示提供了码率大小的控制参数,但是并没有提供其他的控制方式。<em>ffmpeg</em>中码率控制方式分为
ffmpeg+x264编码mp4格式的视频出现视频帧率很大,导致视频无法播放的问题
最新用<em>ffmpeg</em>+<em>x264</em><em>编码</em>视频,之前使用老版本的<em>ffmpeg</em><em>编码</em>视频文件没有问题,但是换了最新的版本之后(<em>ffmpeg</em>版本号2.8.2),出现了<em>编码</em>出来的视频帧率特别大的问题。 找了很久,终于解决了,在这里记录一下探索过程。 首先,我<em>设置</em>的视频的帧率是25帧/s,但是<em>编码</em>出来的视频帧率则是几千,如下图所示 可以看到上图的帧率和码率都是非法的值,这个是为什么呢? 下面是解决过程。 首
利用X264编码yuv格式视频帧,利用ffmpeg解码h264视频帧
前面一篇博客介绍在centos上搭建点击打开链接<em>ffmpeg</em>及<em>x264</em>开发环境。下面就来问个例子:  1、利用<em>x264</em>库将YUV格式视频文件<em>编码</em>为h264格式视频文件  2、利用ffmpeh库将h264格式的视频文件解码为yuv格式视频文件  解码和<em>编码</em>前后对文件大小进行比较,如图:    其中yuv420p.yuv为原始文件,大小77M        encode.h264为H264<em>编码</em>后的视频
OpenCV,ffmpeg与libx264进行H.264编码(CPU与GPU版)
CPU版: 目前opencv中做h264<em>编码</em>实际上是向下调用<em>ffmpeg</em>的,而<em>ffmpeg</em>中则又是调用lib<em>x264</em>,于是这也就涉及到了lib<em>x264</em>,<em>ffmpeg</em>和opencv三者之间的联合编译 一、lib<em>x264</em> 我用的系统是centos6.8,系统内默认安装的有lib<em>x264</em>的,但是版本比较低,与<em>ffmpeg</em>不兼容,这里需要先卸载掉原先的<em>x264</em>再安装较新的版本,我用的版本
x264源码分析--ref参数
参数含义:参考帧个数 最大值X264_REF_MAX 16 参考帧越大,视频质量越好,但是运算复杂度越高。参数解析:&quot;ref&quot;, &quot;frameref&quot; OPT2(&quot;ref&quot;, &quot;frameref&quot;)        p-&amp;gt;i_frame_reference = atoi(value);代码逻辑:/* frames used for reference + sentinels */       ...
树莓派x264ffmpeg编译(用于支持GPU硬件编解码)
FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能、视频格式转换等。视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,本文讲介绍在树莓派上配置FFmpeg使其支持硬件编解码器并编译安装的过程,所使用到的所有库文件,包括<em>x264</em>和<em>ffmpeg</em>源码及其配置文件,均上传至CSDN下载中心,下载地址如下: <em>x264</em>源码及其配置文件下载:点击打开链接
FFMPEG如何设置编码器私有参数
FFMPEG最常调用的外部<em>编码</em>库就是lib<em>x264</em>和libx265了。我们知道在FFMPEG内部,可以通过结构体AVCodecContext<em>设置</em>一些通用的<em>编码</em>参数,结构体定义见下方代码段。 typedef struct AVCodecContext { /** * information on struct for av_log * - set by avcodec...
X264编码---基本参数设置
<em>x264</em><em>编码</em>有3个重要的相关参数,preset-tune-profile 参数<em>设置</em>相关函数: <em>x264</em>_param_t* pParam = (<em>x264</em>_param_t*)malloc(sizeof(<em>x264</em>_param_t)); <em>x264</em>_param_default(pParam);   //给参数结构体pParam 赋默认值 <em>x264</em>_param_default_preset(pPara...
x264源代码简单分析:宏块编码(Encode)部分
本文记录<em>x264</em>的 <em>x264</em>_slice_write()函数中调用的<em>x264</em>_macroblock_encode()的源代码。<em>x264</em>_macroblock_encode()对应着<em>x264</em>中的宏块<em>编码</em>模块。宏块<em>编码</em>模块主要完成了DCT变换和量化两个步骤。函数调用关系图宏块<em>编码</em>(Encode)部分的源代码在整个<em>x264</em>中的位置如下图所示。单击查看更清晰的图片宏块<em>编码</em>(Encode)部分的函数调用关系
x264的1080p编码输入与输出信息
INPUT: fengshaoqi@fengshaoqi-Lenovo:~/文档/测试文件/1080$ <em>x264</em> --vbv-bufsize 2000 --bitrate 2000 -o rushhour.mkv rush_hour.y4m fengshaoqi@fengshaoqi-Lenovo:~/文档/测试文件/1080$ ./<em>x264</em> --fullhelp x26
FFmpeg编码滞后
问题由来:在实现视频传输的程序中,传输存在延时,按理说在局域网下面不可能存在很大的延迟的!之前认为是发送方的程序里有写 YUV文件 和 写H.264文件,对文件的写操作存在延时,但是注释掉之后情况几乎是一样的。还认为是opencv采集库版本的原因(采集缓慢!这是我想多了,换一个版本怎么会使得采集变慢呢。。即使是这个理由,不是让人很接收,版本变高了怎么会性能降低呢??)。之前的老版本测试的非常好,原
实现 V4L2视频采集与 FFMPEG 编码YUYV 数据 为H264(2)
上一篇写的是保存摄像头数据为YUYV格式的文件链接:http://blog.csdn.net/u011186256/article/details/79289989本篇文件介绍 FFMPEG <em>编码</em>YUYV 数据 为H2641、Ubuntu安装<em>x264</em>与FFmpegroot权限运行./configure --enable-shared --disable-asm下载last_stable_<em>x264</em>....
ffmpegx264移植到android教程
1,准备ubuntu机器或者虚拟机,本教程采用的镜像是:ubuntu-16.04.4-desktop-amd64.iso 2,准备资源:     ndk,直接到android官网下载就可以。         本次用的版本是:android-ndk-r10e-linux-x86_64.zip     <em>ffmpeg</em>:         官网:http://www.<em>ffmpeg</em>.org/         ...
FFmpeg视频转码技巧之二次编码
在转码的应用场景中,有时候我们非常在意目标文件的大小,在这个前提之下,再力求画质的完美。希望通过一种方法能够“精确”计算关键的<em>编码</em>参数,而不想一次一次的试。有办法吗? 答案是肯定的。这里可以用到二次<em>编码</em>(two-pass encoding)的技术。关于二次<em>编码</em>,百度百科上是这么说的: 二次<em>编码</em>VBR, (2-pass VBR), 在第一次其实是检测收集运动啊亮度等相关数据,这样在第二次<em>编码</em>的时...
H264编码系列之每帧slice数量问题
在推送RTMP时,每个消息应该为一个完整的vidoe帧,而不是单个slice。 但当一帧被划分为多个slice时,如果不将多个slice合成一帧数据进行发送,则导致接收端不能正常解码。 X264每帧slice的数量不只是受i_slice_count 参数影响,也受线程数量i_threads 影响。 // 指定处理线程,如果不为1,slice<em>设置</em>将失效 x-...
关于x264编码帧,单个nalu还是多个nalu的问题
视频帧分为:一个视频帧只有一个slice 和一个视频帧由多个slice组成两种情况。 如图所示: 一个视频帧只有一个slice 一个视频帧由多个slice组成 对于单个cpu来说,我们要让<em>编码</em>帧都是单个slice,而非多个slice的话,可以<em>设置</em>264<em>编码</em>的线程参数param->i_threads = 1, 就可以保证单个slice。 而对于多个cpu来说,因为我用
Android手机H264软编码参数优化
做了一段时间的视频后,最先碰到的是花屏,解码端丢包的花屏,先是通过抓取<em>编码</em>后的BITMAP,发现解码出来就是花屏的,所以考虑优化<em>编码</em>来减少因为丢包产生的花屏;另外调整丢包策略规避解码花屏的问题。 1、X264<em>编码</em>参数调整: H264 FF_PROFILE_H264_BASELINE、 FF_PROFILE_H264_MAIN两种<em>编码</em>差异,其中最明显的差异是profile_idc_baselin
ffmpeg可用的x264 & mp3代码库
git clone git://git.videolan.org/<em>x264</em>.git http://sourceforge.net/projects/lame/files/lame/ <em>ffmpeg</em>自身不带<em>x264</em>、mp3库,必须下载编译使用 下载后,直接./configure、make、makeinstall <em>x264</em>、libmp3lame的.so 以及 .a 放到usr/lib下(可能存在...
x264 - 高品质 H.264 编码
H.264 / MPEG-4 AVC 是优秀的视讯<em>编码</em>格式 就目前已成熟的视讯<em>编码</em>格式而言,H.264的压缩率是最佳的。 压缩率极高,可以只用很低 bitrate 提供堪用画质。 而 <em>x264</em> 为免费开放原始码的 H.264 / MPEG-4 AVC <em>编码</em>器, 其<em>编码</em>效率与商业 H.264 <em>编码</em>器相比而有过之而不及。 例如名声响亮的商业影音转换工具 - TMPGEnc, 起初 TM
ubuntu和arm平台下的ffmpegx264相关库的移植
本文讲解在ubuntu和arm平台下的<em>ffmpeg</em>和<em>x264</em>相关库的移植,最终实现使用<em>ffmpeg</em>进行H.264<em>编码</em>。 1、源码下载:       本文使用的相关库已经上传,可以从本地址下载本次编译所使用的库:http://download.csdn.net/detail/yxtouch/7527291 或者本个链接:http://onersw9j1.bkt.clouddn.
使用ffmpeg将视频转为x264编码的mp4文件
昨天刚遇到的问题,网页播放器播放linux服务器上的mp4文件时只有进度条在动,画面全黑,首先想到的就是网页播放器的解码器是否不支持该mp4文件的<em>编码</em>。尝试了下,确实是这个问题,并且转码后文件大小从400M减小到100M,感觉这里是一个系统可优化点。 先说下主要的命令吧: 我使用的<em>ffmpeg</em>版本为<em>ffmpeg</em>-3.3.3-win64-static。 linux上<em>ffmpeg</em>的安装方法参考:
FFmpeg基础知识之-—— H264编码profile & level控制
FFmpeg基础知识之————H264<em>编码</em>profile & level控制 原文: http://www.cnblogs.com/tinywan/p/6404411.html         作者:Tinywan H.264有四种画质级别,分别是baseline, extended, main, high: 1、Baseline Profile:基本画质。支持I/P 帧,只支持
FFmpegH264 多线程 优化
提取FFmpeg中H264解码库的代码,支持多线程和MMX、SSE和AVX等优化。
ffmpeg /x264视频流编解码末尾丢帧问题分析和解决
一:问题 int avcodec_encode_video2 ( AVCodecContext *  avctx, AVPacket *  avpkt, const AVFrame *  frame, int * 
使用GPU加速H.264编码分析
继前面的“GPGPU”和“CUDA和OpenCL”的简介后,接下来分析一个具体的使用案例:是否可以用GPU搭建一个高性能的H.264编解码服务器? 设想一个简单的需求: 把其他<em>编码</em>的视频转换为指定码率的H.264;在转换过程中做一些简单的处理(例如增删水印、字幕的处理、声音的处理等);需要封装成指定的一种container格式,比如mp4或mkv。   <em>ffmpeg</em>
x264中的PSNR计算及其打印
2010-01-22 21:39 <em>x264</em>在<em>设置</em>参数后,如果不进行psnr的<em>设置</em>,在编译的时候是不会打印出来信噪比的信息的,这里,只要在参数里面进行<em>设置</em>一下,如:--psnr,就可以打印出YUV的峰值信噪比的信息来,这里就把,在程序中的信噪比的计算和相关函数在这里列举出来: 1.这里是先定义求解信噪比的函数: static float <em>x264</em>_psnr( int64_t i
【FFMPEG】ffmpeg 中添加264支持
<em>ffmpeg</em> 中带有264的解码,没有<em>编码</em>,需要添加<em>x264</em>; 参考百度上的“windows_<em>ffmpeg</em>编译 ” 文档 下载<em>ffmpeg</em> 代码合<em>x264</em>代码, <em>ffmpeg</em> 代码:http://<em>ffmpeg</em>.org/ <em>x264</em>代码:http://www.videolan.org/developers/<em>x264</em>.html 相关资源获取的地方: http:/
毕设系列之Libx264实时视频流(YUV 420P转H264视频编码篇)
#PS:要转载请注明出处,本人版权所有 #PS:这个只是 《 我自己 》理解,如果和你的 #原则相冲突,请谅解,勿喷 开发环境:Ubuntu 16.04 LTS 本文的技术实现部分参考雷博士的这篇文章。http://blog.csdn.net/leixiaohua1020/article/details/42078645 1、现在网上关于H264的文章有很多,但是我个人认为...
x264强制编一个关键帧
为了使<em>x264</em>在<em>编码</em>过程中强制编出一个IDR帧,可以通过更改<em>x264</em>_picture_t pic中的一个成员变量i_type,在<em>编码</em>一帧之前,将pic.i_type赋值为X264_TYPE_IDR即可。 int <em>x264</em>_encoder_encode( <em>x264</em>_t *, <em>x264</em>_nal_t **pp_nal, int *pi_nal, <em>x264</em>_picture_t *pic_in, <em>x264</em>
FFMPEG学习【libavcodec】:编码
一、数据结构 struct  RcOverride{ int start_frame; int end_frame; int qscale; float quality_factor; } 二、宏 #define AV_INPUT_BUFFER_MIN_SIZE   16384 最小<em>编码</em>缓冲区大小:用于在头文件写入期间避免一些检
WebRTC 集成X264编码ffmpeg解码
转载:http://blog.csdn.net/nonmarking/article/details/47958395 重新封装X264<em>编码</em>功能 首先当然还是要下载X264源码编译出相应的库以供调用。在windows下使用mingw进行编译,再使用poxports工具导出库,最后得到lib<em>x264</em>.dll和lib<em>x264</em>.lib,同时把<em>x264</em>.h和<em>x264</em>_config.h总共四
Android编译FFmpeg4.0.2添加H264编码(FFmpeg编译二)
目前测试发现使用NDK16以上的版本编译不了FFmpeg,原因未知。 我使用的系统ubuntu18.04,先编译FFmpeg,成功之后再添加X264的库。 编译FFmpeg的脚本如下: #!/bin/bash #!/bin/bash NDK=/home/hong/Public/android-ndk-r14b SYSROOT=$NDK/platforms/android-21/arch-ar...
FFmpeg的H264编码有内存泄漏吗??!!!
原文来自于:  点击打开链接<em>ffmpeg</em>解码H264内存问题 靠,内存泄漏好严重。开始怀疑是自己代码问题,调试了半天,又反复改写和优化代码,还是泄漏严重。 拿网上现成的FFMPEG H264<em>编码</em>的范例来测试,同样泄漏很严重。   百度了一下,有很多人遇到同样的问题,他们说是<em>编码</em>库本身的内存泄漏。。。。, 无语,操,那FFMPEG的H264<em>编码</em>还能用吗!!!! 抓狂!!
关于ffmpeg中的VBR控制的讨论及各参数在编码时的作用(编码参数设置必看)精华
原文引用网址:http://bbs.chinavideo.org/viewthread.php?tid=256&extra=page%3D1   关于<em>ffmpeg</em>中的VBR控制的讨论 很多朋友问起我关于<em>ffmpeg</em>中VBR的问题,主要是该<em>设置</em>哪些参数,该如何<em>设置</em>等问题。以前我也没有研究过<em>ffmpeg</em>的VBR,所以就在网上查找了一下,无功而返,后面就看<em>ffmpeg</em>.c的源代
编译ffmpeg 集成x264
1、环境配置,按照这篇:http://blog.csdn.net/gongxp123456/article/details/52879976 2、下载下x64源代码: 进入命令行: c: cd \<em>ffmpeg</em> git clone git://git.videolan.org/<em>x264</em>.git 3、编译<em>x264</em> 进入VC2015 x54命令含,再进入msys2终端界面:
FFmpeg 编译以及添加X264 支持 android
网上抄的一个脚本,一直提示:No working C compiler found. 在网上找了很久,把脚本的前后空格都删除了还是不行,后来看到可以查看日志 gedit config.log 看到 ./configure: 行 158: /home/hong/Public/android-ndk-r14b/toolchains/arm-linux-androideabi-4.8/prebuil...
CRF指南(x264 和 x265 中的固定码率因子)
原文: https://slhck.info/video/2017/02/24/crf-guide.html 原文时间:2017.02.24 翻译时间:2019.02.01 CRF指南(<em>x264</em> 和 x265 中的固定码率因子)什么是固定码率因子?(Constant Rate Factor)CRF vs. Constant QP为什么运动性很重要?关于视频质量指标视频质量和码率是怎么关联的?为...
FFmpeg源代码简单分析:avcodec_close()
本文简单分析FFmpeg的avcodec_close()函数。该函数用于关闭<em>编码</em>器。
x264动态改变参数
<em>x264</em>动态改变参数 1、在<em>编码</em>的过程中经常会遇到需要改变<em>编码</em>参数的情况,比如切换分辨率,码率等 2、有的参数可以在运动时动态修改;有的参数则必须在open之前设定,如果需要修改就必须要先关闭<em>编码</em>器然后重新打开 3、下面我们来看一下哪些参数可以动态修改,动态修改<em>编码</em>参数的入口函数是<em>x264</em>_encoder_reconfig,它实际上封装了对<em>x264</em>_encoder_try
编译带x264的FFMPEG
业务需要,需要在Linux系统下编译带<em>x264</em><em>编码</em>的<em>ffmpeg</em>工程,略踩小坑,过程记录如下。首先下载源码,<em>ffmpeg</em>: http://www.<em>ffmpeg</em>.org/download.html<em>x264</em>:http://download.videolan.org/<em>x264</em>/snapshots/yasm:http://yasm.tortall.net/Download.html1. 编译yasmyas...
x264源代码简单分析:x264命令行工具(x264.exe)
本文简单分析<em>x264</em>项目中的命令行工具(<em>x264</em>.exe)的源代码。该命令行工具可以调用lib<em>x264</em>将YUV格式像素数据<em>编码</em>为H.264码流。
ffmpeg打时间戳
网上看到一篇关于<em>ffmpeg</em>音频和视频打时间戳的文章,写的不错。 http://blog.chinaunix.net/uid-26000296-id-3483782.html
FFMPEG进阶系列03-ffmpeg转码专题(中)x264参数详解
文章目录概述版本Presets(预设)tune slow-firstpassFrame-type options(帧类型选项)keyintmin-keyintno-scenecutscenecutintra-refreshbframesb-adaptb-biasb-pyramidopen-gopno-cabacrefdeblockno-deblockslicesslice-max-sizeslic...
在Ubuntu下FFmpeg编译,支持x264和x265。
在Ubuntu下FFmpeg编译,支持<em>x264</em>和x265。 Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2.0 0000. 资料: http://stackoverflow.com/questio ... p4-with-h-265-codec FFmpeg supports encodin
ffmpeg 编码延迟问题
近日在做一个分布式转码服务器,解码器是采用开源的<em>ffmpeg</em>,在开发的过程中遇到一个问题:<em>编码</em>延迟多大5、6秒钟,也就是最初<em>编码</em>的几十帧并不能马上取出,而我们的要求是实时<em>编码</em>!虽然我对视频<em>编码</em>方面不是很熟悉,但根据开发的经验,我想必定可以通过<em>设置</em>一些参数来改变这些情况。但我本人接触<em>ffmpeg</em>项目时间并不长,对很多与编解码方面参数的<em>设置</em>并不熟悉,于是google了很久,网上也有相关方面的讨论,说什
X264编码器的参数设置
我对<em>编码</em>也是一知半解,很多参数意义也不太清楚,基本都是实际调整参数后,观看效果。如果描述错误,勿喷。 我也没打算深入研究,只是想用用该<em>编码</em>器。 本人使用<em>x264</em>主要想调整的参数, 第一,profile,也就是使用baseline还是main,还是high<em>编码</em>。 可以通过该接口<em>设置</em> <em>x264</em>_param_apply_profile(); 第二, <em>编码</em>复杂度
x264参数 中文说明
参数及结构 typedef struct {     int     i_csp;       //色彩空间参数 ,X264只支持I420     int     i_stride[4]; //对应于各个色彩分量的跨度     uint8_t *plane[4];   //对应于各个色彩分量的数据 } <em>x264</em>_image_t; #define    X264_RC_CQP
X264压缩丢帧问题
使用<em>x264</em> avcodec_decode_video2()解码后,avi录像丢了4帧。分析原因得知,在解码的过程中,分析该帧图像如果不是关键帧,那么解压就会丢弃该帧,本来想在压缩的时候就直接<em>设置</em>参数属性没有B帧数据的那种属性,可是没有找到,后来只能在解压的时候想办法了。 while (av_read_frame(fmt_ctx, &pkt) >= 0)      {         if(
Ubuntu下编译ffmpegx264编码
4. 获取最新版本的<em>x264</em>并编译安装,我们在这里通过git命令获取:   cd~/ git clone git://git.videolan.org/<em>x264</em>.git     开始编译并安装 cd<em>x264</em> ./configure –enable-shared make sudo checkinstall –f
ffmpeg 向H.264编码的视频中添加 SEI
SEI NALU数据格式 NALU 类型 1 字节 0x06 SEI 负载类型 1 字节 0x05 (用户自定义数据) 负载大小(uuid+自定义数据),如果大小 size 大于 255,前 int(size / 255) 个字节都是 FF,最后一个字节是剩余部分 负载的唯一标志 uuid 16 字节 自定义数据 完成 NALU 数据<em>编码</em>           替换 00 0...
FFmpeg XAVC实现/XAVC编码标准调研 (1)
背景     XAVC是索尼与2012年10月30日发布的一种视频记录<em>编码</em>配置,但是理解XAVC并不是一种新的<em>编码</em>标准,它完全遵循于H.264/MPEG-4 AVC<em>编码</em>标准,在其基础上限制和规范了<em>编码</em>的配置,使其能够更好的适应于手持摄像设备、广播电视领域。     从CCTV发布的《中央广播电视总台4K超高清电视节目制播技术规范(暂行)》,XAVC-I Intra Class 300/480将...
centos 7下 带264编码ffmpeg安装
1, 到http://www.videolan.org/developers/<em>x264</em>.html下载264<em>编码</em>库last_<em>x264</em>.tar.bz2tar -xjf last_<em>x264</em>.tar.bz2 cd <em>x264</em>-snapshot-20180520-2245/./configure --prefix=/usr/local/<em>x264</em> --enable-shared --enable-static ...
V4L2视频采集与H264编码3—X264移植
    计划将YUV数据<em>编码</em>成H264视频,中间需要用到X264<em>编码</em>器。X264<em>编码</em>器的源码分析参考了雷神的博客x64源码分析 ,这里将介绍如何将<em>x264</em><em>编码</em>库移植到ARM开发板上。最新的<em>x264</em>代码可以在<em>x264</em>源码下载地址 下载,如果是在linux环境下,可以使用下面命令直接克隆一份代码# git clone http://git.videolan.org/git/<em>x264</em>.git    如果...
使用ffmpeg进行H264编码如何不包含B帧
使用<em>ffmpeg</em>进行264<em>编码</em>时,得到的文件如下: <em>编码</em>后包含B帧 考虑到后续是需要直播的,所以不希望有B帧,应该怎么处理呢? 分析代码发现: AVCodecContext *pCodecCtx = NULL; ... pCodecCtx-&amp;gt;<em>max_b_frames</em> = 1; pCodecCtx-&amp;g...
主流开源编解码器Xvid,x264,ffmpeg 性能对比(转)
Xvid是基于MPEG4协议的编解码器,<em>x264</em>是基于H.264协议的<em>编码</em>器,<em>ffmpeg</em>集合了各种音频,视频编解码协议,通过<em>设置</em>参数可以完成基于MPEG4,H.264等协议的编解码,现在将其对比结果罗列如下: 1.软件版本:         Xvid:1.2.1         <em>x264</em>:无         <em>ffmpeg</em>:0.5 2. 视频样本 foreman.ci
h264和x264的区别
H.264: H.264是ITU(International Telecommunication Unite 国际通信联盟)和MPEG(Motion Picture Experts Group 运动图像专家组)联合制定的视频<em>编码</em>标准。 在ITU的标准里称为H.264,在MPEG的标准里是MPEG-4的一个组成部分——MPEG-4 Part 10,又叫Advanced Video Codec,因
笔记:FFMPEG 中的几个不同的 time_base
1、AVCodecContext 中的 time_base 2、AVStream 中的 time_base 3、AVCodecContext 中的 pkt_timebase 具体含义待解。 经验之谈: 一、第 2 个和第 3 个time_base值相同,与第 1 个 time_base 值不相同。 二、应用FFMPEG进行<em>编码</em>、解码过程中,如果要获取正确的PTS,应使用
ffmpeg关于timebase的理解
<em>ffmpeg</em>关于timebase的理解 一:<em>ffmpeg</em>的分层结构 写这篇文章的时候先把<em>ffmpeg</em>分层问题大致说明一下,我们按照最常见的  "转码程序" 和 "摄像头采集" 以及 "播放器" 三个模型总结。 1:转码 转码基本流程:flv格式数据h264/aac数据yuv/pcm数据h264/aac数据mp4格式数据。 a:我们把flv格式数据或者m
X264编码2 实时编码(USB摄像头)
    上一篇我们介绍了X264的<em>编码</em>,但是只能对本地文件<em>编码</em>,这里讨论怎么实时的读取摄像头文件并<em>编码</em>。    利用opencv实时读取摄像头,可以参考博客:点击打开链接。这里不做过多介绍。    至于<em>编码</em>流程,和上篇一样,没有改变。我们了解下X264<em>编码</em>器怎么直接读取摄像头的一帧图像就行。    opencv打开摄像头时,一帧一帧的播放,每一帧都由frame指定:capture &amp;gt;&amp;gt;...
jquery/js实现一个网页同时调用多个倒计时(最新的)
jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js //js2 var plugJs={     stamp:0,     tid:1,     stampnow:Date.parse(new Date())/1000,//统一开始时间戳     ...
学习英语的好工具--英语谚语词典下载
英语谚语词典 作者:王福祯 以下内容由书生网(du8.cn)提供 英语谚语词典 王福祯 1.时间?机会 1. Time flies. 光阴似箭。   时光易逝。    2. Time is money.   时间就是金钱。   一寸光阴一寸金。    3. Time and tide wait for no man. 岁月无情。   时不待人。 相关下载链接:[url=//download.csdn.net/download/roseof/2129895?utm_source=bbsseo]//download.csdn.net/download/roseof/2129895?utm_source=bbsseo[/url]
protues第三方元件库下载
protues的第三方元件库,蛮有用,很全面,有libary,model 相关下载链接:[url=//download.csdn.net/download/xie294777315/2467988?utm_source=bbsseo]//download.csdn.net/download/xie294777315/2467988?utm_source=bbsseo[/url]
基于FPS00 和DSP指纹采集系统设计下载
基于FPS00传感器和DSP处理器的指纹采集系统设计,包含采集的初始化,采集的流程 相关下载链接:[url=//download.csdn.net/download/youfang860220/2497088?utm_source=bbsseo]//download.csdn.net/download/youfang860220/2497088?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链解决方案 物联网解决方案培训
我们是很有底线的