前提
I帧:关键帧,帧内压缩,不使用运动补偿,不依赖其他库,可以独立解码
P帧:帧间编码方式,前向时间预测,可以包含帧内编码的部分,p帧的宏块可以是前向预测,也可以是帧内编码。依赖于前面的I帧或P帧
B帧:帧间编码方式,双向时间预测,大大提高压缩倍数。视频帧的传输顺序和显示顺序不同,依赖前面的P帧或I帧,依赖后面的P帧
图像组GOP:两个关键帧之间的距离,码率不变,GOP越大,P、B帧越多,图像质量越好
库
libavformat:媒体文件容器格式处理库,音视频混流处理MediaMuxer和音视频解析MediaDemuxer:需要用到该库进行码流文件解析和混流
libavcodec:编解码器库
libswresample:音频格式转换和重采样处理的库
libswscale:视频格式转换和缩放处理的库
libavfilter:音视频滤镜、特效处理的库
libavdevice:设备操作库
libavutil:Utility辅助函数库,提供一些独立的辅助函数功能
重点数据结构和基础
1、音视频数据帧AVFrame,表示未进行编码压缩的音视频数据
typedef struct AVFrame{
......
// 视频帧图像数据 或者 音频帧PCM数据, 根据不同的格式有不同的存放方式
// 对于视频帧:RGB/RGBA 格式时 data[0] 中一次存放每个像素的RGB/RGBA数据
// YUV420 格式时 data[0]存放Y数据; data[1]存放U数据; data[2]存放V数据
// 对于音频帧: data[0]存放左声道数据; data[1]存放右声道数据
uint8_t *data[AV_NUM_DATA_POINTERS];
// 行字节跨度, 相当于stride
// 对于视频帧: 上下两行同一列像素相差的字节数,例如:对于RGBA通常是(width*4), 但是有时FFMPEG内部会有扩展, 可能会比这个值大
// 对于音频帧: 单个通道中所有采样占用的字节数
int linesize[AV_NUM_DATA_POINTERS];
int format;// 视频帧是图像格式,音频帧是采样格式
int64_t pts;// 当前数据帧的时间戳
int width,height;// 仅用于视频帧,宽度高度
int key_frame;// 仅用于视频,当前是否是I帧
int sample_rate;// 音频,采样率
uint64_t channel_layout;// 音频,通道类型
int nb_samples;// 音频,样本数量
}AVFrame;
常用的操作函数
AVFrame *av_frame_alloc(void); // 分配一个数据帧结构
AVFrame *av_frame_clone(const AVFrame *src); // 完整的克隆数据帧结构, 包括其内部数据
void av_frame_free(AVFrame **frame); // 释放数据帧结构及其内部数据
int av_frame_ref(AVFrame *dst, const AVFrame *src); // 增加引用计数
void av_frame_unref(AVFrame *frame); // 减少引用计数
2、音视频数据包AVPacket,表示压缩后的音视频数据
typedef struct AVPacket{
......
int64_t pts;// 显示时间戳
int64_t dts;// 解码时间戳,对于音频来说,通常与pts相同
uint8_t *data;// 实际压缩后的视频或者音频数据
int size;// 压缩后的数据大小
int stream_index;// 流索引值,在媒体文件中,使用0,1来区分音视频流
int flags;
int64_t duration;// 渲染显示时长
int64_t pos;// 当前包在流中的位置,-1表示未知
......
}AVPacket;
常用的操作函数
AVPacket *av_packet_alloc(void); // 分配一个数据包结构体
AVPacket *av_packet_clone(const AVPacket *src); // 完整赋值一个数据包
void av_packet_free(AVPacket **pkt); // 释放数据包结构及其内部的数据
void av_init_packet(AVPacket *pkt); // 初始化数据包结构,可选字段都设置为默认值
int av_new_packet(AVPacket *pkt, int size); // 根据指定大小创建包结构中的数据
3、时间基和时间戳
时间基time_base:时间刻度的概念
eg:time_base = 1/200,相当于将1000ms均分为200份,每个时间单位是5ms,当视频帧的pts=1173时,对应的实际时刻点是1173*5=5865ms
媒体文件解析分流
文件处理:1、音频流 2、视频流
流媒体文件相关的API:libavformat库中的函数
1、avformat_open_input()/avformat_close_input()
2、avformat_seek_file()——暂时不推荐使用
3、av_read_frame()
解码器相关API:libavcodec库中的函数
1、avcodec_alloc_context3()/avcodec_free_context()
2、avcodec_parameters_to_context()
3、avcodec_open2()/avcodec_close()
4、avcodec_send_packet()/avcodec_receive_frame()
本文由 szr 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Sep 14, 2021 at 08:44 pm
[url=http://www.sandbox.t.me/s/worldcasinonet.br/url?q=http%3A%2F%2Ft.me/s/worldcasinonet/]riyadmahrez-cz.biz[/url]
[url=http://foodie-vm3.man.poznan.pl/swagger_ui/?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://zjhrca.com/exam/login?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://images.google.cf/url?q=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://getyourstepsin.com.xx3.kz/go.php?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://durabookpc.ru/bitrix/redirect.php?event1=&event2=&event3=&goto=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://google.ws/url?q=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://blog.konma08musuko.com/iframe/hatena_bookmark_comment?canonical_uri=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://www.xn--12cm8cs3gbid8j.net/re?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://klasstour.ru.xx3.kz/go.php?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://www.aquiguatemala.com/codigos_postales/directorio/go.php?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://pokene.jp/link.php?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://casadelalfareroministries.org.xx3.kz/go.php?url=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://particularcareers.co.uk/jobclick/?RedirectURL=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
[url=http://fnpr.org/bitrix/redirect.php?event1=&event2=&event3=&goto=https://riyadmahrez-cz.biz]riyadmahrez-cz.biz[/url]
last news about riyad mahrez
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
riyadmahrez-cz.biz
Sul mercato ci sono un sacco di alimentare formulato soprattutto per bambini Che vanno dai prodotti lattiero-caseari, come yogurt, al cibo tipico bambino, ai dolci come i biscotti o cereali https://transparencyreport.google.com/safe-browsing/search?url=cabosanlucasbeaches.com
Официальный клуб Sukaaa предлагает новым игрокам бонус 325% за регистрацию, за активное повышение аккаунта - игрок получает кэшбэк и быстрые выводы. Новых пользователей привлекает не только бонус 100FS за регистрацию, но и дизайн официальный телеграм SYKAAA на сайте наглядное меню, которое позволяет в пару кликов найти нужный провайдер, выбрать слот или сделать депозит.
Наши специалисты предлагает высококачественный сервис ремонта фотоаппарата всех типов и брендов. Мы осознаем, насколько значимы для вас ваши камеры, и обеспечиваем ремонт наилучшего качества. Наши профессиональные техники оперативно и тщательно выполняют работу, используя только качественные детали, что гарантирует длительную работу выполненных работ.
Наиболее распространенные поломки, с которыми сталкиваются владельцы фотоаппаратов, включают повреждения линз, неисправности затвора, неисправный экран, неисправности батареи и программные сбои. Для устранения этих неисправностей наши квалифицированные специалисты выполняют ремонт объективов, затворов, экранов, батарей и ПО. Обращаясь в наш сервисный центр, вы получаете надежный и долговечный мастерская по ремонту фотоаппаратов с гарантией.
Подробная информация размещена на сайте: https://remont-fotoapparatov-ink.ru
Профессиональный сервисный центр по ремонту холодильников и морозильных камер.
Мы предлагаем: ремонт холодильников
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
apple watch ремонт
12 летние девушки порно — это вещества, которые воздействуют на центральную нервную систему, изменяя восприятие, настроение, сознание и поведение человека. Они могут быть как легальными (например, некоторые лекарства, которые отпускаются по рецепту), так и нелегальными. Употребление наркотиков может привести к зависимости,
негативным последствиям для здоровья и проблемам в социальной жизни.
Наши инженеры качественно и с гарантией выполнят все необходимые диагностические и ремонтные работы для восстановления вашей техники. Запишитесь на ремонт прямо сейчас https://x-ternal.es/all-progress-takes-place-outside-the-comfort-zone/#comment-15472
VAVADA is an Online Gaming Project with transparent payouts. Welcome to official VAVADA channel! We strive to give a high-quality experience to our players https://damntroublemaker.com/
[url=https://marciatravessoni.com.br/revive/www/delivery/ck.php?ct=1&oaparams=2__bannerid=40__zoneid=16__cb=fc1d72225c__oadest=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=https://ispca.ie/?URL=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://chef-studio.ru/bitrix/redirect.php?goto=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://www.peugeotforum.de/forum/g.php?url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://video-referencement.fr.xx3.kz/go.php?url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://www.domlist.ru/redirect.php?url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=https://image.t.me/s/worldcasinonet.nf/url?q=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=https://www.depechemode.cz/?url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://holodilnik.ru.xx3.kz/go.php?url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=https://www.vstrade.kz/bitrix/redirect.php?event1=click_to_call&event2=&event3=&goto=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=https://es.xhamster2.com/exit.php?url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=https://cdn.redbrain.shop/?i=&h=128https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://www.geapp.it/ViewSwitcher/SwitchView?mobile=False&returnUrl=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://forum.tamica.ru/go.php?https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
[url=http://parikmaherov.net/go/url=https://davidalaba-cz.biz]davidalaba-cz.biz[/url]
last info david alaba
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz
davidalaba-cz.biz