Uma classe Delphi para suportar a codificação de uma série de bitmaps e videoclipes em um arquivo de vídeo. Requer a biblioteca FFMPEG e se destina a uma interface fácil de usar para esta biblioteca. A classe foi desenvolvida no Delphi 10.3.3, mas deve trabalhar com versões posteriores e algumas versões anteriores também. Por favor, relate problemas. Nós nos concentramos em escrever fluxos de vídeo, há apenas suporte rudimentar para adicionar fluxos de áudio. O FFMPEG-Library-Version e o cabeçalho continham aqui orginam em https://github.com/passbyyou888/ffmpeg-ader obrigado!
Existem 2 versões da classe do codificador:
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.
A demonstração da plataforma cruzada requer pelo menos Delphi 10.3.3, pois contém o suporte necessário para solicitar permissão para gravar para armazenamento externo em tempo de execução. O vídeo criado no Android é armazenado na pasta Public Downloads e as compilações de demonstração do Android para 32 e 64 bits.
Objetos compartilhados para iOS são fornecidos, mas nenhum dos desenvolvedores atuais possui uma configuração de desenvolvimento de iOS em funcionamento, para que eles não tenham sido adicionados ao gerente de implantação e, portanto, também ainda não foram testados no iOS. Sinta -se à vontade para fazê -lo e criar uma solicitação de tração depois de ter sucesso.
Áreas problemáticas:
O tratamento de erros precisa ser melhorado.
VERIÇÃO DE VINHA:
O construtor adicionado CreateFromVideo (versão Win) tem alguns problemas.
Versão de plataforma cruzada:
O codificador H264 não funciona sob o Android (pelo menos não Android32). O uso do TBITMAP em threads se tornou mais estável, mas pode haver problemas restantes. A Delphi reivindica a segurança do tópico do TBBITMAP, mas esse não parece ser o caso, particularmente sob o Android. Algumas soluções alternativas estão em vigor, as operações de pixels agora são realizadas principalmente nos quadros de vídeo, que parecem mais seguros.
Idéias, relatórios, correções muito bem -vindas. *
Os problemas são descritos com mais detalhes nas demos.