Record Video and upload to Firebase
有人知道如何将视频上传到 Firebase 吗?
我使用了这个链接:在 swift
中录制视频
我设法在 giphy 上录制并在同一视图 Gif 中播放我的视频
播放我刚刚录制的视频的代码是:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
@IBAction func playVideo(sender: AnyObject) {
print(“Play a video”) // Find the video in the app’s document directory let videoAsset = (AVAsset(URL: NSURL(fileURLWithPath: dataPath))) print(playerItem) let videoView = UIView(frame: CGRectMake(self.view.bounds.origin.x, self.view.bounds.origin.y, self.view.bounds.width, self.view.bounds.height))
let pathURL = NSURL.fileURLWithPath(dataPath) } moviePlayer!.view.frame = videoPreview.bounds |
而且我知道如何将图片上传到 Firebase 我需要像这样使用 NSString:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var base64String : NSString!
//let pic = UIImagePNGRepresentation(UIImage(named:”3″)!) self.base64String = picture.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength) let updatedProfileInfo = [ |
但是你如何处理视频呢?
谢谢
- 尝试将视频存储在 Firebase 数据库中是个坏主意。在这里查看我半小时前的回答:stackoverflow.com/questions/36718006/…
- 好的谢谢。但为什么这是个坏主意?如果我在哪里可以找到视频存储服务?你的意思是精简版 youtube 吗?
- Firebase 是一个 JSON 数据库。视频(如图像)本质上不是 JSON 数据。关于使用什么视频存储服务的建议在 Stack Overflow 上是题外话,但一些谷歌搜索应该会让你得到一个可以持续一生的列表。
- 我在这方面与@FrankvanPuffelen 合作 – 应避免在 Firebase 中存储视频。但是,如果它是一个非常短的视频,比如 10 秒 @ 10 帧/秒,则可以选择; Quicktime 支持 Base64 编码。此外,视频只是连续观看的一组单独的图像。因此,您可以拍摄视频,将其拼接成帧,然后存储每一帧(移动播放头、复制图像、编码并写入 firebase、冲洗、重复)。请记住,虽然每个节点的大小限制为 10MB,但您将通过视频快速超越这一点。另一种存储解决方案是一个更好的主意。
这是我使用 UIImagePicker 对象类在我的设备中选择视频或图像并将其上传到 Fireabase 的解决方案:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
@IBAction func uploadButton(_ sender: Any) {
// Configuration let picker = UIImagePickerController() picker.allowsEditing = true picker.delegate = self picker.mediaTypes = [kUTTypeImage as String, kUTTypeMovie as String] // Present the UIImagePicker Controller // The didFinishPickingMediaWithInfo let’s you select an image/video and let’s you decide what to do with it. In my example, I decided to convert the selected data into video and upload it to Firebase Storage if let videoURL = info[UIImagePickerControllerMediaURL] as? NSURL { // Where we’ll store the video: // Start the video storage process } |
- 这是否适用于文档目录 URL 而不是照片库?前任。 file:///var/mobile/Containers/Data/Application/E9319B41-05BF??-4F5C-8D58-999CE0087??D8F/Documents/tempor??ary_video.mp4
- 当然!只要您可以通过 URL 指向媒体所在的位置,您就可以将其上传到服务器。试一试,让我知道进展如何:)
来源:https://www.codenong.com/36722251/