为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第25天 YUV 实战

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:视频基础知识 课程讲师:李超 课程内容 1.生成 YUV 通过 ffmpeg 命令将 .mp4 文件转换成 .yuv 文件,命令如下: ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv 其中: -i 输入文件 -an a表示音频,n关闭,关闭音频 -c:v rawvideo 使用 rawvideo 对音频处理 -pix_fmt: 像素格式 out.yuv 输出文件 2.播放 YUV 播放 yuv 文件命令,其中 -vf 为video filter视频滤波

948浏览
0推荐
0评论

【金秋打卡】第24天 YUV的常见数据采集格式和存储格式

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:视频基础知识 课程讲师:李超 课程内容 1.什么是 YUV YUV(也称 YCbCr),是一种颜色编码,其中Y表示明亮度,U和V表示的则是色度,作用是描述影像色彩及饱和度。 “色度”定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。 与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽

678浏览
0推荐
0评论

【金秋打卡】第23天 码流的计算

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:视频基础知识 课程讲师:李超 课程内容 与码流计算相关有两个重要的概念:分辨率和帧率。常见的宽高比 16:9、4:3,对于其它宽高比的视频,需要先转换成16:9或者4:3,再去渲染。不是上述两种宽高比,在渲染的时候就容易出错。 分辨率 分辨率指的是X轴的像素个数(宽)乘以 Y轴的像素个数(高)。常见的分辨率有360P (640x360)、720P (1280x720)、1080P (1920x1080)、4K (3840x2160)、8K (7680x4320)等,这些分辨率宽

639浏览
0推荐
0评论

【金秋打卡】第22天 图像的基本概念

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:视频基础知识 课程讲师:李超 课程内容 1.像素 视频是由有一组图像组成,为了传输而被压缩,最终在显示设备上显示。图像是由像素组成,像素由RGB组成。像素是图像的基本单元,一个个像素就组成了图像。可以认为像素就是图像中的一个点。 2.分辨率 图像(或视频)的分辨率是指图像的大小或尺寸。我们一般用像素个数来表示图像的尺寸。比如说一张1920x1080的图像,1920指的是该图像的水平方向上有1920个像素点,1080指的是

619浏览
0推荐
0评论

【金秋打卡】第21天 AAC 编码器编码

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频编码 课程讲师:李超 课程内容 创建 AVFrame 查找编码器,分配上下文,设置上下文参数,打开编码器后。接下来就应该将数据输入编码器。 由于以下的原因,需要把 AVPacket 数据存进AVFrame当中。 ffmpeg 的 avformat_open_input() 是将多媒体文件打开。 avformat_open_input() 既可以打开文件,也可以打开设备。 avformat_open_input() 就是将所有的东西当做多媒体文件打开,所以通过 av_read_fram

417浏览
0推荐
0评论

【金秋打卡】第20天 创建 AAC 编码器

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频编码 课程讲师:李超 课程内容 ffmpeg编码的过程包括: 创建编码器; 创建上下文; 打开编码器; 送数据给编码器; 编码; 释放资源 ffmpeg 编码过程中重要的 API。 avcodec_find_encoder() #创建编码器 avcodec_alloc_context3() #创建上下文 avcodec_open2() #打开编码器 avcodec_send_frame() #将数据送给编码器 avcodec_receive_packet() #获取编码后的数据 从查找编码器,分配上下文,

444浏览
0推荐
0评论

【金秋打卡】第19天 什么是音频重采样

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频编码 课程讲师:李超 课程内容 1.什么是音频重采样 所谓音频重采样是指将音频三元组(采样率、采样大小/位深、通道数)的值转成另外一组值。只要更改一个参数就算是重采样了。 例如:将44100/16/2 转成 48000/16/2 2.为什么要重采样 从设备采集的音频数据与编码器要求的数据不一致时,需要通过重采样进行数据的适配。 扬声器要求的音频数据与要播放的音频数据不一致,也需要通过重采样进行数据的适配。

