Ir à oferta completa

SWIFT PROGRAMMER - AVFOUNDATION - FLUTTER

Descrição da oferta de emprego

I'm developing a Flutter app that will use native IOS AVFoundation for camera code.
Below are the items i'm looking to add to my Existing starter project.
Looking for someone to collaborate with me closely on the project.
1.
**Video Capture** - **AVCaptureSession**.
Use `AVCaptureSession` to manage the flow of data from input devices (like the camera) to outputs.
- **AVCaptureDevice**.
Select and configure the camera as the input device.
- **AVCaptureVideoDataOutput**.
This output allows you to access each frame of video data as it's captured.
You can use a delegate method to process each frame.
2.
**Buffering Frames with DispatchQueue** - **CMSampleBuffer**.
Each frame is captured as a `CMSampleBuffer`.
You can access the pixel buffer and metadata from this object.
- **DispatchQueue**.
Use a serial `DispatchQueue` to manage the frame buffer.
This ensures that frames are enqueued and dequeued in a thread-safe and FIFO manner.
3.
**Adding Metadata** - **Local Timestamp/Frame Number**.
For each frame, generate a timestamp or frame number.
- **Metadata Attachment**.
Use `CMSetAttachment` to add metadata to the `CMSampleBuffer`.
This metadata won't be visible in the video but can be extracted later.
4.
**Buffer After Metadata with DispatchQueue** - **DispatchQueue**.
Use a serial `DispatchQueue` to manage the buffer after metadata is added.
This ensures that frames are processed in order and safely across threads.
5.
**Packaging Frames in Memory** - **Grouping Frames**.
Periodically (e.
., every 120 frames), remove frames from the buffer and package them into a video file.
- **AVAssetWriter**.
Use `AVAssetWriter` with an `AVAssetWriterInputPixelBufferAdaptor` to write frames to a file in memory.
- **Data Object**.
Retrieve the video data as a `Data` object once writing is finished.
6.
**Buffering Finished Video Data with DispatchQueue** - **DispatchQueue**.
Use a serial `DispatchQueue` to manage the upload buffer, ensuring that video data is enqueued and dequeued in a thread-safe and FIFO manner.
- **Concurrency Management**.
Use a separate thread or operation queue to handle uploads, ensuring that the main processing pipeline remains responsive.
7.
**Handling Network Latency** - **Asynchronous Upload**.
Use the AWS SDK for Swift to upload each file from the buffer to S3.
Implement retry logic to handle transient network errors.
- **Network Buffer**.
The upload buffer helps smooth out any network latency issues by maintaining a steady upload rate.
8.
**Sending to Server** - **AWS S3 or Media Services**.
Consider using AWS S3 for storage or AWS Media Services for streaming.
Use the AWS SDK for Swift to handle the upload.
- **Error Handling and Retries**.
Implement error handling and retry logic to ensure files are uploaded successfully, even if there are temporary network issues.
iPhone Swift Flutter ID do Projeto.
# Sobre o projeto 47 propostas Aberto para ofertas Projeto remoto Ativo em 1 minuto atrás
Ir à oferta completa

Detalhes da oferta

Empresa
  • Indeterminado
Localidade
  • Em todo Portugal
Endereço
  • Indeterminado - Indeterminado
Data de publicação
  • 29/12/2024
Data de expiração
  • 29/03/2025
DataScience Programmer- DataScienceTF#2024
Techframe - Sistemas de Informação, SA

É apaixonado(a) por dados e está pronto(a) para mergulhar num oceano de informações não exploradas? a techframe procura um datascience programmer para se juntar a uma equipa proativa e inovadora e enfrentar os desafios da nova era dos dados... outros dados de posição o que oferecemos: trabalhar em projetos......