Tôi là một người mới trong AVFoundation và giải mã process.I cần phải giải mã một tập tin video h264 và chơi nó trong iphone ... bất cứ ai có thể cho tôi hướng dẫn để làm điều đó.giải mã h264 trong ios
Tôi không muốn sử dụng ffmpeg hoặc bất kỳ thư viện của bên thứ ba nào để thực hiện điều đó. Theo như tôi biết sử dụng mã hóa AVFoundation có thể ... đây là đoạn code mà tôi nghĩ được sử dụng để mã hóa nhưng không chắc chắn ở tất cả ...
float bitsPerPixel;
CMVideoDimensions dimensions = CMVideoFormatDescriptionGetDimensions(currentFormatDescription);
int numPixels = dimensions.width * dimensions.height;
int bitsPerSecond;
// Assume that lower-than-SD resolutions are intended for streaming, and use a lower bitrate
if (numPixels < (640 * 480))
bitsPerPixel = 4.05; // This bitrate matches the quality produced by AVCaptureSessionPresetMedium or Low.
else
bitsPerPixel = 11.4; // This bitrate matches the quality produced by AVCaptureSessionPresetHigh.
bitsPerSecond = numPixels * bitsPerPixel;
NSDictionary *videoCompressionSettings = [NSDictionary dictionaryWithObjectsAndKeys:
AVVideoCodecH264, AVVideoCodecKey,
[NSNumber numberWithInteger:dimensions.width], AVVideoWidthKey,
[NSNumber numberWithInteger:dimensions.height], AVVideoHeightKey,
[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInteger:bitsPerSecond], AVVideoAverageBitRateKey,
[NSNumber numberWithInteger:30], AVVideoMaxKeyFrameIntervalKey,
nil], AVVideoCompressionPropertiesKey,
nil];
if ([assetWriter canApplyOutputSettings:videoCompressionSettings forMediaType:AVMediaTypeVideo]) {
assetWriterVideoIn = [[AVAssetWriterInput alloc] initWithMediaType:AVMediaTypeVideo outputSettings:videoCompressionSettings];
assetWriterVideoIn.expectsMediaDataInRealTime = YES;
assetWriterVideoIn.transform = [self transformFromCurrentVideoOrientationToOrientation:self.referenceOrientation];
if ([assetWriter canAddInput:assetWriterVideoIn])
[assetWriter addInput:assetWriterVideoIn];
else {
NSLog(@"Couldn't add asset writer video input.");
return NO;
}
}
else {
NSLog(@"Couldn't apply video output settings.");
return NO;
}
return YES;
Tôi hoàn toàn ngây thơ về vấn đề này, xin vui lòng giúp đỡ .. .từ nơi bắt đầu ///
cảm ơn
Tôi đang cố gắng làm điều tương tự khi bạn tìm ra giải pháp? –
dự án đã bị hủy ... chúng tôi không tìm thấy giải pháp ... –