Я искал, чтобы найти, что sdk не поддерживает цифровое увеличение или уменьшение, вы должны сделать это косвенно. Способ, который я нашел в stackoverflow, заключается в преобразовании AVCaputureVideoPreviewLayer
во время записи и выполнении соответствующей постобработки преобразования в выходное видео (. Моя нынешняя идея заключается в использовании AVMutableVideoCompositionLayerInstruction's
функции линейного преобразования. ).
Проблема заключается в том, как вы можете записать весь непрерывный ход действий пользователя по масштабированию, что, я думаю, может быть очень сложным поведением увеличения и уменьшения масштаба. Я имею в виду, например, я разрабатываю ползунок, чтобы пользователь мог управлять масштабированием, пользователь может медленно удерживать ползунок в 4 раза (, скажем, последние 3 секунды ), и, не отпуская ползунок, быстро уменьшить масштаб до 2X (. ] скажем, последние 0,5 секунды ), я должен записать все эти изменения в соответствии с временной шкалой.
Я действительно считаю эту запись сложной, кроме того, вы также должны гарантировать, что она не будет стоить слишком много ресурсов, чтобы обеспечить бесперебойную работу процесса записи видео! Или какой-то другой способ реализации цифрового зума? Благодарен любому помощнику!