我搜索了很多,似乎找不到使用AVFoundation
在iOS上视频的最大渲染大小的明确答案。
我需要将两个或多个视频并排或高于每个视频并在一个新视频中进行渲染,最终尺寸大于1920 x 1080.例如,如果我有两个完整的高清视频(1920 x 1080)最终的构图将是3840 x 1080。
我尝试使用AVAssetExportSession
并且它总是将最终视频按比例缩小到最大1920宽度或1080高度。这是可以理解的,因为所有可能的AVAssetExportSession
设置,如预设,文件类型等。
我还尝试使用AVAssetReader
和AVAssetWriter
,但结果是一样的。我只能更好地控制质量,比特率等。
那么......有没有办法可以在iOS上实现,或者我们必须坚持使用max Full HD?
由于
答案 0 :(得分:1)
嗯......实际上答案应该是是以及否。至少是我迄今为止所发现的。
H.264只允许更高级别的分辨率使用更高分辨率。但是在iOS上,可以使用的最大配置文件是AVVideoProfileLevelH264High41
,根据规格,允许最大分辨率 1,920×1,080 @ 30.1 fps 或 2,048×1,024 @ 30.0 fps < / strong>即可。
因此使用H.264编码将无法完成工作,答案应该是否。
另一种选择是使用其他压缩/编解码器。我已经尝试了AVVideoCodecJPEG
并能够呈现这样的视频。所以答案应该是是。
但是..问题是这个视频在iOS上无法播放,这再次改变了 NO 的答案。
总结一下,我会说:如果该视频可以在设备外使用,则该视频将无法使用。
希望它能帮助其他人,如果其他人给出更好,甚至不同的答案,我会很高兴。