我正在使用AVCaptureSession捕捉视频并从iPhone相机获取实时帧但是如何通过多路复用框架和声音将其发送到服务器以及如何使用ffmpeg来完成此任务,如果任何人有关于ffmpeg的任何教程或任何示例请在这里分享.
我想将视频从iPhone相机流式传输到Mac上运行的应用程序.想想视频聊天,但只有一种方式,从设备到接收器应用程序(它不是视频聊天).
到目前为止我的基本理解:
我对上述情况是对的还是我已经偏离了轨道?
Apple Tech Q&A 1702提供了一些关于将单个帧保存为图像的信息 - 这是最好的解决方法吗?只需保存30fps,然后像ffmpeg那样压缩它们?
有很多关于iPhone直播的讨论,但关于发送实时视频的人的信息要少得多.我希望有一些广泛的笔触让我指向正确的方向.
我有一些在线代码从iPhone的相机捕获视频,然后将其存储到视频文件,它工作正常.但我的目的不是将其保存在内存中,而是将其发送到服务器.我发现有一个名为WOWZA的免费媒体服务器,它允许流媒体和Apple有(HSL)HTTP直播流功能,服务器希望视频为h.264格式的视频和mp3的音频.通过阅读有关Apple HSL的一些文档,我也发现它在播放列表文件中为媒体文件的每个片段提供了不同的URL,然后通过浏览器以正确的顺序在设备上播放.我不确定如何获取手机摄像头录制的文件的小片段,以及如何将其转换为所需的格式.以下是捕获视频的代码:
实施档案
#import "THCaptureViewController.h"
#import <AVFoundation/AVFoundation.h>
#import "THPlayerViewController.h"
#define VIDEO_FILE @"test.mov"
@interface THCaptureViewController ()
@property (nonatomic, strong) AVCaptureSession *captureSession;
@property (nonatomic, strong) AVCaptureMovieFileOutput *captureOutput;
@property (nonatomic, weak) AVCaptureDeviceInput *activeVideoInput;
@property (nonatomic, strong) AVCaptureVideoPreviewLayer *previewLayer;
@end
@implementation THCaptureViewController
- (void)viewDidLoad
{
[super viewDidLoad];
#if TARGET_IPHONE_SIMULATOR
self.simulatorView.hidden = NO;
[self.view bringSubviewToFront:self.simulatorView];
#else
self.simulatorView.hidden = YES;
[self.view sendSubviewToBack:self.simulatorView];
#endif
// Hide the toggle button if device has less than 2 cameras. Does 3GS support iOS 6?
self.toggleCameraButton.hidden = [[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo] count] < …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ffmpeg的libav*库将iPhone的相机帧编码为H.264视频.我在Apple的文章中发现了 如何将CMSampleBuffer转换为UIImage,但是如何将其转换为ffmpeg的AVPicture?
谢谢.
我知道如何从iOS sdk获取帧.[如何使用AV Foundation(http://developer.apple.com/library/ios/#qa/qa1702/_index.html)将相机中的视频帧作为图像捕获] 它是像素,我可以将其传输到JPEG.
我想传输视频的方式是这样的:
一台iOS设备A:
-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
使用现有的技术编码到h.264 - ffmpeg
使用TS流封装视频
运行http服务器,等待请求
其他iOS设备B:
所以我的问题是,我是否需要使用ffmpeg获取h.264流或者我可以从iOS API获取?如果我使用ffmpeg编码为h.264(libx264),该怎么做,是否有任何示例代码或指南?
我已经阅读了帖子 什么是将iphone相机直播到媒体服务器的最佳方式? 这是一个非常好的讨论,但我想知道细节.