视频转码前进行是否为空间视频判断

This commit is contained in:
bluesea 2024-03-21 17:06:16 +08:00
parent f9eee97616
commit ae2160979a
7 changed files with 56 additions and 90 deletions

View File

@ -7,7 +7,7 @@
<key>Alamofire.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>7</integer>
<integer>8</integer>
</dict>
<key>CocoaAsyncSocket.xcscheme_^#shared#^_</key>
<dict>
@ -17,52 +17,52 @@
<key>DeviceKit.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>14</integer>
<integer>16</integer>
</dict>
<key>FirebaseCore.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>15</integer>
<integer>0</integer>
</dict>
<key>FirebaseCoreExtension.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
<integer>11</integer>
</dict>
<key>FirebaseCoreInternal.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>17</integer>
<integer>5</integer>
</dict>
<key>FirebaseCrashlytics.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>2</integer>
<integer>10</integer>
</dict>
<key>FirebaseInstallations.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>21</integer>
<integer>13</integer>
</dict>
<key>FirebaseMessaging.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>10</integer>
<integer>6</integer>
</dict>
<key>FirebaseSessions.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>12</integer>
<integer>18</integer>
</dict>
<key>GoogleDataTransport.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>20</integer>
<integer>14</integer>
</dict>
<key>GoogleUtilities.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>9</integer>
<integer>4</integer>
</dict>
<key>KTVHTTPCache.xcscheme_^#shared#^_</key>
<dict>
@ -72,52 +72,52 @@
<key>Kingfisher-Kingfisher.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>6</integer>
<integer>15</integer>
</dict>
<key>Kingfisher.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>3</integer>
<integer>7</integer>
</dict>
<key>LLCycleScrollView.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>4</integer>
<integer>17</integer>
</dict>
<key>Pods-SwiftProject.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>19</integer>
<integer>1</integer>
</dict>
<key>PromisesObjC.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>16</integer>
<integer>19</integer>
</dict>
<key>PromisesSwift.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
<integer>2</integer>
</dict>
<key>SVProgressHUD.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>13</integer>
<integer>20</integer>
</dict>
<key>SnapKit.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>18</integer>
<integer>3</integer>
</dict>
<key>TZImagePickerController.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
<integer>12</integer>
</dict>
<key>nanopb.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>11</integer>
<integer>9</integer>
</dict>
</dict>
</dict>

View File

@ -7,7 +7,7 @@
<key>SwiftProject.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>8</integer>
<integer>21</integer>
</dict>
</dict>
</dict>

View File

@ -158,8 +158,8 @@
filePath = "SwiftProject/Project/Controller/RecordingVideo/VRPhotoTransformController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "153"
endingLineNumber = "153"
startingLineNumber = "175"
endingLineNumber = "175"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>

View File

@ -323,7 +323,7 @@ class CCSpatialVideoDisplayController: BaseController, AVPlayerViewControllerDel
case .parallelEyes://
while let nextSampleBuffer = self.assetOutput!.copyNextSampleBuffer() {
// print("...")
}
self.assetOutput?.reset(forReadingTimeRanges:[NSValue(timeRange: tr)])
@ -503,16 +503,6 @@ class CCSpatialVideoDisplayController: BaseController, AVPlayerViewControllerDel
}
//
// func play(){
//
// let playerItem = AVPlayerItem(asset: videoOriginalAsset)
// playerLay.player = AVPlayer(playerItem: playerItem)
// playerLay.player!.play()
// playerLay.backgroundColor = UIColor.clear.cgColor
// }
//MARK: - action
@objc public func navgationButtonClick2(sender:UIButton){
@ -591,46 +581,6 @@ class CCSpatialVideoDisplayController: BaseController, AVPlayerViewControllerDel
// player!.play()
self.selectedIndex = rsi
//
// if(selectedIndex == 1){
//// Task {
//// try await videoConverter.convertStereoscopicVideoToSpatialVideo(sourceVideoURL: sourceVideoURL!,outputVideoURL: outputVideoURL!){[weak self] progress in
//// print(progress)
//// DispatchQueue.main.async { [weak self] in
//// self!.btn3!.setTitle("=" + String(progress), for: UIControl.State.normal)
//// if(progress > 0.99){
//// self!.videoTempAsset = AVAsset(url: self!.outputVideoURL!)
//// self!.play()
//// }
//// }
//// }
//// }
// }
//
// if(selectedIndex == 4){
// Task {
// convertor2.type = 4
//
// try await convertor2.convertVideo(asset: videoTempAsset!, outputFile: outputVideoURL! ) { [self] progress in
// print(progress)
// DispatchQueue.main.async { [weak self] in
// self?.progressView.setProgress(progress, animated: true)
// if(progress > 0.99){
// self!.videoTempAsset = AVAsset(url: self!.outputVideoURL!)
// self!.play()
// }
// }
//
// }
// }
// }
}
}

View File

@ -563,11 +563,16 @@ class VRVideoTransformController: BaseController {
extension VRVideoTransformController {
@objc private func videoTransformAction() {
// let path = Bundle.main.path(forResource: "IMG_0071", ofType: "MOV")
// let videoURL = URL.init(filePath: path!)
self.showProgress()
self.mAvPlayer?.player?.pause()
let videoURL = sourceVideoURL
let videoOriginalAsset:AVAsset? = AVAsset(url: sourceVideoURL!)
if !ZZHHelper.isSpatialVideo(asset: videoOriginalAsset!) {
SVProgressHUD.showInfo(withStatus: "非空间视频不能转码")
return
}
self.showProgress()
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let outputURL = documentsDirectory.appendingPathComponent("output_path.mov")
@ -594,7 +599,7 @@ extension VRVideoTransformController {
let horizontalDisparity: Float = 0.0
let horizontalFieldOfView: Float = 90.0
let outputVideoURL = URL.documentsDirectory.appending(path:"convertor_one.mov")
let videoOriginalAsset:AVAsset? = AVAsset(url: sourceVideoURL!)
Task {
try await spatialVideoConver.convertVideo(asset: videoOriginalAsset!, outputFile: outputVideoURL ,type: self.selected3DFormat) { [weak self] (progress,state) in
if(state){

View File

@ -37,18 +37,29 @@ class ZZHHelper {
//MARK:
class func isSpatialVideo(asset: AVAsset) -> Bool {
for track in asset.tracks {
if track.mediaType == .video {
for formatDesc in track.formatDescriptions {
let dic = CMFormatDescriptionGetExtensions(formatDesc as! CMFormatDescription) as! Dictionary<String, Any>
let fromatName = dic["FormatName"] as? String
if let fn = fromatName,fn == "HEVC"{
return true
}
}
// for track in asset.tracks {
// if track.mediaType == .video {
// for formatDesc in track.formatDescriptions {
// let dic = CMFormatDescriptionGetExtensions(formatDesc as! CMFormatDescription) as! Dictionary<String, Any>
// let fromatName = dic["FormatName"] as? String
// if let fn = fromatName,fn == "HEVC"{
// return true
// }
// }
// }
// }
// return false
let metadata = asset.metadata(forFormat: AVMetadataFormat.quickTimeMetadata)
let isSpatialVideo = metadata.contains { item in
if let identifier = item.identifier?.rawValue {
return identifier == "mdta/com.apple.quicktime.spatial.format-version"
}
return false
}
return false
return isSpatialVideo
}
//