如何在不播放的情况下快速捕捉网络流的图片

时间:2016-04-13 16:46:16

标签: swift ffmpeg stream frame capture

我正在为ios开发一个应用程序,使用swift,我需要每分钟从流中捕获一帧,以便在图片视图中显示。

我正在考虑使用ffmpeg。 我在我的mac终端上尝试了ffmpeg命令,它可以工作:

ffmpeg -probesize 4096 -analyzeduration 50000 -threads 1 -i -vf fps = fps = 1 -frames 1 -threads 1 -y -s 320×240 -f mjpeg -pix_fmt yuvj444p .jpg

但是我不知道如何在我的应用程序中调用我编译的ffmpeg for ios(我已经使用'.a'libs编译了它)

我还读过关于使用(不是ffmpeg)的东西:

func thumbnail(sourceURL sourceURL:NSURL) -> UIImage?
{
    let asset = AVAsset(URL: sourceURL)
    let imageGenerator = AVAssetImageGenerator(asset: asset)
    imageGenerator.appliesPreferredTrackTransform = true

    var time = asset.duration
    time.value = min(time.value, 2)

    do {
        let imageRef = try imageGenerator.copyCGImageAtTime(time, actualTime: nil)
        return UIImage(CGImage: imageRef)
    }
    catch let error as NSError
    {
        print("Image generation failed with error \(error)")
        return nil;
    }
}

但它不起作用。 它返回此错误:

图像生成失败,错误错误Domain = AVFoundationErrorDomain Code = -11800“操作无法完成”UserInfo = {NSLocalizedDescription =操作无法完成,NSUnderlyingError = 0x15734af0 {错误域= NSOSStatusErrorDomain代码= -12782“( null)“},NSLocalizedFailureReason =发生未知错误(-12782)} 致命错误:在解包可选值时意外发现nil

有什么想法吗?

由于

0 个答案:

没有答案