音视频开发
主要是针对ffmpeg的开发,将学习过程以及遇到的问题都贴到这边。方便你我他!!!
宏彦の博客
青春,一生只有一度,虽说青春有叛逆,有浮躁,也有错误。但青春更多的是热情、美好和希望。青春终究会有幸福,因为它有未来。
为了美好未来而努力!!!
展开
-
ffmpeg命令行工具测试
之前的文章把ffmpeg的命令行大致的options都列了一遍 现在就来测试一遍在测试之前 我们需要知道利用ffmpeg转码的时候 具体的流程是什么样的关于过滤器的使用 简单过滤其实可以看做是在解码和编码之间插入的一个步骤音视频的过滤器的使用 是通过-vf -af来使用的(之后看例子吧)对于复杂的过滤其实可以看做下面这样而复杂的过滤使用方法也是不一样...原创 2018-07-26 16:39:32 · 2017 阅读 · 0 评论 -
ffmpeg命令行工具
对于ffmpeg命令行的使用 之前一直都是通过百度(惭愧),一边找 一边用 感觉写起来比较麻烦 就在这记录下 方便以后温习我们都知道从官网下来的可以直接运行的程序有三个 一个是ffmpeg.exe ffplay.exe ffprobe.exe关于ffmpeg的官网里边 一般是提供三种(static shared dev) 第一个static是提供了之前说的那三个...原创 2018-07-26 09:29:16 · 7111 阅读 · 0 评论 -
编译ffmpeg(二)
上一篇说了下linux平台下ffmpeg编译的问题这里来看看windows平台的ffmpeg编译的问题。我们要编译windows平台下使用的ffmpeg,无外乎是两种方式,一种交叉编译,一种本地编译。交叉编译的话,就是在其他环境下编译windows平台适用的程序或者库。我们需要做的就是安装好交叉编译环境。另外一种本地编译,因为ffmpeg代码的特殊性,我们需要在windows系统里安装类unix环...原创 2018-07-02 15:44:43 · 1580 阅读 · 0 评论 -
编译ffmpeg(一)
自己编译ffmpeg也是一件烦心事 当你知道基本的流程以后就知道是有多简单。当你啥也不知道的时候,看着网上乱七八糟的博客,心里头那个气愤啊。(明明就是按照这个步骤来的,为什么他可以我就不可以)刚毕业有一个后台项目 ,只是依赖ffmpeg的一个小功能。需要在linux系统上定制编译一个2.6版本的, 而且当时编译的时候 , 也是一脸闷逼(别人说啥 做啥)都没有一个体系,对他的理解完全就是0。当时...原创 2018-07-02 15:29:26 · 2345 阅读 · 0 评论 -
sdp详细介绍
1.SDP协议概述SDP(Session Description Protocol)是一个用来描述多媒体会话的应用层控制协议,为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述;它是一个基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围;SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SA...原创 2018-03-27 15:43:23 · 10886 阅读 · 0 评论 -
各个频段不同的音色和音感
在上家公司主要做音频处理一类的工作,像什么降噪、回声消除、增益控制还有EQ等功能都有涉及。这里算是一篇杂文,主要是讲解不同频段的声音听起来是一个什么样的感觉。教我入门的老师傅这么和我说过,你干这行的话,就需要能够分辨得出±10Hz的差距。平时多练练,听听扫频锻炼锻炼。音色,是一种描述乐器发音品质的术语,由于每种乐器都有自己的频谱分布特征,因而同一种乐器的发音在不同的音区内,起音感虽然不一定一致,但...原创 2018-05-04 09:36:28 · 4167 阅读 · 1 评论 -
PCM数据格式
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单...原创 2018-05-04 09:41:21 · 2027 阅读 · 0 评论 -
ffmpeg的helloword版本
在搭建好ffmpeg的开发环境以后,可以使用这种方法来验证是否搭建成功,其实也可以简单的进行一些了解。主要目的就是打印出FFmpeg类库的下列信息: * Protocol: FFmpeg类库支持的协议 * AVFormat: FFmpeg类库支持的封装格式 * AVCodec: FFmpeg类库支持的编解码器 * AVFilter: FFmpeg类库支持的滤镜 * Configure: ...原创 2018-03-28 11:20:09 · 345 阅读 · 0 评论 -
最简单的解码流程(只涉及到libavcodec)
播放器其实最主要的就是一个解码器,之前的那个最简单的播放器的代码里边也会发现一件事,那就是调用了ffmpeg中的libavcodec以及libavformat两个库来完成视频解码的工作。后者主要就是完成封装格式的解析,而前者完成的才是解码工作。所以这回就来详细分析下只使用libavcodec这个库来进行解码的流程。有一点需要注意,之前的那个播放器里边有一个 Flush Decoder,这个其实就是...原创 2018-03-29 16:03:16 · 4294 阅读 · 0 评论 -
最简单的播放器(只是简单的分析解码这一部分)
在了解ffmpeg的模块以及各自的功能以后(最好还是了解一下提供出来的接口函数,各个模块的.h文件有记录)接下来就来说说播放器这一类,播放器主要就是解码流程以及显示了,下面开始进行分析。这里主要的目的还是简单解决平台的问题#ifdef _WIN32//Windowsextern "C"{#include "libavcodec/avcodec.h"#include "libavformat/avf...原创 2018-03-29 16:05:25 · 1036 阅读 · 0 评论 -
简单的视频编码器(不使用libavformat)
这里仅仅说明的是将YUV数据编码为特定编码格式的压缩视频码流的一个过程。只使用libavcodec,不使用libavformat封装。相关的流程可以参照下面的流程图好了接下来就来看看具体的代码流程。(需要比较的话可以和纯净版的解码器代码流程进行比较)编码器使用了两个模块:#include "libavutil/opt.h"#include "libavcodec/avcodec.h"#includ...原创 2018-04-02 17:01:22 · 242 阅读 · 0 评论