我正在制作一个应用程序,显示流视频(通过rtmp
)。我已经开始为它使用MobileVLCKit
。我需要一个能够制作视频快照的功能。我试过内置功能使快照VLCMediaPlayer(MobileVLCKit)
func saveVideoSnapshotAt(path: String!, withWidth: UInt32, andHeight: UInt32)
但它不起作用。这就是支持写了关于它videolan
论坛:
“这种方法是OS X只当它是在iOS(它应该 没有,我同意)曝光,它不会工作在移动设备“。
然后我试图使用标准iOS
功能:
@IBOutlet weak var videoView: UIView!
var mediaPlayer = VLCMediaPlayer()
if let url = NSURL(string: "rtmp://someurl") {
let media = VLCMedia(URL: url)
mediaPlayer.media = media
mediaPlayer.drawable = videoView
mediaPlayer.play()
}
UIGraphicsBeginImageContext(videoView.frame.size);
guard let context = UIGraphicsGetCurrentContext() else {
print("Couldn't get context")
return
}
videoView.layer.renderInContext(context)
guard let screenshot = UIGraphicsGetImageFromCurrentImageContext() else {
UIGraphicsEndImageContext()
return
}
UIGraphicsEndImageContext()
在结果我只得到UIView
后台截图,没有视频吧。有谁知道是否有任何解决方案或至少应该继续寻找哪个方向?
是的。我只是不想在这里写出整个代码。视频加载和播放时,我使用videoView进行所有操作。 –