I'm writing a recording applet. Is there a technique/API to compress the recorded MP3 on the client side using the applet before uploading it to the server?
I agree, zipping/compressing media files won't reduce its volume, apparently i should set the recorded audio file to be efficient in terms of quality by choosing a lightweight audio format and setting some specific audio attributes and that would definitely help reducing the volume before the upload to the server.
Related
My app creates audio files using MediaRecorder class and I need to upload these created files to a server. Therefore I need these files to be of minimum size so that they can be easily uploaded.
Size reduction may include some degradation of quality.
you should use .amr file format in place of MP3, because its auto create the reduced size file compare to mp3.
I think these settings will be optimal for low size and low quality:
mediaRecorder.setAudioChannels(1);
mediaRecorder.setAudioSamplingRate(5512);
mediaRecorder.setAudioEncodingBitRate(32000);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
for an android project I must load a multimedia file and then send the multimedia file in chunks (by reading it from file system) to a server. I don't know how can I do this work. Please give me an example to how do this?
thanks
you can play your as video or audio as streaming Please check this link
i wonder how progressive videostreambuffering works. Currently i try to create a media player for Android that is able to play progressive streamed video files. For that i use vitamio library. Its a very powerfull Android medialibrary. It also supports progressive straming and several videoformats. The only Problem with vitamio is that it dos not continue buffering when you Pause the playback. So you are not able to watch videos on slow networks.
So my current workaround to solve this is open a httpinputstream to the videofile i want to stream. Then i read the size of the videofile. Let's say it is 80MB. Then i create an empty dummyfile on my hdd with exactly this size (80MB). This file is currently filled up with zeros. Then i start to read the data from the httpinputstream and overwrite the dummyfile from . If i have 10MB downloaded i put this file into the videoplayer and start playback. In this moment the videofile on my hdd is still 80MB big but the readable and valid videodata are 10MB. During playback i continue downloading and filling up the dummy file until it is done.
Sometimes this works very good and sometimes not. The playback stops with several errors (frame not found and so on) although the play position is at 5% and the download has been 15%yet. It does not work very reliable and i cannot imagine that this is the common way of progressive streaming. So my question is: how does this technically work? What differs my method of progressive streaming from the common way?
thank you
I have a video recording in Android and the file generated is 3gp. I want to send mp4 file to server, how can I convert 3gp file to mp4, is there any jar for this purpose?
These kind of conversions are usually CPU intensive, therefore the battery can be consumed pretty fast. Leave the conversion to the server. You may use Youtube for this
I got a form with SWFUpload.
Files uploaded to the server are converted server-side (video being compressed, images being resized etc)
Question is - can i delegate some of the functionality to client-side (like image resizing), to save some bandwidth for user.
Video compression via Javascript would probably slow the browser so much that it wouldn't be bandwidth savings and if anything would probably annoy the end user.