-
3、Git基础(二)
参考:玩转Git三剑客目录 查看提交记录 gitk查看提交记录一、查看日志git logLC:firstProject LC$ git logcommit 666fb34b3499cb2937178fc246432e5bfaef6f43 (HEAD -> master)Author: LC <LC@163.com>Date: Tue Dec 22 16:10:23 2020 +0800 modified index.htmlcommit dee94861...…
-
2、Git基础
参考:玩转Git三剑客目录 创建Git仓库 Git仓库状态创建Git仓库两种⽅式:一、 ⽤ Git 之前还没有项⽬代码1、指令#创建仓库git init projectName2、演示$ cd 某个⽂件夹$ git init your_project #会在当前路径下创建一个名为your_project的仓库$ cd your_project #该文件夹下面的资源会纳入Git管理二、 ⽤ Git 之前已经有项⽬代码1、指令git init2、演示$ cd 项⽬代码所在的⽂件夹$...…
-
1、Git介绍
参考:玩转Git三剑客 参考:Git文档介绍目录 版本管理的演变 Git版本管理的演变VCS : Version Control System (版本控制系统)一、VCS 出现前⽤⽬录拷⻉区别不同版本 公共⽂件容易被覆盖 成员沟通成本很⾼,代码集成效率低下二、集中式 VCS有集中的版本管理服务器,具备⽂件版本管理和分⽀管理能⼒ 集成效率有明显地提⾼ 客户端必须时刻和服务器相连三、分布式 VCS服务端和客户端都有完整的版本库 脱离服务端,客户端照样可以管...…
-
【MJ】17_重识图片
参考:【秒懂音视频开发】17_重识图片本文是上面文章的摘要,只用于自己快速浏览.目录 像素 RGB颜色模型 位深度 格式 GIF像素一张图片的分辨率:60✖️50这张图片的每一行都有60个像素,共50行,总共60*50=3000个像素。每个像素都有自己独立的颜色,若干个像素就组成了一张色彩缤纷的完整图片。RGB颜色模型将红(Red)、绿(Green)、蓝(Blue)三原色的色光以不同的含量相叠加,可以合成产生各种色彩光位深度一 24bit位深度的含义每一个像素都会使用24个二进制...…
-
【MJ】15_AAC编码实战
参考:【秒懂音视频开发】15_AAC编码实战本文是上面文章的摘要,只用于自己快速浏览.目录 要求 命令行要求fdk-aac对输入的PCM数据是有参数要求的,如果参数不对,就会出现以下错误采样格式 必须是16位整数PCM支持的采样率 8000、11025、12000、16000、22050、24000、32000 44100、48000、64000、88200、96000命令行一. 最简单的用法如下所示#-c:a libfdk_aac 设置音频编码器# pcm ...…
-
【MJ】14_编译FFmpeg
参考:【秒懂音视频开发】14_编译FFmpeg本文是上面文章的摘要,只用于自己快速浏览.目录 目标 下载源码 Mac编译 Windows编译目标编译出ffmpeg、ffprobe、ffplay三个命令行工具只产生动态库,不产生静态库将fdk-aac、x264、x265集成到FFmpeg中x264、x265会在以后讲解的视频模块中用到下载源码Mac编译一. 依赖项brew install yasm#ffmpeg的编译过程依赖yasm#若未安装yasm会出现错误:nasm/yasm n...…
-
【MJ】13_AAC编码
参考:【秒懂音视频开发】13_AAC编码本文是上面文章的摘要,只用于自己快速浏览.目录 补充 对比MP3 规格 LC和HE 编解码器 FDK AAC补充一. AVPacket问题//栈空间AVPacket pack//堆空间AVPacket * p二. speed在终端进行重采样时,我们看到有个speed被打印出来,speed是什么? speed = 音频时长 / 重采样耗时三. 录音显示时间//采集时间 = pcm数据大小 / 字节率unsigned long lon...…
-
【MJ】12_音频重采样
参考:【秒懂音视频开发】12_音频重采样本文是上面文章的摘要,只用于自己快速浏览.目录 补充 什么叫音频重采样 为什么需要音频重采样 命令行 编程补充一. 音频格式SDL中音频格式的表示解析: AUDIO_S16LSB AUDIO_U16LSB AUDIO_U16MSB AUDIO_S16MSB AUDIO_F32MSBS:有符号 U:无符号 F:浮点类型 16:16个Bit位32:32个Bit位 LSB(Least Signif...…
-
【MJ】11_播放WAV
参考:【秒懂音视频开发】11_播放WAV本文是上面文章的摘要,只用于自己快速浏览.目录 ffplay播放wav SDL播放wavffplay播放wav对于WAV文件来说,可以直接使用ffplay命令播放,而且不用像PCM那样增加额外的参数。因为WAV的文件头中已经包含了相关的音频参数信息。ffplay in.wavSDL播放wav 初始化子系统 加载WAV文件 打开音频设备 开始播放 回调函数 释放资源PS:对比SDL播放PCM的流程 行者常至,为者常成!…
-
【MJ】10_PCM转WAV
参考:【秒懂音视频开发】10_PCM转WAV本文是上面文章的摘要,只用于自己快速浏览.目录 WAV文件格式 命令行 编程播放器是无法直接播放PCM的,因为播放器并不知道PCM的采样率、声道数、位深度等参数。当PCM转成某种特定的音频文件格式后(比如转成WAV),就能够被播放器识别播放了。本文通过2种方式(命令行、编程)演示一下:如何将PCM转成WAV。WAV文件格式WAV、AVI文件都是基于RIFF标准的文件格式// WAV文件头(44字节)typedef struct { /...…
-
【MJ】09_播放PCM
参考:【秒懂音视频开发】09_播放PCM本文是上面文章的摘要,只用于自己快速浏览.目录 ffplay SDL 播放PCMffplay可以使用ffplay播放《音频录制02_编程》中录制好的PCM文件,测试一下是否录制成功。播放PCM需要指定相关参数: ar:采样率 ac:声道数 f:采样格式s16le:PCM signed 16-bit little-endian更多PCM的采样格式可以使用命令查看Windows:ffmpeg -formats | findstr PCMMac:ff...…
-
【MJ】08_音频录制02_编程
参考:【秒懂音视频开发】08_音频录制02_编程本文是上面文章的摘要,只用于自己快速浏览.目录 通过编程录音 多线程通过编程录音1. 权限申请在Mac平台,有2个注意点: 需要在Info.plist中添加麦克风的使用说明,申请麦克风的使用权限 使用Debug模式运行程序2. 常用的四个库// 设备相关API#include <libavdevice/avdevice.h>// 格式相关API#include <libavformat/avformat.h>/...…
-
【MJ】07_音频录制01_命令行
参考:【秒懂音视频开发】07_音频录制01_命令行本文是上面文章的摘要,只用于自己快速浏览.目录 命令简介 通过命令行录音命令简介ffmpegffmpeg的主要作用:对音视频进行编解码。ffmpeg arg1 arg2 -i arg3 arg4 arg5 arg1:全局参数 arg2:输入文件参数 arg3:输入文件 arg4:输出文件参数 arg5:输出文件ffprobeffprobe的主要作用:查看音视频的参数信息。ffprobe [OPTIONS] [INPUT_...…
-
【MJ】06_Qt开发基础
参考:【秒懂音视频开发】06_Qt开发基础本文是上面文章的摘要,只用于自己快速浏览.目录 .pro文件的配置 控件的基本使用 信号与槽.pro文件的配置一. 夸平台配置跨平台配置方式一:# windowswin32:INCLUDEPATH += F:/Dev/ffmpeg-4.3.2/includewin32:LIBS += -LF:/Dev/ffmpeg-4.3.2/lib \ -lavcodec \ -lavdevice \ ...…
-
【MJ】05_Mac开发环境搭建
参考:【秒懂音视频开发】05_Mac开发环境搭建本文是上面文章的摘要,只用于自己快速浏览.目录 FFmpeg Qt 开发FFmpeg一 安装在Mac环境中,直接使用Homebrew安装FFmpeg即可。通过brew install安装的软件会存放到/usr/local/Cellar目录中二 目录结构bin: 有编译好的可执行程序:ffmpeg、ffplay等,可以直接在命令行上使用,比如 ffplay xx.mp4:可以直接播放某个视频 ffmpeg -versio...…
-
【MJ】04_Windows开发环境搭建
参考:【秒懂音视频开发】04_Windows开发环境搭建本文是上面文章的摘要,只用于自己快速浏览.目录 FFmpeg Qt 开发初探FFmpeg一 介绍FFmpeg:跨平台的音视频开发库FF是Fast Forward(译为:快进、快速前进)的简称mpeg来源于Moving Picture Experts Group(简称:MPEG,译为:动态影像专家小组)MPEG是源自ISO与IEC等国际组织的工作小组MPEG的其中一项工作是:制定音视频相关的标准(比如压缩标准)二 目录结构bin:...…
-
【MJ】03_重识音频
参考:【秒懂音视频开发】03_重识音频本文是上面文章的摘要,只用于自己快速浏览.目录 PCM 音频的编码与解码 常见的音频编码和文件格式PCM录音的原理可以简单理解为:把声源的振动记录下来,需要时再让某个物体按照记录下来的振动规律去振动,就会产生与原来一样的声音。音频数字化:模拟信号 -> 数字信号(便于计算机处理和存储,二进制编码)将音频数字化的常见技术方案是脉冲编码调制(PCM,Pulse Code Modulation),主要过程是:采样 → 量化 → 编码。采样1.采样...…
-
【MJ】02_重识声音
参考:【秒懂音视频开发】02_重识声音本文是上面文章的摘要,只用于自己快速浏览.目录 产生 声波 音调 响度 音色 噪音 讨厌的声音产生声音(Sound),是由物体的振动产生的。一切正在发声的物体都在振动。声波声音与波有着相同的关键特征:可以通过介质传播能量,而不是传播介质本身。因此,我们也把声音称为声波声音的传播介质可以是气体、液体、固体,比如:2个人面对面交流时,声音是通过空气传播到对方耳中振幅从平衡位置到最大位移位置之间的距离,叫做振幅(Amplitude)。周期空气分...…
-
【MJ】01_移动通信技术的发展
参考:【秒懂音视频开发】01_移动通信技术的发展本文是上面文章的摘要,只用于自己快速浏览.目录 通讯技术的发展通讯技术的发展1G:语音通话2G:文字时代3G:图片时代4G:视频时代在线教育、短视频、直播、VLog5G:万物互联的时代音视频开发人才将会是绝大部分互联网公司的刚需涉及的技术分支多且庞大,如OpenGL、FFmpeg、WebRTC等 行者常至,为者常成!…
-
18、VideoToolBox框架
参考文章:音视频学习从零到整-实现视频编码目录 了解VideoToolBox 硬编码 框架介绍 视频编码步骤分解了解VideoToolBox 硬编码一、介绍在iOS4.0,苹果就已经支持硬编解码.但是硬编解码在当时属于私有API. 不提供给开发者使用在2014年的WWDC大会上,iOS 8.0 之后,苹果开放了硬编解码的API。就是VideoToolbox.framework的API。VideoToolbox 是一套纯C语言API。其中包含了很多C语言函数.VideoToolbo...…