9 雲天之巔

尚未进行身份认证

我要认证

世界纷纷扰扰喧喧闹闹,什么是真实...

等级
TA的排名 4w+

从零开始学习音视频编程技术(35) Linux搭建Qt5.13和ffmpeg4.2

Linux下Qt5.13引用ffmpeg4.2

2020-06-02 16:55:16

从零开始学习音视频编程技术(43) AAC播放器

直接上代码吧:工程代码下载地址:https://download.csdn.net/download/qq214517703/12000761Github:https://github.com/yundiantech/FFMPEG_DEMO/tree/master/source/AudioDecode音视频技术交流讨论欢迎加QQ群121376426 ...

2020-06-02 16:52:29

从零开始学习音视频编程技术(42) AAC数据解析

AAC基本格式AAC音频格式有ADIF和ADTS:ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。简单说,ADTS可

2020-06-01 13:24:46

从零开始学习音视频编程技术(41) H.264播放器

2019-10-24更新:1.更新为ffmpeg4.1,同时支持播放h265。下载地址:https://download.csdn.net/download/qq214517703/11914710Github地址:https://github.com/yundiantech/FFMPEG_DEMO/tree/master/source/VideoDecode代码讲解视频地址...

2018-05-20 11:12:29

从零开始学习音视频编程技术(40) H.264数据解析

前面我们已经开发了视频播放器和录屏软件,但目前为止,我们对原理性的东西其实还不是很了解。现在我们需要稍微了解一下理论知识,然后才能继续,先从h.264数据讲起。H.264数据结构解析:NALU可以简单认为就是一帧视频数据(我们暂且先这样认定),那么h264的结构就是一帧帧数据排列下去,帧与帧直接用StartCode隔开,StartCode说明:如果该NALU对应的s...

2018-05-18 09:43:25

从零开始学习音视频编程技术(38) windows下编译并调试ffmpeg

前面介绍了Linux下编译ffmpeg的方法,考虑到大部分时候测试ffmpeg功能都是使用的windows系统(至少我是这样的),因此将战场重新转移到windows上。前面写了那么多的代码,但都只是简单的调用了ffmpeg的API,并不知道他内部是如何实现的。如果可以在调试的时候打个断点就可以进入ffmpeg代码调试看看实现该好友多好!梦想总是要有的,万一实现了呢!百度了一下发现可以做到,...

2018-02-27 20:37:57

从零开始学习音视频编程技术(二十二) FFMPEG Qt视频播放器之BUG修复

======新增功能 Begin =======2017-12-07更新:1.打开视频黑屏,无法打开视频问题2.暂停出现吱吱声3.界面新增拖动大小功能4.新增暂停的时候跳转画面跟着变。下载地址:http://download.csdn.net/download/qq214517703/101490332019-3-22更新:【V1.8.0】 Qt5....

2018-02-27 20:35:04

从零开始学习音视频编程技术(34) Linux篇之编译ffmpeg

 水了这么多篇,是时候开始干正事了。Linux基础知识已经掌握了,现在可以开始编译ffmpeg了:一、下载ffmpeg首先下载ffmpeg的源代码,ffmpeg所有版本源代码下载地址:http://ffmpeg.org/releases/截至本文编写时,ffmpeg最新版本是3.3,但我们还是一如既然的使用2.5.6.2.5.6下载地址: http://ffmpeg.org/releases/ff...

2018-02-27 20:33:16

从零开始学习音视频编程技术(33) Linux篇之Makefile

原文地址:http://blog.yundiantech.com/?log=blog&id=32回想上节我们写的main.c和function.c,编译这2个文件的时候我们用了3条命令,分别是:gcc  -c  main.cgcc  -c  function.cgcc  -o  hello  main.o function.o写代码可是一个不断修改,不断编译

2017-07-12 17:20:20

从零开始学习音视频编程技术(32) Linux篇之编译和链接

原文地址:http://blog.yundiantech.com/?log=blog&id=31在windows下写程序的时候,通常我们所说的“编译”程序,就是直接点IDE工具上的那个运行图标,程序就运行起来了。 所以windows下开发的时候很少对程序编译的整个过程有大概的了解,对编译和链接理解的不是很透彻(至少我当初是这样的),每当看到编译器报错的时候,心就开始方了,不能迅速找出问题所

2017-07-11 16:40:26

从零开始学习音视频编程技术(31) Linux篇之hello world

原文地址:http://blog.yundiantech.com/?log=blog&id=30Linux和window在使用上有一定的区别,百度上搜一下如何学习Linux都会有各种书籍推荐,呼声最高的就是《鸟哥的linux私房菜》,有兴趣的可以搞一本看看,当初我也买了一本(然而买回来之后并没有看多少页,纯属浪费钱)。因此本人不建议通过看书来学习linux的使用, 古语有云:“熟能生巧