507浏览
0推荐
0评论

【金秋打卡】第18天 AAC的ADTS格式以及通过ffmpeg生成 AAC 数据

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频编码原理 课程讲师:李超 课程内容 1.AAC的ADTS格式 AAC的音频文件格式有ADIF和ADTS两种。 ADIF:Audio Data Interchange Format,音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。 ADTS:Audio Data Transport Stream。是AAC音频的传输流格式。这种格式的特征是它是一个有同步

511浏览
0推荐
0评论

【金秋打卡】第17天 AAC音频编码器介绍

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频编码原理 课程讲师:李超 课程内容 1.AAC 介绍 AAC是高级音频编码(Advanced Audio Coding)的缩写,出现于1997年,最初是基于MPEG-2的音频编码技术。由Fraunhofer IIS、Dolby Laboratories、AT&T、Sony等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。与MP3格式的比较:MP3的压缩率比较低,

526浏览
0推荐
0评论

【金秋打卡】第16天 几种常见音频编码器的比较

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频编码原理 课程讲师:李超 课程内容 1.常见的音频编码器 常见的音频编码器包括OPUS,AAC,Ogg,Speex,iLBC,AMR,G.711等。其中,AAC在直播系统中应用的比较广泛;OPUS是最新的音编码器,WebRTC默认使用OPUS;固话一般用的G.711。 OPUS:目前较新的音频编码器,WebRTC默认使用OPUS;延迟小,压缩率高。应用在在线教育,视频会议 AAC:在直播系统中应用比较广泛的编码器;(分软件和硬件)不适合实时性要求较高的场景 Ogg:

890浏览
0推荐
0评论

【金秋打卡】第15天 音频无损压缩技术

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频编码原理 课程讲师:李超 课程内容 1.无损编码 使用的熵编码进行无损编码,其基本原理是将用短的编码替代高频的词汇、句子,用长的句代表低频词。 熵编码常用的三种方法: 哈夫曼编码,主要是使用一串二进制数代替一串特别长的字符。特点是:频率越高的编码越少,频率越低的编码越长。 算术编码,即通过二进制小数进行编码。 香农编码,与哈夫曼编码类似,也是一种常见的可变字长编码。香农编码的步骤如下:(1)将信

341浏览
0推荐
0评论

【金秋打卡】第14天 音频有损压缩技术

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频编码原理 课程讲师:李超 课程内容 音频压缩技术的目标主要包含两方面: 将数据量压缩的越小越好; 压缩数据的速度越快越好。 在实际的开发中,两方面是相互矛盾的,所以需要在压缩的足够小且又压缩的足够快找到平衡。 音频压缩 音频压缩分为两种,其基本的方法都是消除冗余信息,在这里的冗余信息指的是:人的听觉范围以外的音频信息。 有损压缩,是指消除冗余信息后,无法还原出原声。 无损压缩,是指消除冗余

423浏览
0推荐
0评论

【金秋打卡】第13天 录制音频数据

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频采集 课程讲师:李超 课程内容 录制音频文件的操作步骤 录制音频文件要经历以下三个步骤: 1.创建文件 FILE *fopen(char *filename, *type); fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分,第二个形式参数表示打开文件的类型。文件类型包括以下内容。 "r" 打开文字文件只读 "w" 创建文字文件只写 "a" 增补, 如果文件不存在则创建一个 "r+" 打开一个文字文件读/写 "w+"

329浏览
0推荐
0评论

【金秋打卡】第12天 从音频设备中读取音频数据

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频采集 课程讲师:李超 课程内容 1. av_read_frame ffmpeg 中的 av_read_frame() 的作用是读取码流中的音频若干帧或者视频一帧。例如,解码视频的时候,每解码一个视频帧,需要先调用 av_read_frame()获得一帧视频的压缩数据,然后才能对该数据进行解码。这个函数接收两个参数: AVFormatContext *s   // 文件格式上下文,输入的AVFormatContext AVPacket *pkt   // 这个值不能传NULL,必须是一

