OSX 原生 API 视频解码C++
OSX Native API Video Decoding C++
最近,我使用 Apple Core Audio C++ API 完成了音频解码任务。
现在,我有兴趣使用带有C++的本机OSX API再次解码和获取视频文件帧的原始未压缩数据(类似于Windows操作系统上的DirectShow或Media Foundation)。
我已经查看了可用的API(AVFoundation,Core Video等),但找不到可以完成这项工作并且可以通过C++访问的框架。
那么我的问题是哪个框架最适合这项任务?
您可以使用
AVFoundation
的AVAssetReader
从文件中读取原始视频数据。
您创建一个AVAssetReader
,添加一个具有nil
输出设置的AVAssetReaderTrackOutput
,然后调用copyNextSampleBuffer()
直到完成。
但是,除非您有非常具体的需求,否则您不太可能发现原始编解码器视频数据非常有用。您是否正在尝试显示视频?在这种情况下,AVPlayerLayer
/AVPlayer
(再次AVFoundation
)可能是您正在寻找的。如果你想要更低层次的东西,CoreMedia
/VideoToolbox
可能适合你。 AVFoundation
是一个目标C框架,所以你将使用Objective-C++,而CoreMedia
和VideoToolbox
是C框架。
相关文章:
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- FFmpeg——使用硬件加速进行视频解码
- OpenCV 检查计算机上是否安装了视频编解码器 (C++)
- 媒体基金会设置视频交织和解码
- 如何使用Windows Media Foundation直接将视频文件直接解码为Direct3D11纹理
- OSX 原生 API 视频解码C++
- OpenCV是在没有CUDA视频解码支持的情况下建造的
- 如何为 OpenCV 的视频编写器动态选择可用的编解码器?
- FFMPEG如何有效地解码视频框架
- 寻求使用 FFmpeg 在 mp4 容器中 h264 编解码器的视频帧.数据包 pts 始终为 0
- FFMPEG:在解码视频时,是否可以将结果生成到用户提供的缓冲区?
- 使用FFmpeg解码视频帧时获取的撕裂图像
- 开源或低成本的跨平台视频编解码器库,可用于商业目的,并支持RGBA格式
- C++用于解码MKV视频(杜比数字/ AVC)的库
- Java:编写自定义视频编解码器的指南
- 解码音频和视频并处理这两个流——ffmpeg、sdl、opencv
- 我应该为游戏中的过场动画使用哪种视频解码器?
- 使用libVLC作为视频解码器
- 在视频解码器抽象层嗅探 H.264 原始流
- libavcodec视频解码不起作用