Delphi Class для поддержки кодирования серии растровых изображений и видеоклипов в видеофайл. Это требует библиотеки FFMPEG и предназначено в качестве простого в использовании интерфейса для этой библиотеки. Класс был разработан в соответствии с Delphi 10.3.3, но должен работать с более поздними версиями и некоторыми предыдущими версиями. Пожалуйста, сообщите о проблемах. Мы концентрируемся на написании видеопотоков, существует только рудиментарная поддержка для добавления аудио -потоков. FFMPEG-Library-версия и заголовок, содержащиеся здесь, из https://github.com/passbyyou888/ffmpeg header спасибо!
Есть 2 версии класса Encoder:
TBitmapEncoder VCL-based for platforms Win32 and Win64,
relatively stable with H264, Mpeg-4, Mjpeg, Mpeg1/2 encoders and .avi, .mp4 containers.
TBitmapEncoderM fmx-based for cross platform, a little less tested.
Demo currently working with Win32, Win64, Android, Android64 thanks to TurboMagic.
Recently more features translated from Win-version, more thoroughly tested under
Android32, better demo.
Демонстрация кросс -платформы требует как минимум Delphi 10.3.3, поскольку она содержит необходимую поддержку для запроса разрешения на запись на внешнее хранилище во время выполнения. Видео, созданное на Android, хранится в папке Public Download, а Demo Android компилируется как для 32, так и для 64 -битных.
Общие объекты для iOS поставляются, но ни один из нынешних разработчиков не имеет рабочей настройки разработки iOS, поэтому они не были добавлены к менеджеру развертывания, и, таким образом, он также не был проверен на iOS. Не стесняйтесь делать это и создайте запрос на притяжение, как только вы преуспеете.
Проблемные области:
Обработка ошибок должна быть улучшена.
Версия побед:
У добавленного конструктора CreateFromVideo (Win Version) есть некоторые проблемы.
Кроссплатформенная версия:
H264-Encoder не работает под Android (по крайней мере, не Android32). Использование TBITMAP в потоках стало более стабильным, но могут остаться проблемы. Delphi утверждает, что безопасность потоков TBITMAP, но это не так, особенно под Android. Некоторые обходные пути находятся на месте, пиксельные операции в настоящее время в основном выполняются на видео-кадрах, которые, кажется, более безопасны.
Идеи, отчеты, исправляют наиболее приветственные. *
Проблемы более подробно описаны в демонстрациях.