E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(五) 使用FFMPEG解码视频之保存成图片
原文地址:http://blog.yundiantech.com/?log=blog&id=8前面我们已经知道怎么使用FFMPEG了。现在,开始着手使用FFMPEG吧:首先来个简单的例子,使用FFMPEG打开视频文件,并解码保存成一张张的图片。具体的步骤如下所示:1.首先需要先初始化一下,使用如下函数:1av_register_all();//初始化FFMPEG调用了这个才能正常适用编码器和解码器
雲天之巔
·
2020-08-21 09:00
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十五) YUV420P转RGB32
原文地址:http://blog.yundiantech.com/?log=blog&id=19上一节讲解了YUV420P格式的内容。我说过,我们不是为了做研究。平白无故讲了YUV420P的理论知识,要是不做点什么总说不过去吧。那么,我们就练练刀,写个播放YUV420P的程序吧,将前面保存的YUV420P图像用自己写的播放器播放出来。这里我们还是一样使用Qt来显示图像。之前做播放器的时候,是将YU
雲天之巔
·
2020-07-02 15:38
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(三) 开发环境搭建
=============2019-10-31更新:Qt4已经淘汰了,不建议使用了,推荐使用Qt开发。Qt5开发环境的搭建,请参考:http://blog.yundiantech.com/?log=blog&id=37=============前面介绍了音频格式和视频格式,理论知识就不在多说了。其他的理论上知识在以后用多少讲多少,毕竟我们不是为了做研究,而是实实在在的做项目,因此要把的重心放在实践
雲天之巔
·
2020-07-02 15:38
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十) FFMPEG Qt视频播放器之播放控制
原文地址:http://blog.yundiantech.com/?log=blog&id=13到这里,我们的视频播放器已经可以同步播放音视频了。现在是时候给他加上一些控制的功能了。如播放、暂停、跳转等。一、暂停功能实现我们是在一个单独的线程中循环读取视频,所以只需要在需要暂停的时候,让读取的操作等下来即可。做法如下:1.首先引入一个变量用来记录是否处于暂停状态:1boolisPause;//暂停
雲天之巔
·
2020-06-24 22:21
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(八) FFMPEG Qt视频播放器之音视频同步
原文地址:http://blog.yundiantech.com/?log=blog&id=11前面分别讲解了:用FFMPEG和Qt解码视频并显示到界面上。用FFMPEG+SDL解码播放音频。现在我们就将视频和音频合并,并让声音和画面同步。加入音频的部分就不做讲解了,这里主要讲下声音和视频同步的步骤。首先刚开始播放的时候通过av_gettime()获取系统主时钟,记录下来。以后便不断调用av_ge
雲天之巔
·
2020-06-24 22:50
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(二) 音频格式讲解
http://blog.yundiantech.com/?log=blog&id=51.音频简介前面我们说过视频有一个每秒钟采集多少张的概念,这就叫做视频的帧率。和视频的帧率一样的道理,声音也有一个频率,叫做采样率。人对频率的识别范围是20HZ-20000HZ,如果每秒钟能对声音做20000个采样,回放时就足可以满足人耳的需求.所以22050的采样频率是常用的,44100已是CD音质,超过4800
darling757267
·
2018-09-21 17:27
音视频
从零开始学习音视频编程技术
(41) H.264播放器
现在,我们已经简单的掌握了h.264数据的结构。是时候干点什么了,那就先来写一个H.264视频播放器吧。。前面我们开发视频播放器的时候是通过:avformat_open_input打开视频文件,然后再调用av_read_frame就可以读到一帧帧的数据了,当然用这样的方法也可以直接打开并读取一个h.264文件,但是这样就违背了我们的初衷了,我们的目的是对上一节《H264数据格式讲解》的实践,因此我
雲天之巔
·
2018-05-20 11:29
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(40) H.264数据解析
前面我们已经开发了视频播放器和录屏软件,但目前为止,我们对原理性的东西其实还不是很了解。现在我们需要稍微了解一下理论知识,然后才能继续,先从h.264数据讲起。H.264数据结构解析:NALU可以简单认为就是一帧视频数据(我们暂且先这样认定),那么h264的结构就是一帧帧数据排列下去,帧与帧直接用StartCode隔开,StartCode说明:如果该NALU对应的slice为一帧的开始则用4位字节
雲天之巔
·
2018-05-18 09:25
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(35) windows下编译并调试ffmpeg
前面介绍了Linux下编译ffmpeg的方法,考虑到大部分时候测试ffmpeg功能都是使用的windows系统(至少我是这样的),因此将战场重新转移到windows上。前面写了那么多的代码,但都只是简单的调用了ffmpeg的API,并不知道他内部是如何实现的。如果可以在调试的时候打个断点就可以进入ffmpeg代码调试看看实现该好友多好!梦想总是要有的,万一实现了呢!百度了一下发现可以做到,下面就来
雲天之巔
·
2018-02-27 20: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.6.2(vs2013)+ffmpeg2.5.2+SDL
雲天之巔
·
2018-02-27 20: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/ffmp
雲天之巔
·
2018-02-27 20:16
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(一) 视频格式讲解
引言所谓视频,其实就是一张一张的图片连续放出来的,就像幻灯片一样,由于人眼的惰性,只要图片的数量足够多,就会觉得是连续动作。所以,只需要讲一张一张的图片保存下来,这样就可以构成一个视频了。但是由于目前网络控件的限制,直接存储视频肯定不行。举个例子:在视频聊天中,假定从摄像头采集的图片每张200KB,每秒发送大概30帧图片,这样每秒钟需要的流量就是6M(以为这需要48M的宽带),显然这要求太高了。于
双鱼大猫
·
2017-11-09 15:29
从零开始学习音视频编程技术
(31) Linux篇之hello world
原文地址:http://blog.yundiantech.com/?log=blog&id=30Linux和window在使用上有一定的区别,百度上搜一下如何学习Linux都会有各种书籍推荐,呼声最高的就是《鸟哥的linux私房菜》,有兴趣的可以搞一本看看,当初我也买了一本(然而买回来之后并没有看多少页,纯属浪费钱)。因此本人不建议通过看书来学习linux的使用,古语有云:“熟能生巧”,可以说,任
雲天之巔
·
2017-07-03 15:27
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(二十一) 录屏软件开发之最终完善
原文地址:http://blog.yundiantech.com/?log=blog&id=28上面我们已经生成了录屏的视频,然而这个视频并不是理想中的那样,随时时间的增加,音视频会越来越不同步。原因就是因为保存视频的方式采用的是固定帧率的方式,既时间戳间隔也是固定的。举个栗子:假如视频的帧率是10,就是每秒钟10张图像,那么这十张图像是平均分布的,位置分别是:0.1s、0.2s...0.9s、1
雲天之巔
·
2017-04-27 16:50
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(二十) 录屏软件开发之录屏生成MP4
原文地址:http://blog.yundiantech.com/?log=blog&id=27到这里我们已经知道如何生成视频文件了。接下来就用屏幕图像和麦克风的声音合成视频。首先是使用ffmpeg获取屏幕图像,捕获屏幕一样使用libavdevice。在Windows系统使用libavdevice抓取屏幕数据有两种方法:gdigrab和dshow。1).使用gdigrabgdigrab是FFmpe
雲天之巔
·
2017-04-27 13:14
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十九) 录屏软件开发之YUV AAC合成MP4
原文地址:http://blog.yundiantech.com/?log=blog&id=26我们已经获取到了屏幕的图像和麦克风的声音,现在就将它们合并一个普通的视频文件。所谓视频,其实就是一种容器,里面以某种固定的格式放置了视频和音频数据(比如我们前面生成的H264和AAC)。先来感受一下FLV的格式:也就是说只需要按上面规定的方式把图像和音频数据写入文件,最后生成的文件就是一个FLV视频文件
雲天之巔
·
2017-04-27 09:03
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十八) 录屏软件开发之编码AAC
原文地址:http://blog.yundiantech.com/?log=blog&id=24光阴似箭,日月如梭。时间过的可真快。。。一转眼大半年就过去了,差点就忘记学习了。。学习贵在坚持和积累,然而就是很难做到坚持。。不知不觉已经半年没有更新了,对不住大家了,赶紧继续更新。。之前讲到了使用ffmpeg读取麦克风并保存成PCM文件。传送门获取到了PCM之后,下一步当然是编码生成AAC了。与之前说
雲天之巔
·
2017-04-25 20:58
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十七) 录屏软件开发之音频采集
前面讲解了如何使用libavdevice采集摄像头图像同样libavdevice也可以采集麦克风的声音。下面就讲解麦克风声音的采集:采集声音和采集摄像头本质上没有多大的却别,基本上就是换个名字:首先还是一样注册libavdevice:1avdevice_register_all();然后打开音频设备:12345678QStringaudioDeviceName=QStringLiteral("au
雲天之巔
·
2016-11-29 09:11
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十三) 录屏软件开发之屏幕录像
原文地址:http://blog.yundiantech.com/?log=blog&id=17上一节讲解了摄像头的采集,初步掌握了libavdevice的使用。现在接着使用libavdevice来采集屏幕的图像。在Windows系统使用libavdevice抓取屏幕数据有两种方法:gdigrab和dshow。1.gdigrabgdigrab是FFmpeg专门用于抓取Windows桌面的设备。非常
雲天之巔
·
2016-09-28 20:53
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(十二) 录屏软件开发之视频采集
原文地址:http://blog.yundiantech.com/?log=blog&id=15前面讲解了视频播放器的开发,初步掌握了使用FFMPEG解码音视频。现在我们就接着讲解使用FFMPEG来编码音视频,主要是实现一个录屏软件的制作。一个录屏软件的流程基本就是:图像采集图像编码将解码好的图像封装成视频图像的采集:FFmpeg中有一个和多媒体设备交互的类库:Libavdevice。使用这个库可
雲天之巔
·
2016-09-28 20:52
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(六) FFMPEG Qt视频播放器之显示图像
原文地址:http://blog.yundiantech.com/?log=blog&id=9前面讲解了如何用FFMPEG解码视频。现在,我们就着手用FFMPEG+Qt写一个视频播放器吧:由于现在我们需要显示图像了,因此现在开始需要使用QtGUI工程了。创建工程的时候记得选择QtGUI应用。引用FFMPEG请参考前面的文章,这里不再介绍。做过图像界面开发的都知道,任何耗时的操作都不能放在主线程进行
雲天之巔
·
2016-09-22 10:27
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(四) FFMPEG的使用
原文地址:http://blog.yundiantech.com/?log=blog&id=7音视频开发中最常做的就是编解码的操作了,以H.264为例:如果想要自己实现编码h.264,需要对H.264非常的了解,首先需要查看H.264的文档,这个文档好像说是三百多页(本人并没有看过)。想到这,你还写的下去么。算了吧!好在H264的编码器,有人已经写好了,而且还提供了源代码。主流的h264编码器有x
雲天之巔
·
2016-09-20 09:00
从零开始学习音视频编程技术
从零开始学习音视频编程技术
(一) 视频格式讲解
原文地址:http://blog.yundiantech.com/?log=blog&id=4所谓视频,其实就是将一张一张的图片连续的放出来,就像放幻灯片一样,由于人眼的惰性,因此只要图片的数量足够多,就会觉得是连续的动作。所以,只需要将一张一张的图片保存下来,这样就可以构成一个视频了。但是,由于目前网络和存储空间的限制,直接存储图片显然不可行。举个例子:在视频聊天中,假定从摄像头采集的图片每张大
雲天之巔
·
2016-09-16 09:56
从零开始学习音视频编程技术
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他