基本的工作原理:首先通过FFmpeg获取视频,可以是通过摄像头,文件,截屏等。然后利用QT中的OpenGL组件显示视频。主要的工作是利用着色器进行视频格式转换,因为获取到的视频格式一般是YUV格式,显示到显示器上的一般是RGB格式。这里的代码只实现了YUV422格式的转换,其他格式类似。 下面是视频获取类VideoSource.h头文件: #pragma once extern “C” { #include “libavcodec/avcodec.h” #include “libavformat/a […]
在MAC中使用AudioQueue可以很方便的播放音频数据。音频的数据格式可以通过AudioStreamBasicDescription来设置。 dhsAudioQueue.h文件: #ifndef dhsAudioQueue_h #define dhsAudioQueue_h @interface dhsAudioQueue : NSObject – (void)configureAudioQueue; – (void)startPlayWithDataProvider:(DataProvider*)dataProvider; – (v […]