我正在使用一个iOS应用,该应用会将小视频上传到Amazon s3。然后,视频将是公开的,用户将可以共享每个视频的URL。我担心流媒体的成本(例如,如果视频要传播病毒)。每GB带宽约$ 0.12,这很快就会变得昂贵。
我想对每个视频实施某种下载限制,以防止出现这种情况。视频每月被下载一定次数后,就不再公开并且无法下载。
我浏览了各种文档,但没有找到实现此目的的好方法。我发现的唯一可能的解决方案是定期拉出s3存储桶的日志文件,并使用该数据来确定已下载某些视频的次数。这是我最好的选择,还是有更好的方法?
谢谢!
我使用以下代码来设置AVCaptureSession,录制视频文件并播放它:有时这很好用,有时我在播放时会出现黑屏.据我所知,这是完全随机的.
当错误发生时,如果我尝试在quicktime中打开文件,我会收到"无法打开文件,格式无法识别"的消息.这让我相信它是一个录音问题而不是播放问题.
另外,如果注释掉添加麦克风输入的代码部分,则不会发生错误(但我的视频文件当然没有音频轨道)...所以也许音频源会随机破坏文件原因?
- (void)viewDidLoad {
[super viewDidLoad];
....
captureSession = [[AVCaptureSession alloc] init];
[captureSession setSessionPreset:AVCaptureSessionPresetHigh];
NSArray *devices = [AVCaptureDevice devices];
AVCaptureDevice *frontCamera;
AVCaptureDevice *mic = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
for (AVCaptureDevice *device in devices) {
NSLog(@"Device name: %@", [device localizedName]);
if ([device hasMediaType:AVMediaTypeVideo])
{
if ([device position] == AVCaptureDevicePositionFront) {
NSLog(@"Device position : front");
frontCamera = device;
}
}
}
NSError *error = nil;
AVCaptureDeviceInput * microphone_input = [AVCaptureDeviceInput deviceInputWithDevice:mic error:&error];
AVCaptureDeviceInput *frontFacingCameraDeviceInput = [AVCaptureDeviceInput deviceInputWithDevice:frontCamera error:&error];
if (!error)
{
if …Run Code Online (Sandbox Code Playgroud) 当我尝试在iOS 5中使用CIFilter时,我收到以下链接器错误.
Undefined symbols for architecture i386: "_OBJC_CLASS_$_CIFilter", referenced from: objc class-ref in libios_ngn_stack.a(NgnProxyVideoConsumer.o)"_kCIInputImageKey", referenced from:
Run Code Online (Sandbox Code Playgroud)
导致错误的行是:
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, image,
@"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
Run Code Online (Sandbox Code Playgroud)
有人在这个问题上有同样的问题,但唯一的答案是他需要sLibrary/Frameworks/CoreImage.framework.有人可以详细说明如何安装这个ramework吗?(我在Library/Frameworks/QuartzCore/Frameworks/CoreImage中有一个CoreImage框架......)
任何帮助,将不胜感激