Evaluating bids

Processamento de Vídeos em Segundo Plano com Rust

Published on the September 19, 2024 in IT & Programming

About this project

Open

Sou programador há algum tempo, mas sou novo no universo do Rust. Anteriormente, desenvolvi este projeto em Python, mas ao tentar migrá-lo para Rust (para melhorar a performance), enfrentei alguns desafios.

O projeto deve funcionar da seguinte forma:

1) Login via Google: O usuário faz login com sua conta Google para acessar os arquivos do Google Drive;
2) Listagem de Vídeos: No Google Drive, listar apenas os arquivos de vídeo no formato MP4 de uma pasta específica;
3) Download e Processamento: Fazer o download desses vídeos e processá-los;
4) Processamento: Reduzir a qualidade dos vídeos para 320p e convertê-los de MP4 para ASF;
5) Armazenamento: Salvar o vídeo processado no computador do usuário.

O sistema rodará em segundo plano, então é necessário implementar uma estratégia eficiente de fila (Queue) para gerenciar o processamento de vídeos. A cada vídeo concluído, o próximo da fila deve ser processado. Além disso, o projeto deve verificar periodicamente a pasta do Google Drive em busca de novos vídeos para adicionar à fila.

Quanto ao processamento dos vídeos, você tem liberdade para aplicar as melhores estratégias de desempenho que considerar apropriadas, como concorrência e paralelismo. O foco é garantir um fluxo eficiente e contínuo.

Um ponto importante: o projeto não deve exigir a instalação de dependências externas como FFmpeg. Prefiro que seja utilizada uma biblioteca Rust que já contenha o binário necessário para o processamento de vídeos.

Embora eu considere este um projeto "simples" para quem já é familiarizado com Rust, gostaria de contar com sua experiência para garantir a eficiência e robustez do sistema.

Observação final, como estou utilizando este projeto para estudar Rust e sou iniciante na linguagem, peço que o código siga boas práticas de comentários. Isso me ajudará a entender melhor a estrutura e lógica do Rust, facilitando meu aprendizado.

Project overview

O objetivo deste projeto é desenvolver uma solução para processar vídeos de forma eficiente, utilizando a linguagem Rust. A aplicação permitirá ao usuário fazer login via Google para acessar seus arquivos no Google Drive, listar vídeos no formato MP4, baixá-los, processá-los para reduzir a resolução para 320p e convertê-los para o formato ASF, salvando os arquivos processados no computador local. O sistema precisa rodar em segundo plano, gerenciando o processamento de vídeos por meio de uma fila (Queue), garantindo que novas mídias sejam automaticamente processadas conforme são detectadas no Drive. A aplicação deve aproveitar ao máximo as capacidades de Rust, ficando a gosto do programador o uso de estratégias que entender necessárias, como: concorrência, paralelismo, etc.; Para garantir alto desempenho. Uma exigência importante é que a solução não dependa de ferramentas externas como o FFmpeg, devendo utilizar bibliotecas Rust com binários embutidos para o processamento de vídeo. A intenção é evitar que o usuário precise instalar dependências adicionais. Além de fornecer uma solução funcional, este projeto também será utilizado para meus estudos em Rust, já que sou iniciante na linguagem. Por isso, solicito que o código seja bem documentado, seguindo boas práticas de programação, para facilitar meu aprendizado.

Category IT & Programming
Subcategory Web development
What is the scope of the project? Small change or bug
Is this a project or a position? Project
I currently have I have an idea
Required availability As needed
API Integrations Cloud Storage (Dropbox, Google Drive, etc.)
Roles needed Developer

Delivery term: Not specified

Skills needed