Posts List

x264低延时编码

本文分析下x264做视频编码时的低延时配置 低延时配置与参数说明 x264的zerolatency配置代码: else if( !strncasecmp( s, "zerolatency", 11 ) ) { param->rc.i_lookahead = 0; param->i_sync_lookahead = 0; param->i_bframe = 0; param->b_sliced_threads = 1; param->b_vfr_input = 0; param->rc.b_mb_tree = 0; } i_lookahead 该参数为mb-tree码率控制和vbv-lookahead设置可用的帧数量,最 ...

FLV结构分析

FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用。目前流行的rtmp推流直播,格式都是flv,而且基于http-flv形式来拉流,直播的实时性也很高。 格式 FLV ...

FFmpeg像素格式分析

针对视频操作(如实时美颜)的时候,就会遇到处理视频的每一帧图像,图像内容在内存中存放的形式也就是像素格式。 YUV格式介绍 YUV格式有两大类:planar 和 packed 对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随 ...

FFmpeg时间戳整理

使用FFmpeg库进行音视频处理时,经常需要处理视频时间、编解码的dts/pts时间戳,时间的准确处理对音视频处理至关重要。 time_base 时间基(time_base)是FFmpeg中作为时间单位的概念。不同的音视频封装格式,可以使用不同的time_ba ...

FFmpeg滤镜学习

FFmpeg中的libavfilter提供了一整套的基于filter的机制,filter本身是一个插件的形式,可以快速的组装需要的效果。filter可以翻译成过滤器,滤镜,可用于检查输入或者输出,按照预定的规则处理并传递这些数据,将输入数据 ...

FFmpeg命令使用

本文整理一些常用的ffmpeg的命令。 ffmpeg命令格式 语法 ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... 参数说明 主要参数: -i 设定输入流 -f 设定输出格式 -ss 开始时间 -c 指定编解码器 视频参数: -b 设定视频的音视频码率(-b:v和-b:a),默认为200Kbit/s -r 设定帧速率 ...

视频编解码的层次

视频编解码按照处理数据类型的不同,可以分成几个层次: 协议层(Protocol Layer):该层处理的数据为符合特定流媒体协议规范的数据,例如http,rtmp,file等。 封装层(Format Layer):该层处理的数据为符合特定封装格式规 ...

avformat_open_input阻塞操作中断的支持

avformat_open_input默认是阻塞操作,如果不加控制,等待时间可能会达到30s以上,对于有些情况,等待30s的体验是无法接受的。 ffmpeg支持interrupt_callback机制,可以对输入(或输出)的AVFormatC ...

CentOS上编译FFmpeg动态库

如果基于ffmpeg库来做音视频开发,常常需要自己编译ffmpeg,本文整理了下编译动态库模式的,官方参考文档:https://trac.ffmpeg.org/wiki/CompilationGuide/Centos,不过官方默认是静态编译 ...

H.264 视频编码简介

H.264(MPEG-4 Part 10, Advanced Video Coding,缩写为MPEG-4 AVC)是一种面向块的基于运动补偿的视频编码标准。到2014年,它已经成为高精度视频录制、压缩和发布的最常用格式之一。第一版标准的最终草案于2003年5月完成。 H.264/AV ...