Java: Create wrapper for existing open source audio/video decoder/encoder library LIBJITSI
€250-750 EUR
Betalades vid leverans
The goal is to have a wrapper library that wraps the rather complex API of
libjitsi for simple usage.
Links:
Libjitsi: [url removed, login to view]
Jitsi: [url removed, login to view]
Only parts of the library have to be accessed - mainly the devices like microphones, speakers and cameras as well
as the decoders, encoders and video display.
Below is a list of interfaces that should be implemented. You are free to change them as long as simplicity of
usage and functionality is still available.
The result should be a single jar containing all the necessary files of libjitsi and that works
on Windows, Mac and Linux (64 and 32 bit) as well as the source code of the wrapper library.
It should contain a test JFrame that grabs the video and audio of the device encodes it with OPUS, MP3 or AAC for audio
and H264 for Video, decodes it and plays it on the speakers and the original video in one panel of the frame and the encoded/decoded in another panel of the frame.
INTERFACES THAT SHOULD BE IMPLEMENTED:
interface DeviceAccess {
MicrophoneAccess getDefaultMicrophone();
CameraAccess getDefaultCamera();
SpeakerAccess getDefaultSpeakers();
List<String> getMicrophones();
List<String> getCameras();
List<String> getSpeakers();
MicrophoneAccess getMicrophoneByName(String name);
CameraAccess getCameraByName(String name);
SpeakerAccess getSpeakerByName(String name);
}
interface MicrophoneAccess {
void setEchoCancellation(boolean echoCancel);
void setSamplingRate(int samplingRate);
void startRecording(MicDataHandler micDataHandler);
void stopRecording();
}
interface MicDataHandler {
void handleMicData(byte[] micData);
}
interface CameraAccess {
void setFrameRate(int frameRate);
List<Dimension> getAvailableCaptureSizes();
void setCaptureSize(Dimension size);
Image crateScreenShot();
void startRecording(CameraDataHandler cameraDataHandler);
void stopRecording();
}
interface CameraDataHandler {
void handleCameraData(byte[] cameraData);
}
interface SpeakerAccess {
void playSound(byte[] soundData);
}
interface AudioMixer {
void setUpMixer(SpeakerAccess speakerAccess);
void addAudio(byte[] soundData, int speakerChannel);
}
enum AudioCodec {
OPUS,
SPEEX,
MP3,
AAC,
G711,
}
enum VideoCodec {
H264
}
interface DecoderFactory {
Encoder createAudioEncoder(AudioCodec codec, int bitRateInKiloBitsPerSecond);
Encoder createVideoEncoder(VideoCodec codec, int bitRateInKiloBitsPerSecond);
Decoder createAudioDecoder(AudioCodec codec);
Decoder createVideoDecoder(VideoCodec codec);
}
interface Encoder {
byte[] encode(byte[] data);
}
interface Decoder {
byte[] decoder(byte[] data);
}
interface VideoPlayer {
/**
* The player should fill out the component and follow resizing.
* @param component
*/
void setComponent(Component component);
void start();
void stop();
void show(byte[] data);
}
Projekt-id: #6411648
About the project
Tilldelades:
Dear Sir, I am experienced Java programmer. Done many similar wrapper writing projects. You can see them in my reviews I am confident to do this project.
13 frilansare har lagt bud på i genomsnitt €502 för det här jobbet
Hello Sir, I;m a 5-year experience software developer and I have used jitsi before, there are some project I'm working on using Jitsi. I have used it in desktop and android versions. Plus I'm a backend developer and cr Mer
I am a very experienced java programmer who have coded many java applications for my clients. You can rely on me for your project.
I am so interested in your project. I would like to discuss with you about it. I hope We can cooperate long time. Thanks, Taytayvn
Hi, I can do your project perfectly. Please check my productions Please contact me. Best Regards. Wang
Im a java Programmer Ha Lots of java experience like to do this for low cost and high quality........!!!
Hello. Thank you for your post. I am Java/C++/Web expert have many experiences of 10 years. I have experience of media player in Java. I had read your task carefully from beginning to ending. It is very interest Mer