Swift AVAT基金会视频和音频

Swift AVAT基金会视频和音频,swift,html,google-chrome,video,avfoundation,Swift,Html,Google Chrome,Video,Avfoundation,我正在尝试用AVFoundation framework一个接一个地制作2个视频。当我用AVAssetExport导出时,结果很好! 当我用HTML5视频播放视频时,我可以在Safari、Firefox上观看,但不能在Google Chrome上观看。 经过深入分析,我发现根本原因是导出的视频有两个音频通道!!!! 事实上,如果我从视频中删除音频,谷歌Chrome上的一切都能正常工作 在我的代码中,我在同一曲目中添加了音频,但时间范围不同: asset1.tracks(withMediaType

我正在尝试用AVFoundation framework一个接一个地制作2个视频。当我用AVAssetExport导出时,结果很好! 当我用HTML5视频播放视频时,我可以在Safari、Firefox上观看,但不能在Google Chrome上观看。 经过深入分析,我发现根本原因是导出的视频有两个音频通道!!!! 事实上,如果我从视频中删除音频,谷歌Chrome上的一切都能正常工作

在我的代码中,我在同一曲目中添加了音频,但时间范围不同:

asset1.tracks(withMediaType: AVMediaTypeAudio)[0].insertTimeRange(asset1.duration, asset1, start1)
asset2.tracks(withMediaType: AVMediaTypeAudio)[0].insertTimeRange(asset2.duration, asset2, start2)
我想这会让我产生两个独立的音轨,而不是一个,这在谷歌浏览器上是不允许的。 通过此链接,您可以找到视频: 如果你用Safari或Firefox打开它,效果很好,但用Google Chorome会显示一个错误。 如何将所有音频曲目合并为一个并导出?
非常感谢

我在使用库合并3个视频时遇到了同样的问题!其中2个来自同一资源,但另一个来自具有不同分辨率和设置的不同资源。经过两天的挖掘,我发现我所需要做的就是把有问题的视频的音频频道转换成单声道

我知道,这不是一个使用任何代码的永久解决方案,但我认为它为那些希望使用代码解决问题的人提供了一个想法:)


希望有帮助。

我在使用library合并3个视频时遇到了同样的问题!其中2个来自同一资源,但另一个来自具有不同分辨率和设置的不同资源。经过两天的挖掘,我发现我所需要做的就是把有问题的视频的音频频道转换成单声道

我知道,这不是一个使用任何代码的永久解决方案,但我认为它为那些希望使用代码解决问题的人提供了一个想法:)


希望有帮助。

嗨,非常感谢你的帮助。我一定会试试这个。为了更好地解释你,在我的例子中,我从iOS摄像头中获得了一个48k音频采样率的视频mp4和一个44,1k音频采样率的mov。两者都是480x640。将立体声转换为单声道的最佳方法是什么?嘿,Alessio,合并视频剪辑中的音频属性差异可能是播放问题的主要风险。我用Adobe Premiere制作了我正在使用的视频。开源命令行工具“ffmpeg”也可以用于转换。然而,我认为最好的方法是使用AVFoundation处理应用程序中的所有这些转换,但我没有足够的经验,对不起:/Thank you that!!解决方案可能是使用AVAssetWriter逐帧重新编码。。但是我还没试过……嗨,非常感谢你的帮助。我一定会试试这个。为了更好地解释你,在我的例子中,我从iOS摄像头中获得了一个48k音频采样率的视频mp4和一个44,1k音频采样率的mov。两者都是480x640。将立体声转换为单声道的最佳方法是什么?嘿,Alessio,合并视频剪辑中的音频属性差异可能是播放问题的主要风险。我用Adobe Premiere制作了我正在使用的视频。开源命令行工具“ffmpeg”也可以用于转换。然而,我认为最好的方法是使用AVFoundation处理应用程序中的所有这些转换,但我没有足够的经验,对不起:/Thank you that!!解决方案可能是使用AVAssetWriter逐帧重新编码。。但我还没试过。。