处理视频流的代码
来源:互联网 发布:成都伊藤网络超市 编辑:程序博客网 时间:2024/05/20 22:03
Q: How do I capture video frames from the camera as images using AV Foundation?
A: To perform a real-time capture, first create a capture session by instantiating an AVCaptureSession object. You use an AVCaptureSession object to coordinate the flow of data from AV input devices to outputs.
Next, create a input data source that provides video data to the capture session by instantiating a AVCaptureDeviceInput object. Call addInput to add that input to the AVCaptureSession object.
Create an output destination by instantiating an AVCaptureVideoDataOutput object , and add it to the capture session using addOutput.
AVCaptureVideoDataOutput is used to process uncompressed frames from the video being captured. An instance of AVCaptureVideoDataOutput produces video frames you can process using other media APIs. You can access the frames with the captureOutput:didOutputSampleBuffer:fromConnection: delegate method. Use setSampleBufferDelegate:queue: to set the sample buffer delegate and the queue on which callbacks should be invoked. The delegate of anAVCaptureVideoDataOutputSampleBuffer object must adopt the AVCaptureVideoDataOutputSampleBufferDelegate protocol. Use thesessionPreset property to customize the quality of the output.
You invoke the capture session startRunning method to start the flow of data from the inputs to the outputs, and stopRunning to stop the flow.
Listing 1 shows an example of this. setupCaptureSession creates a capture session, adds a video input to provide video frames, adds an output destination to access the captured frames, then starts flow of data from the inputs to the outputs. While the capture session is running, the captured video sample buffers are sent to the sample buffer delegate using captureOutput:didOutputSampleBuffer:fromConnection:. Each sample buffer (CMSampleBufferRef) is then converted to a UIImage inimageFromSampleBuffer.
Listing 1: Configuring a capture device to record video with AV Foundation and saving the frames as UIImage objects.
- 处理视频流的代码
- VLC视频处理代码浅析
- 视频处理三帧差分法简易代码
- Android 播放网络视频,视频流的处理
- FMS视频流的关键处理
- opencv视频流的读取和处理
- OpenCV视频的处理
- 视频播放的代码
- AVFoundation 视频流处理
- AV到VGA的FPGA视频处理代码主要模块结构
- 视频流读取与视频帧处理
- 视频处理的一些经验
- Ubuntu下视频的处理
- 网页播放的视频代码
- 网页播放的视频代码
- 网页播放的视频代码
- 网页播放视频的代码
- 网页播放视频的代码
- Linux下的动态链接库与静态链接库的生成与使用
- 《在C#中调用API获取网络信息和流量》读后感
- [转]Ogre粒子使用
- 值得一看
- Workflow中的四大已注册核心服务
- 处理视频流的代码
- 单向多对多关联
- c内存
- 二叉树的建立删除及三种遍历实现
- Visual Studio Debug 终止时命令行窗口变成 "zombie" 的问题
- 内网FTP服务器架设不完全解析
- Drools安装配置
- java 内存CMS GC
- 使用多功能编辑控件时注意初始化