use*_*182 2 compression video-capture decoding avfoundation osx-mavericks
从Apple文档中,在OSX 10.9中不推荐使用Quicktime框架,而是支持AVFoundations和AVKit.由于我不确定的原因,大多数文档忽略了一些名为VideoToolbox的框架涵盖了一些Quicktime框架替换功能.该替换功能包括解码和解压缩等.
我想解码和解压缩h.264编码的视频数据包(NAL包,TS包,等...),将它们放在像素缓冲区中,然后使用Core Video和OpenGL显示视频.
我通过usb从和编码盒获取视频数据包.我运行时此框不会显示[AVCaptureDevice devices].所以我不能使用大多数AVFoundation(据我所知)直接与盒子接口.但是,盒子附带了一个api,可以访问视频数据包文件.我可以将它们写入磁盘并创建一个可以通过quicktime播放的视频.但是进行实时播放是个问题.因此解码,解压缩和创建像素缓冲区的问题让我可以使用Core Video和OpenGL.
我想如果我可以创建一个像素缓冲区,我可以使用AVAssetWriterInputPixelBufferAdaptor并找出一些方法来获得它AVCaptureSession.如果我能做到这一点,我应该可以放弃使用OpenGL并使用AVFoundations和AVKit提供给我的工具.
另外,从我对AVFoundations文档的阅读中,每次他们谈论视频/音频数据流时,他们都在谈论两件事之一; 来自AVCaptureDevice的流或来自HTTP Live Stream的流处理.就像我之前说的那样,产生视频数据包的盒子不会显示为AVCaptureDevice.并且,如果我不需要,我宁愿不构建/实现HTTP Live Streaming服务器.(希望我不需要,虽然我在网上看到有人做过.)
任何帮助将不胜感激.
谢谢!
好吧,它已经有一段时间了,但我终于弄清楚如何正确使用VideoToolbox与原始的未压缩和编码数据流.
基本上,我不得不熟悉H264的规格,并从这篇伟大的帖子中获得了很多帮助.
这是步骤
我希望这可以帮助别人.
| 归档时间: |
|
| 查看次数: |
3102 次 |
| 最近记录: |