
FFmpeg
文章平均质量分 62
小白眼里的FFmpeg
Super小白&
奋斗的小白
展开
-
16 - FFmpeg 视频过滤器 方式2
这里 overlay 的参数 0:H/2 表示将 [flip] 流放置在原始视频的下半部分,0 是 x 轴的偏移量,H/2 是 y 轴的偏移量,表示将翻转后的流叠加在原始流的下方。* [main][flip]overlay=0:H/2:将 [main] 流(未裁剪的原始视频)和 [flip] 流(翻转后的一半视频)叠加。* split[main][tmp]:这个滤镜将输入视频流分成两个相同的流,分别标记为 [main] 和 [tmp]。代码等效密令【测试用】原创 2024-08-28 17:20:01 · 664 阅读 · 0 评论 -
15 - FFmpeg 音频混音(过滤器)
dropout_transition=3 则是指定在音频丢失时的过渡时间(单位为秒)。这里设置为3秒,表示在一个音频渐渐退场时,会持续这样的过渡时间。* -filter_complex:这个参数表示使用一个复杂的过滤器。* longest 表示混合的持续时间将取两个音频文件中较长的那个。* complex 表示我们将要应用一个比简单过滤器更复杂的操作。* dropout_transition=3:这是一个过渡参数。* amix 是一个用于音频混合的过滤器。封装一个AudioMIxer。原创 2024-08-27 13:48:59 · 1141 阅读 · 0 评论 -
14 - FFmpeg 过滤器 [视频]
对于 tmp 流,先经过 crop 滤波器进行裁剪处理,再经过 flip 滤波器进行垂直方向上的翻转操作,输出的结果命名为 flip 流。这个例子的处理流程如上所示,首先使用 split 滤波器将 input 流分成两路流(main和tmp),然后分别对两路流进行处理。上图的 input 就是上面提过的 buffer 源滤波器 output 就是上面的提过的 buffersink 滤波器。再将 main 流和 flip 流输入到 overlay 滤波器进行合成操作。原创 2024-08-20 14:53:10 · 505 阅读 · 0 评论 -
13 - FFmpeg 封装 MP4
AV_SAMPLE_FMT_S16格式的PCM数据是两个声道交替存储,每个样点占用2个字节,而FFmpeg的AAC编码器需要PCM数据以平面存储格式(AV_SAMPLE_FMT_FLTP)提供,其中样点为float类型,且每个声道单独存储。这种格式转换(重采样)是为了适应编码器的输入要求,确保音频数据能够被正确编码成AAC格式。例如,有些声音设备只能播放特定采样率和采样格式的音频数据,如果音频数据的格式与设备要求不匹配,就需要进行重采样以适应设备的播放要求。原创 2024-08-16 15:39:20 · 861 阅读 · 0 评论 -
12 - FFmpeg 编码 H264
--------------------------- 视频编码 -------------------------------------------------------- 编码流程 ----------------------------1、查找编码器 --- avcodec_find_encoder_by_name。5、读取yuv数据 --- av_image_get_buffer_size。3、设置编码参数 --- avcode_open2。-b:v 指定视频平均码率。-bf 指定B帧数目。原创 2024-07-30 10:32:05 · 693 阅读 · 0 评论 -
11 - FFmpeg - 编码 AAC
其中AAC解码输出的数据为浮点型的 AV_SAMPLE_FMT_FLTP 格式,MP3 解码输出的数据为 AV_SAMPLE_FMT_S16P 格式(使用的mp3文件为16位深)。具体采样格式可以査看解码后的 AVframe 中的 format 成员或解码器的AVCodecContext中的sample_fmt成员。Planar 模式是 ffmpeg内部存储模式,我们实际使用的音频文件都是Packed模式的。编码器通常的冲洗方法:调用一次 avcodec_send_frame(NULL)(返回成功),原创 2024-07-22 17:18:06 · 508 阅读 · 1 评论 -
10 - FFmpeg - 重采样 - SoftwareResampleExample
常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。2)帧率(Frame rate):是用于测量显示帧数的量度。左声道的数据存储在data[0],右声道的数据存储在data[1],每个声道的所占用的字节数为linesize[0]和linesize[1];如果该音频帧是FLTP格式的PCM数据,包含1024个样本,双声道,那么该音频帧包含的音频数据量是2*1024*4=8192字节。原创 2024-07-18 13:20:38 · 1000 阅读 · 0 评论 -
09 - AVIO - 最简单的自定义IO - [aac提取pcm]
在自定义协议的时候,提取连续的媒体数据原创 2024-07-15 16:42:13 · 150 阅读 · 0 评论 -
08 - FFmpeg - 解封装 - 提取 h264 + AAC
【代码】08 - FFmpeg - 解封装 - 提取 h264 + AAC。原创 2024-07-12 15:23:17 · 411 阅读 · 0 评论 -
07 - FFmpeg 更改视频分辨率 - 保存 yuv420p
--------------------------------------------------------------- 更改视频格式流程 ----------------------------------------------------------------4、av_image_get_buffer_size -- 共创建多少字节的空间。解码后的数据存储在data[0]、data[1]、data[2]中,3、av_frame_alloc -- 图像转换后的数据需要存储起来。原创 2024-07-11 16:40:12 · 827 阅读 · 0 评论 -
06 - FFmpeg 提取 YUV420P 视频裸数据
YUV422:一张4x4像素的YUV422图像大小为4x4x2=32字节,Y分量为全采样,即 4x4=16字节,U分量和V分量只有Y分量的一半,即U分量为4x4/2=8字节,V分量也是4x4/2=8字节。YUV420:一张4x4像素的YUV420图像大小为4x4x(3/2)=24字节,Y分量为全采样,即4x4=16字节,U分量和V分量只有Y分量的四分之一,即U分量和V分量的大小4x4/4=4字节。· 把亮度和色度分离,没有色度信息仍能显示完整的图像,只不过是黑白的,解决彩色电视跟黑白电视的兼容问题。原创 2024-07-11 16:18:32 · 1064 阅读 · 0 评论 -
05 - FFmpeg 提取 PCM 音频裸数据
---------------------------------------------------------------- PCM计算 -----------------------------------------------------------------人耳能接受的频率范围为20Hz~20kHz,故采样率一般为44.1KHz较好,采样率越高,质量越高,但存储空间增大。· 大小计算:以CD的音质为例:量化格式为16比特(2字节),采样率为44100,声道数为2。原创 2024-07-11 13:37:53 · 710 阅读 · 0 评论 -
04 - FFmpeg 提取 H264 数据 -- Annexb
---------------------------------------------------------------- H.264 帧的分类 -----------------------------------------------------------------其核心作用是,是为了解码的重同步,当解码器解码到 IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。原创 2024-07-05 14:32:53 · 751 阅读 · 0 评论 -
03 - FFmpeg 提取 AAC 数据
FFmpeg 提取 AAC 数据原创 2024-07-04 14:40:20 · 1179 阅读 · 0 评论 -
02 - FFmpeg 查看媒体文件信息
FFmpeg 查看媒体文件信息原创 2024-07-03 17:10:19 · 685 阅读 · 0 评论 -
01 - FFmpeg 内存模型
FFmpeg -- AVPacket 与 AVFrame原创 2024-07-02 14:40:08 · 790 阅读 · 0 评论