不知道还能在哪里问这个问题,所以我想从这里开始。
我有两个视频剪辑。两个视频剪辑都没有任何音频。
其中一段视频片段是通过AVCaptureSession从iPhone的摄像头上截取的。
第二个视频剪辑本地存储在设备上。
我想合并这两个视频的方式,播放整个捕获的视频,紧随其后的是第二个视频剪辑的一秒。然后,我将新的视频剪辑与预定的音频文件合并,并分割到我的共享菜单,在那里我将其保存到相机胶卷中。
最终结果在摄影机卷轴中完全正确地播放。然而,当我将视频分享到Facebook上时,第一个视频剪辑被扭曲为绿色屏幕,有时甚至是灰色屏幕。第二个剪辑在其时间到达时可以正常播放。在整个过程中音频效果都很好。
我不知道这是什么原因。
有什么帮助吗?
func mergeVideos() {
let videoAsset = AVAsset(URL: recordedVideoURL)
let videoAsset2 = AVAsset(URL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Credits", ofType: "mp4")!))
let audioAsset = AVAsset(URL: finalAudioURL)
// 1 - Create AVMutableComposition object.
let mixComposition = AVMutableComposition()
// 2 - Audio track
do {
let audioTrack = mixComposition.addMutableTrackWithMediaType(AVMediaTypeAudio, preferredTrackID: 0)
try audioTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, audioAsset.duration + CMTime(seconds: 1, preferredTimescale: 30)), ofTrack: audioAsset.tracksWithMediaType(AVMediaTypeAudio)[0], atTime: kCMTimeZero)
} catch {
print(error)
}
// 3 - Video tracks
do {
let videoTrack = mixComposition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: Int32(kCMPersistentTrackID_Invalid))
try videoTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), ofTrack: videoAsset.tracksWithMediaType(AVMediaTypeVideo)[0], atTime: kCMTimeZero)
try videoTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, audioAsset.duration-videoAsset.duration + CMTime(seconds: 1, preferredTimescale: 30)), ofTrack: videoAsset2.tracksWithMediaType(AVMediaTypeVideo)[0], atTime: videoAsset.duration)
} catch {
print(error)
}
// 5 - Create Exporter
let exporter = AVAssetExportSession(asset: mixComposition, presetName: AVAssetExportPresetHighestQuality)
deleteFileAtURL(videoToShareURL)
exporter!.outputURL = videoToShareURL
exporter!.outputFileType = AVFileTypeMPEG4
exporter!.shouldOptimizeForNetworkUse = true
// 6 - Perform the Export
exporter!.exportAsynchronouslyWithCompletionHandler() {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
hideSpinner()
self.performSegueWithIdentifier("backToShare", sender: self)
})
}
}发布于 2016-05-01 23:57:38
这是违反直觉的,但是你确定这是iPhone的问题而不是Facebook的问题吗?在某些情况下,Facebook视频无法正常播放,无法使用绿屏和适当的音频播放。
值得一试,在Facebook帮助中心点击这些链接并确认
1.Green screen on videos on facebook
2.When I try to play a video I get sound but screen turns green
https://stackoverflow.com/questions/36484386
复制相似问题