自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 基于新版FFmpeg(FFmpeg 6.1)的音视频转码

FFmpeg库常用函数介绍(一)-CSDN博客FFmpeg库常用函数介绍(二)-CSDN博客FFmpeg库常用函数介绍(三)-CSDN博客。

2024-02-01 20:33:58 872 1

原创 FFmpeg库常用函数介绍(三)

作用:将二进制数据作为值设置给对象。obj:要设置选项的对象;name:选项名称;val:要设置的值;size:值的大小;search_flags:搜索选项的方式。例如,AV_OPT_SEARCH_CHILDREN指的是首先搜索给定对象的子对象。返回值:负值表示失败。

2024-01-14 17:10:17 1083 1

原创 FFmpeg库常用函数介绍(二)

作用:获取过滤后的数据。ctx:初始化后的AVBSFContext;pkt:用于填充过滤后数据的AVPacket,AVPacket必须是新分配的;返回值:0表示成功;AVERROR(EAGAIN)表示需要多次调用,因为一个输入packet可能获得多个输出packet,多个输入packet也可能导致一个输出packet;AVERROR_EOF表示到达了数据流的末尾或者文件的末尾,不再有来自过滤器的输出;其他负值表示失败。

2024-01-14 17:00:13 1001 1

原创 基于新版FFmpeg(FFmpeg 6.1)的音视频复用(不涉及编解码)

这篇文章介绍的是基于新版FFmpeg(FFmpeg 6.1)的音视频复用器的实现,可以实现音频和视频文件复用为一个视频文件,具体功能如下表所示。输入视频文件输入音频文件输出视频文件input.h264input.aacoutput.mp4 (avi、mkv、wmv等)input.h264input.mp3input.mp4input.mp3input.mp4input.aacinput.mp4input.mp4…等等…

2024-01-08 18:26:35 1397

原创 基于新版FFmpeg(FFmpeg 6.1)的音视频分离(不涉及编解码)

需要注意的是,代码中输出音视频的码流格式需要自己控制,需要确定原视频中音视频码流的具体格式,根据源码流格式对输出码流的格式进行对应修改。例如,输入视频是.mp4,里面包含.h264的视频码流和.aac的音频码流,则代码中输出文件名的后缀就需要是.h264和.aac。一些解码器可能不支持avcC的h264码流,则需要将avcC码流转换为annexB码流,只需要将宏定义H264_AnnexB的值由0改为1即可。例如,输入一个.mp4的视频文件,可以输出一个.h264的视频码流和一个.aac的音频码流。

2024-01-03 20:03:24 867 1

原创 基于新版FFmpeg(FFmpeg 6.1)的视频转封装(无转码过程)

具体转换码流流程是,首先获取比特流过滤器,然后创建AVBSFContext,然后拷贝编解码器参数,然后初始化AVBSFContext,然后将数据送入过滤器,如果av_bsf_send_packet返回值为AVERROR(EAGAIN),则说明单个packet不足以完成过滤,需要继续送入数据,则执行continue。否则获取过滤后的数据,如果到达文件尾,则退出循环。然后循环的读取音视频帧,如果到达文件尾,则退出循环,然后写入文件尾,整个转换过程结束。如果没有到达文件尾,则对时间戳进行转换。

2023-12-31 14:07:47 488

原创 FFmpeg库常用函数介绍(一)

作用:打开媒体文件并获取媒体文件信息,可以是本地文件,也可以时网络流。ps:输入文件的AVFormatContext,会将获取的信息填充进去;url:流地址,可以是本地文件、RTMP、RTP协议流地址;fmt:一般为NULL,表示自动检测流格式,否则会使用提供的值作为流格式;options:一般为NULL;返回值:0表示成功,负值表示失败。注意:需要调用avformat_close_input关闭AVFormatContext。

2023-12-31 13:11:39 1176

原创 H.264码流格式分析

H.264是一种编码方式,H.264裸流(编码后的数据)是由一个个NALU组成。H.264分为VCL(Video Coding Layer)和NAL(Network Abstract Layer)两个部分。VCL简单来说就是对数据进行编码,NAL简单来说就是对编码后的数据进行打包。接下来简单介绍一下NALU的形成。在H.264编码过程中,一帧图像会被分为一个或多个片(Slice),一个片可以被分为多个宏块,而一个宏块又可以被分为多个子块。一个编码后的Slice就是一个NALU。

2023-12-30 17:35:38 1323

原创 AAC码流解析

音视频、AAC

2023-12-19 22:16:08 1068 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除