У меня есть приложение, где вы можете загружать видео в Firebase. Проблема, с которой я недавно столкнулся, состоит в том, что все видео, загруженные в FireBase, имеют длительность 0 секунд (это когда в БД, до этого, как и в приложении, они имеют правильную длину), что, конечно, неправильно.
Некоторые вещи, которые я пробовал:
- Я проверяю, как я загружаю, что я также добавил ниже, и это кажется правильным.
- миниатюра типа UIImage
- Видео прямо перед отправкой (в предварительном просмотре у меня в приложении) видео выглядит идеально.
Еще одна вещь, которую я заметил, это то, что миниатюра, которую я загружаю вместе с видео, которое является изображением, загружается как видео.
} else if let vidData = media.videoURL {
print("VIDEO")
let autoIDSto = "media\(media.numMedia).mov"
print(autoIDSto)
let autoID = "media\(media.numMedia)"
let storageRef = Storage.storage().reference().child((Auth.auth().currentUser?.uid)!).child("post:\(postID)").child(autoIDSto)
let postRef = childRef.child("Media")
let uploadData = media.videoURL
let uploadTask = storageRef.putFile(from: vidData, metadata: nil) { (metadata, error) in
print("\(vidData) : Video data")
guard let metadata = metadata else { return }
if let error = error {
print(error)
}
storageRef.downloadURL(completion: { (url, error) in
//a bunch of code to add to DB
if let thumbnailImageData = media.thumbnailImage!.jpegData(compressionQuality: 1.0) {
storageRef.putData(thumbnailImageData, metadata: nil) { (metadata, error) in
storageRef.downloadURL(completion: { (url, error) in
if let thumbnail = url {
mediaRef.updateChildValues(["thumbnail" : "\(thumbnail)"])
Что не так и как я могу это исправить?