346浏览
0推荐
0评论

【金秋打卡】第11天 Mac下打开音频设备

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频采集 课程讲师:李超 课程内容 ffmpeg采集音频的流程包括以下三个步骤: 打开输入设备 获取数据包 输出音频文件 在 mac 上采集音频的三个步骤: 注册设备 设置采集方式,其中 Mac下使用 AVFoundation,Linux 下使用 DShow,Windows下使用 Alsa。 打开音频设备 Mac下的示例代码 #注册设备 avdevice_register_all(); #打开音频设备的方式 const AVInputFormat *avInputFormat = av_find_in

367浏览
0推荐
0评论

【金秋打卡】第10天 Swift 调用 c 及MacApp 引入 ffmpeg 库

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频采集 课程讲师:李超 课程内容 1.Swift 调用 c 实现 Swift 调用 c 需要经过以下几个步骤: 编写 c 函数 在桥接头文件中引入c 的头文件 Swift 直接调用 c 函数 新建一个.c文件,在其中编写c代码,新建文件的方法和上一步中相同,不过需要选择C File而不是Objective-C File,创建好.c文件后,在文件里加入测试代码: #include <stdio.h> /** 从键盘输入一个整型数据并返回这个数 */ int

422浏览
0推荐
0评论

【金秋打卡】第9天 Swift语法及创建MacApp

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频采集 课程讲师:李超 课程内容 Swift 基本语法 1.常量和变量 Swift 中定义常量和变量不需要声明数据类型,编译器会根据后面数据的真实类型,自动推导。 每一条语句后面可以不写分号,写上分号也不会报错。如果一行有多条语句,那么每条语句后面必须写上分号。 常量用 let 修饰,定义之后值不能修改,变量用 var 修饰,定义之后值可以修改。 var a = 10 let a = 10; let b = 100.0 2.逻辑

421浏览
0推荐
0评论

【金秋打卡】第8天 通过命令行方式采集音频

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:【实战】音频采集 课程讲师:李超 课程内容 通过命令方式采集音频 在不同端采集音频使用不同的技术: Windows采集音频数据使用的是 dshow 技术。 Linux采集音频数据使用的是 alsa/oss 技术。 Mac采集音频数据使用的是 avfoundation 技术。 对应到不同端采集音频的 API 也不同: 在 Android端音频采样,底层会使用AudioRecorder,应用层会使用MediaRecoder。 在 iOS端音频采样,底层会使用AudioUnit,应用层

427浏览
0推荐
0评论

【金秋打卡】第7天 模数转换及音频的原始数据格式

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频基础知识 课程讲师:李超 课程内容 1.模数转换 声音是模拟信号,只有数字信号才能够被软件处理,所以需要进行声音的模数转换。 声音是模拟信号,对声音进行量化采样,得到数字信息。一般是每秒48k/44.1k/32k/16k/8k。 数字信息从10进制转换成二进制, 如0001001。 变为二进制方波图。 2.PCM 与 WAV PCM PCM(Pulse-code modulation 脉冲编码调制)是音频原始数据,是采样器(麦克风)电信号转化的数字信号,

528浏览
0推荐
0评论

【金秋打卡】第6天 声音是如何被听到的

课程名称:音视频基础+ffmpeg原理 入门音视频技术开发 课程章节:音频基础知识 课程讲师:李超 课程内容 声音是如何被听到的 声音被听到需要满足三个条件: 声音是由物体振动产生; 声音可以通过空气、固体、液体等介质传输; 通过耳膜的振动,最终被听到。 人类的听觉范围是 20Hz - 20kHz,小于 20Hz 的声音被称为次声波,超过 20kHz 的声音被称为超声波。 声音最终被人耳听到接收,大致需要经历三个过程: 首先外耳收集声音,声音在人的外耳部分,被耳廓收集,然后经由耳道

415浏览
0推荐
0评论
首页上一页1234下一页尾页
意见反馈 帮助中心 APP下载
官方微信