2017-07-03 15:39:27

从零开始学习音视频编程技术(30) Linux篇之系统安装

原文地址:http://blog.yundiantech.com/?log=blog&id=29  到这里,我们已经掌握了windows下使用ffmpeg。谈不上精通,但至少已经算是入门了,现在,我们没有继续深入研究ffmpeg,因为深入研究的过程是很枯燥的(主要是我也只会这些了)。既然ffmpeg是跨平台的,那么就来感受一下吧,我们先从Linux开始,将之前实现的功能移植到Linux系统

2017-06-14 15:07:56

从零开始学习音视频编程技术(二十一) 录屏软件开发之最终完善

原文地址:http://blog.yundiantech.com/?log=blog&id=28上面我们已经生成了录屏的视频,然而这个视频并不是理想中的那样,随时时间的增加,音视频会越来越不同步。原因就是因为保存视频的方式采用的是固定帧率的方式,既时间戳间隔也是固定的。举个栗子:假如视频的帧率是10,就是每秒钟10张图像,那么这十张图像是平均分布的,位置分别是:0.1s

2017-04-27 16:46:50

从零开始学习音视频编程技术(二十) 录屏软件开发之录屏生成MP4

原文地址:http://blog.yundiantech.com/?log=blog&id=27到这里我们已经知道如何生成视频文件了。接下来就用屏幕图像和麦克风的声音合成视频。首先是使用ffmpeg获取屏幕图像,捕获屏幕一样使用libavdevice。在Windows系统使用libavdevice抓取屏幕数据有两种方法:gdigrab和d

2017-04-27 13:40:14

从零开始学习音视频编程技术(十九) 录屏软件开发之YUV AAC合成MP4

原文地址:http://blog.yundiantech.com/?log=blog&id=26我们已经获取到了屏幕的图像和麦克风的声音,现在就将它们合并一个普通的视频文件。所谓视频,其实就是一种容器,里面以某种固定的格式放置了视频和音频数据(比如我们前面生成的H264和AAC)。先来感受一下FLV的格式:

2017-04-27 09:43:03

从零开始学习音视频编程技术(十八) 录屏软件开发之编码AAC

原文地址:http://blog.yundiantech.com/?log=blog&id=24光阴似箭,日月如梭。 时间过的可真快。。。 一转眼 大半年就过去了,差点就忘记学习了。。学习贵在坚持和积累,然而就是很难做到坚持。。不知不觉已经半年没有更新了,对不住大家了,赶紧继续更新。。之前讲到了使用ffmpeg读取麦克风并保存成PCM文件。传送门

2017-04-25 20:20:58

从零开始学习音视频编程技术(十七) 录屏软件开发之音频采集

前面讲解了如何使用libavdevice采集摄像头图像同样 libavdevice 也可以采集麦克风的声音。下面就讲解麦克风声音的采集:采集声音和采集摄像头本质上没有多大的却别,基本上就是换个名字:首先还是一样注册libavdevice:1avdevice_register_all();

2016-11-29 09:43:11

从零开始学习音视频编程技术(十六) 采集屏幕编码H264

前面介绍了采集屏幕图像并转换成YUV420p。传送门YUV420p数据是原始的图像数据,100张1920x1080的图像 总大小就达到了300M。太可怕了! 可见,这样直接写入文件是行不通的。因此我们需要把它编码成h264之后在写入文件。至于什么是h264,前面有介绍,这里就不介绍了。废话不多说,直接进入正文吧。编码h264还是一样使用f

2016-10-15 17:07:29

从零开始学习音视频编程技术(十五) YUV420P转RGB32

原文地址:http://blog.yundiantech.com/?log=blog&id=19上一节讲解了YUV420P格式的内容。我说过,我们不是为了做研究。 平白无故讲了YUV420P的理论知识,要是不做点什么总说不过去吧。 那么,我们就练练刀,写个播放YUV420P的程序吧,将前面保存的YUV420P图像用自己写的播放器播放出来。这里我们还是一样使用

2016-09-30 10:20:09

从零开始学习音视频编程技术(十四) RGB/YUV格式详解

原文地址:http://blog.yundiantech.com/?log=blog&id=18上一节,我们采集了屏幕图像 并且转换成YUV420P写入了文件中。既然得到了yuv420p数据,那么接下来的操作就是编码了。在开始编码之前,我们先发点时间了解下YUV420P这种格式,当然,不了解这个对我们开发录屏软件是没有影响的。不过既然要做视频开发,不了解

2016-09-30 10:18:23

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取