摘要: 现在OC开发中,链表用的越来越少,原因就是使用链表这种数据结构,去查询链表中的数据的时候,太过耗时。其实是否使用链表,需要具体分析。当需要用空间去换取时间的时候,适合使用数组这种数据结构。而当使用时间去换取空间的时候,比较适合使用链表去存储数据。 阅读全文
posted @ 2017-08-18 17:10 木子沉雨 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 本文的主要内容: 使用H.264编码对YUV视频进行压缩。如果是命令行的操作,非常简单。 ffmpeg -s 640x480 -pix_fmt yuv420p -i in.yuv -c:v libx264 out.h264 # -c:v libx264是指定使用libx264作为编码器 接下来主要讲 阅读全文
posted @ 2021-11-24 16:22 木子沉雨 阅读(173) 评论(0) 推荐(0) 编辑
摘要: QT编译报错error: missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS 截图如下所示: 解决方案:在该类的.h文件中声明: #define __STDC_CONSTANT_MACROS 阅读全文
posted @ 2021-11-24 15:38 木子沉雨 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍一种非常流行的视频编码: H.264 计算一下: 10秒钟1080P(1920*1080)、30fps的YUV420P原始视频,需要占用多大的存储空间? (10*30) * (1920 * 1080) * 1.5 = 933120000 换算成MB的话,大概890MB 可以看得出来,原始 阅读全文
posted @ 2021-11-22 19:46 木子沉雨 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 使用SDL显示YUV数据 宏定义 extern "C" { #include <libavutil/imgutils.h> } #define RET(judge, func) \ if (judge) { \ qDebug() << #func << "error" << SDL_GetError 阅读全文
posted @ 2021-11-19 15:53 木子沉雨 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 简介 YUV,是一种颜色编码方法,跟RGB是同一个级别的概念,广泛应用于多媒体领域中。也就是说,图像中每一个像素的颜色信息,除了可以用RGB的方式表示,也可以用YUV的方式表示。 与RGB的对比 体积更小 如果使用RGB 比如RGB888 (R、G、B每个分量都是8bit) 1个像素占用24bit( 阅读全文
posted @ 2021-11-13 16:22 木子沉雨 阅读(120) 评论(0) 推荐(0) 编辑
摘要: MAC端录制视频 命令行录制 avfoundation支持的设备 ffmpeg -f avfoundation -list_devices true -i ' ' 输出结果大致如下所示: [AVFoundation indev @ 0x7fd2d1804400] AVFoundation video 阅读全文
posted @ 2021-11-11 20:39 木子沉雨 阅读(162) 评论(0) 推荐(0) 编辑
摘要: AAC编码 AAC(Advanced Audio Coding, 译为: 高级音频编码),是由Fraunhofer IIS、杜比实验室、AT&T、Sony、Nokia等公司共同开发的有损音频编码和文件格式。 对比MP3 AAC被设计为MP3格式的后继产品,通常在相同的比特率下可以获得比MP3更高的声 阅读全文
posted @ 2021-11-09 16:39 木子沉雨 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 前引 我们之前录制的PCM音频,是无法被播放器播放的,因为播放器并不知道PCM的采样率、声道数、位深度等参数。当PCM转成某种特定的音频文件后(比如转成WAV),就能被播放器识别播放了。 WAV文件格式 在进行PCM转WAV之前,先来认识一下WAV的文件格式。 WAV、AVI文件都是基于RIFF标准 阅读全文
posted @ 2021-11-05 17:28 木子沉雨 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 使用命令行播放-ffplay 可以使用ffplay播放我们在上面博客中录制好的PCm文件,测试一下是否录制成功。播放PCM需要指定相关参数: ar: 采样率 ac: 声道数 f: 采样格式 s16le: PCM signed 16-bit little-endian 更多PCM的采样格式可以使用命令 阅读全文
posted @ 2021-11-01 15:57 木子沉雨 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 通过代码录音 权限申请 在Mac平台,有两个注意点: - 需要在Info.plist中添加麦克风的使用说明,申请麦克风的使用权限 - 使用Debug模式运行程序 上面两点非常重要,两个都会导致闪退文件目录配置如下: pro文件配置如下: macx { FFMPEG_HOME = /usr/local 阅读全文
posted @ 2021-10-29 20:23 木子沉雨 阅读(145) 评论(0) 推荐(0) 编辑