如何从iPhone摄像头获取h.264字节?
我需要发布实时视频流从iPhone摄像头到RTMP服务器(Wowza服务器)。视频流必须为h.264格式。我知道AVFoundation将视频存储到h.264压缩的文件中,但我不知道;不需要将视频存储到文件中。我只想捕获并将其发送到服务器。我使用以下委托方法:如何从iPhone摄像头获取h.264字节?,iphone,ios,video-streaming,h.264,Iphone,Ios,Video Streaming,H.264,我需要发布实时视频流从iPhone摄像头到RTMP服务器(Wowza服务器)。视频流必须为h.264格式。我知道AVFoundation将视频存储到h.264压缩的文件中,但我不知道;不需要将视频存储到文件中。我只想捕获并将其发送到服务器。我使用以下委托方法: - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromCo
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection{
if (connection == videoConnection) {
//I want something like this
NSData* h264VideoData=[self h264Data:sampleBuffer];
}
}
我不需要向服务器发送音频,我只想发送视频 2017年更新: 您现在可以使用
VideoToolbox
API进行流式视频和音频处理。
请阅读此处的文档:
原始答案(2013年起):
这在目前是不可能的,你将不得不写入一个文件或用软件编码器压缩视频流(虽然你不会得到高清和非常糟糕的电池时间)。所有可能的硬件编码器都必须写入磁盘。我认为这是因为设备内存不足
获得硬件加速h264压缩的方法:
如果您需要音频:如果您切换该文件,您将丢失一些音频样本,因此您必须为此启动自己的缓冲区管理(或单独录制音频)。谢谢。好的,我将把音频和视频写入同一个MP4文件。现在,您能建议我如何提取seprate h264视频(NSData)和AAC(音频)吗使用objective c…是否存在用于它的库。