FFmpeg
keep study
这个作者很懒,什么都没留下…
展开
-
理解ffmpeg中的pts,dts,time_base
首先介绍下概念:PTS:Presentation Time Stamp。PTS主要用于度量解码后的视频帧什么时候被显示出来DTS:Decode Time Stamp。DTS主要是标识读入内存中的bit流在什么时候开始送入解码器中进行解码也就是pts反映帧什么时候开始显示,dts反映数据流什么时候开始解码怎么理解这里的“什么时候”呢?如果有某一帧,假设它是第10秒开始显示。那么它的pts是多少呢。是10?还是10s?还是两者都不是。为了回答这个问题,先引入FFmpeg中时间基的概念,也就是time_原创 2022-03-15 13:41:35 · 5031 阅读 · 1 评论 -
H264 概念
原创 2022-03-15 13:33:20 · 108 阅读 · 0 评论 -
ffmpeg-4.3 H264编码流程
基于ffmpeg-4.3版本的编码流程,参考了 doc/examples/encode_video.c 的流程avcodec_find_encoder_by_name :通过名称获取编码器avcodec_alloc_context3 : 申请一个编码器av_packet_alloc:申请一个AVPacketavcodec_open2:打开编码器av_frame_alloc:申请一个AVFrameencode(AVCodecContext *enc_ctx, AVFrame *frame, AV原创 2022-01-25 16:47:07 · 1835 阅读 · 0 评论 -
2020-11-23
FFmpeg中的sws_scale()函数主要是用来做视频像素格式和分辨率的转换,其优势在于:可以在同一个函数里实现:1.图像色彩空间转换, 2:分辨率缩放,3:前后图像滤波处理。不足之处在于:效率相对较低,不如libyuv或shader,其关联的函数主要有:1.sws_getContext():struct SwsContext *sws_getContext( int srcW, /* 输入图像的宽度 */ int srcH, /* 输...原创 2020-11-23 15:14:04 · 186 阅读 · 0 评论