Find Jobs
Hire Freelancers

Android MP4 Muxer (MPEG-4 Encoder)

$500-5000 USD

Cancelado
Publicado há quase 14 anos

$500-5000 USD

Pago na entrega
Given are raw H.264 video and AAC audio files, which have to muxed (encoded) into a new valid MP4 (MPEG-4 container) file. This is not a project for Android beginners! Only expert Android/Java programmers will be able to handle it. We provide several example files at the beginning and during the project, which have to converted to valid MP4 files that will play with the standard Android MediaPlayer class. ## Deliverables Given are raw H.264 video and AAC audio files, which have to muxed (encoded) into a new valid MP4 (MPEG-4 container) file. This is not a project for Android beginners! Only expert Android/Java programmers will be able to handle it. We provide several example files at the beginning and during the project, which have to converted to valid MP4 files that will play with the standard Android MediaPlayer class. The program should be developed in Java. The transformation must be very performant, e.g. no garbage collection may be triggered while muxing(processing) very large files! Minimal CPU consumption. Stream-based processing (low memory consumption). The programm will receive multiple raw video&audio files as streams. Video and audio must be in-sync at all times in the resulting MP4 file. After the processing has started, more files may be added that will have muxed to the same MP4 file. In other words, the muxer must start processing data before all data/files are available. The muxer must start writing to the output stream as soon as sufficient data is available. The basic interface we need looks like this (first draft, maybe it will make sense to adjust the interface during the project if you and us find better solutions): interface Mp4Muxer { /** Sets the duration of the MP4 (as seen in media players). */ void setDuration(int/float/double/... durationOfMp4); /** Adds a raw video and a correspending raw audio file to the processing queue. */ /** Further files may be added after startMuxing has been called (processing already started). */ void addRawFiles(InputStream videoFile, InputStream audioFile); /** Starts processing of the queue, does generate output to the stream immediately. */ void startMuxing(OutputStream out); /** Marks the end of processing, no further files will be added. Any pending data must be flushed into the stream */ void stopMuxing(); } Source Code will be reviewed by senior Java developers and feedback will be given that must be considered. Basic coding guidelines must be followed: * Clean object-oriented design * No duplicate code * Line length: 120 * 4 spaces indention * Classes and variable should be exactly named after what they do or stand for (speaking names, no abbreviations) * Classes should not grow over 800 lines, methods not over 30 lines (reconsider design if limit is reached) This is a commercial project and open source code may only be used if the license is OK (no GPL etc.) and we agree to it. The result (including source code and libraries) may not be reused for other projects/clients; it must be exclusive to us. NDA is required. If everything goes well, there are good chances that we will cooperate with you in future projects.
ID do Projeto: 3623280

Sobre o projeto

3 propostas
Projeto remoto
Ativo há 14 anos

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos
3 freelancers estão ofertando em média $817 USD for esse trabalho
Avatar do Usuário
See private message.
$752,25 USD em 10 dias
2,7 (15 avaliações)
4,6
4,6
Avatar do Usuário
See private message.
$850 USD em 10 dias
0,0 (0 avaliações)
0,0
0,0
Avatar do Usuário
See private message.
$850 USD em 10 dias
0,0 (3 avaliações)
2,5
2,5

Sobre o cliente

Bandeira do(a) GERMANY
Germany
0,0
0
Membro desde ago. 4, 2010

Verificação do Cliente

Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos Publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.