gpt4 book ai didi

ios - 如何构建针对 iOS 优化的 ffmpeg,可能使用硬件解码?

转载 作者:行者123 更新时间:2023-11-29 11:05:30 42 4
gpt4 key购买 nike

我为 ios 制作了一个基于 FFMPEG 的播放器。它在模拟器上运行良好,但在真实设备 (iPhone 4) 上帧率很低并且使我的音频和视频不同步。播放器在 iPhone 4s 上运行良好,所以我想这只是设备计算能力的问题。

那么,有没有办法构建针对 iOS 设备(armv7、arvm7s arch)优化的 FFMPEG?或者有没有利用 ios 设备硬件来解码视频流?

我的视频流采用 H264/AAC 编码。

最佳答案

这些流应该播放得很好,我假设因为您使用的是 ffmpeg,所以您没有使用 iOS 直接支持的视频协议(protocol)。

我们使用 ffmpeg 做 rtsp/rtmp,我们用 h264/aac 得到了很好的性能

有许多因素会导致 av/sync 问题,通常需要对视频进行某种类型的预缓冲,网络在其中也起着重要作用。

关于你的第二个问题,硬件编码只能通过 avfoundation 获得,你可以使用 avassetwriter 来编码你的视频,但同样取决于你是否需要实时。

请参阅此链接 https://github.com/mooncatventures-group/FFPlayer-beta1/blob/master/FFAVFrames-test/ViewController.m

-(void) startRecording {

// // create the AVComposition
// [mutableComposition release];
// mutableComposition = [[AVMutableComposition alloc] init];


movieURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%llu.mov", NSTemporaryDirectory(), mach_absolute_time()]];


NSError *movieError = nil;
assetWriter = [[AVAssetWriter alloc] initWithURL:movieURL
fileType: AVFileTypeQuickTimeMovie
error: &movieError];
NSDictionary *assetWriterInputSettings = [NSDictionary dictionaryWithObjectsAndKeys:
AVVideoCodecH264, AVVideoCodecKey,
[NSNumber numberWithInt:FRAME_WIDTH], AVVideoWidthKey,
[NSNumber numberWithInt:FRAME_HEIGHT], AVVideoHeightKey,
nil];
assetWriterInput = [AVAssetWriterInput assetWriterInputWithMediaType: AVMediaTypeVideo
outputSettings:assetWriterInputSettings];
assetWriterInput.expectsMediaDataInRealTime = YES;
[assetWriter addInput:assetWriterInput];

assetWriterPixelBufferAdaptor = [[AVAssetWriterInputPixelBufferAdaptor alloc]
initWithAssetWriterInput:assetWriterInput
sourcePixelBufferAttributes:nil];
[assetWriter startWriting];

firstFrameWallClockTime = CFAbsoluteTimeGetCurrent();
[assetWriter startSessionAtSourceTime:kCMTimeZero];
startSampleing=YES;
}

现在的一个缺点是需要确定一种方法来在写入编码数据时读取它,相信我,当我说我们中的一些开发人员在我编写时试图弄清楚如何做到这一点这个。

关于ios - 如何构建针对 iOS 优化的 ffmpeg,可能使用硬件解码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13804651/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com