我正在做一些視頻編輯,我需要將AVMutableVideoComposition放到播放器項目中。要進入玩家項目,它需要成爲AVAsset。有誰知道他們的頭如何做到這一點?我無法找到如何在我查看的文檔中執行此操作。謝謝如何將AVMutableVideoComposition轉換爲AVAsset
0
A
回答
5
您可以使用AVMutableComposition
作爲AVPlayerItem
的資產,因爲AVMutableComposition
是AVAsset
的子類。
AVMutableVideoComposition
不是AVAsset
的子類,而是一種在AVMutableComposition
中顯示您插入到AVAssetTracks
中的視頻的方法。
(如果您的所有影片被定位你想沒有AVMutableVideoComposition
的方式,那麼你可能並不需要設置播放器項目的videoComposition
屬性)
ObjC:
AVMutableComposition *composition = ...
AVMutableVideoComposition *videoComposition = ...
AVPlayerItem *item = [AVPlayerItem playerItemWithAsset:composition];
item.videoComposition = videoComposition;
斯威夫特:
let composition = AVMutableComposition(...
let videoComposition = AVMutableVideoComposition(...
let item = AVPlayerItem(asset: composition)
item.videoComposition = videoComposition
0
0
檢查這 - exportPath可以保持視頻
012的任何臨時路徑func ConvertAvcompositionToAvasset(avComp: AVComposition, completion:@escaping (_ avasset: AVAsset) -> Void){
let exporter = AVAssetExportSession(asset: avComp, presetName: AVAssetExportPresetHighestQuality)
let randNum:Int = Int(arc4random())
let exportPath: NSString = NSTemporaryDirectory().appendingFormat("\(randNum)"+"video.mov") as NSString
let exportUrl: NSURL = NSURL.fileURL(withPath: exportPath as String) as NSURL
exporter?.outputURL = exportUrl as URL
exporter?.outputFileType = AVFileTypeQuickTimeMovie
exporter?.shouldOptimizeForNetworkUse = true
exporter?.exportAsynchronously(completionHandler: {() -> Void in
DispatchQueue.main.async(execute: {() -> Void in
if exporter?.status == .completed {
let URL: URL? = exporter?.outputURL
let Avasset:AVAsset = AVAsset(url: URL!)
completion(Avasset)
}
else if exporter?.status == .failed{
print("Failed")
}
})
})
}
相關問題
- 1. 將URL轉換爲AVAsset - Swift
- 2. Swift 3將數據轉換爲AVAsset或PHAsset
- 3. iOS:AVPlayerItem轉AVAsset
- 4. 如何將錢轉換爲
- 5. 如何將AVAsset旋轉至縱向模式?
- 6. 如何將MSSQL轉儲轉換爲MySql
- 7. 如何將換行符轉換爲\ n
- 8. 轉換任何視頻網址爲.MP4的擴展名,而無需使用Avasset
- 9. 如何防止將decimal.TryParse轉換爲「。」爲「。」?
- 10. 如何將'+'轉換爲+,'*'爲*等
- 11. 在導出時轉換不在AVMutableVideoComposition中工作
- 12. 如何將變體轉換爲(或轉換爲)AnsiChar?
- 13. AVMutableVideoCompositionInstruction是在AVMutableVideoComposition
- 14. 將DrawingContext轉換爲幾何?
- 15. 將System.Drawing.Point轉換爲JSON。如何將'X'和'Y'轉換爲'x'和'y'?
- 16. 如何使用FFMPEG將視頻轉換爲flv並將其轉換爲flv?
- 17. 如何使用Scala將普通類轉換爲JSON並將其轉換爲JSON?
- 18. 如何使用Ghostscript將XPS轉換爲PDF或將XPS轉換爲DOC?
- 19. 如何將cairo-pdf轉換爲eps,而無需將字體轉換爲輪廓
- 20. 如何在將enml轉換爲html時將en-media轉換爲im
- 21. 如何將圖像轉換爲字節[]?
- 22. 如何將wstring轉換爲LPOLESTR?
- 23. 如何將對象轉換爲泛型?
- 24. 如何將會話轉換爲列表?
- 25. 如何將IplImage轉換爲Mat?
- 26. 如何將.jar 1.7轉換爲.jar 1.6
- 27. Xamarin.iOS,OxyPlot如何將UIColor轉換爲OxyColor
- 28. 如何將DependencyObject轉換爲AutomationElement?
- 29. 如何將「should」轉換爲「expect」約定?
- 30. 如何將此html轉換爲jquery?
請看這個答案:[導出AVComposition並獲取本地url播放和上傳視頻](https://stackoverflow.com/a/46559459/2276920) – coder123