Я использую AVAssetWriter для кодирования серии изображений в файл фильма, следуя ответу Зула здесь: Как экспортировать массив UIImage в виде фильма? .
Короче говоря, мой процесс:
- создать UIImage из .png файла
- Получить CGImage от UIImage
- преобразование CGImage в CVPixelBuffer (точно используя функцию zoul pixelBufferFromCGImage)
- записать кадры в .mov, используя AVAssetWriterInputPixelBufferAdaptor и AVAssetWriter
В большинстве случаев это работает нормально, однако иногда закодированный файл .mov искажается (см. Рисунок ниже). Мне было интересно, знаком ли этот тип вывода искаженного изображения кому-либо, и если бы был какой-то шаг, который я мог бы предпринять в кодировании кадров, которые могли бы вызвать это. Проблема возникает именно тогда, когда я использую исходные изображения, генерируемые вызовами в Titanium для ImageView.toBlob (). Помимо титановой стороны, любые намеки на то, как может выглядеть этот тип результата, были бы великолепны!
Спасибо,
Александр
Экран из фильма:
http://tinypic.com/view.php?pic=8wkqys&s=7
Исходное изображение: http://commons.wikimedia.org/wiki/File:Phalaenopsis_(aka).jpg