Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Does anyone know of any linux software to reduce the size of mp3 files while having a minimal effect on quality?
I just used pngcrush to do this to all the pngs in our asset library with good results, and would love to be able to do the same to our mp3s. Even if there is a 10% reduction in file size that would be a decent win for me.
Any suggestions? It needs to be something i can call from a shell script.
cheers, max
You can use lame with the --mp3input option.
For example you can do a downsampling of the mp3 quality, specifing the a new lower bitrate using the -b option. For example if your starting mp3 has a quality of 256kbs you can lower it's bitrate to 128kbs:
lame --mp3input -b 128 input.mp3 output.mp3
Depending from the input file bitrate, the output.mp3 file has lower quality and so a file size reduction.
From the lame manuale page:
--mp3input
Assume the input file is a MP3 file.
Useful for downsampling from one mp3 to another. As an example, it can be useful for streaming through an IceCast
server.
It depends on what you want to achieve. avconv (formerly ffmpeg) is a good tool, but there's no one size fits all solution pertaining the parameters, since it depends heavily on the type of audio data (music, speech, etc) and the original bitrate, etc. Try the different settings, maybe convert it to mono, see what produces still acceptable results for you.
As a general rule of thumb: Speech compresses really well, downsampling it to 11kHz may still give acceptable results, but music can also be downsized by decreasing the bitrate or switching to mono.
Try to use Audacity. It's a free audio editing program
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Hi i am working on a compression audio stuff and i would like to ask you about the audio format the most adequate for human voice that can concerve the same quality of my files while trasfering to the server ? Thanks
With standard audio formats, there's not much of a difference between music and speech compression. MP3, for example, is designed to only lose information that is largely imperceptible to the human ear, especially at high bit rates. MP3 is nice because can choose a bit rate that meets your data needs. If you need more extreme compression you'll definitely lose a noticeable amount of quality.
You will not be able to tune the flac codec, and it's seams overkill to use it for voice recording.
Even if mp3 is not supported natively with java, you should take a look at "lame" which is a CLI mp3 codec, very easy to use with Java (create a Process object, with the parameters you wants...)
usage:
lame.exe -V2 file.wav file.mp3
or from a wav buffer (if your application records the voice itself)
lame.exe -V2 - file.mp3
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there any script/tool out there (any language) that will generate .wav file into a waveform image?
Basically I want to upload a small wav file on the web and it will then show an image of waveforms including numbers of seconds (duration).
PS: I did google but no luck.
https://bitbucket.org/corfr/wavegenerator/src
A friend did this one :
You need linux (i successfully use Centos & Ubuntu)
Libmad
If i remember that was enough, it generate a .png from a .mp3 file, using libmad so. Code is quite simple to understand, as always feel free to submit improve !
it will generate a waveform pretty close as what you can found on soundcloud for example...
EDIT: Since you're looking for waveform, this question is very related.
https://stackoverflow.com/questions/2381243/how-does-soundcloud-com-generate-the-waveform-for-their-mp3-player
EDIT: This answer is valid if you're looking for a way of showing frequence graphically.
SoX ( http://sox.sourceforge.net/ ) can run on Windows and it's installed or available in almost all Linux distribution.
It can generate a spectrogram in .png format. Just call it like this:
sox <inputfile> -n spectrogram
You will find spectrogram.png in the same directory.
Here is an example of a spectrogram produced by SoX:
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have a requirement where I need to enable playback (full screen) of a h.264 MPEG4 (thanks for the correction!) video from a local network, launchable from a browser link on a Windows workstation, and be frame accurate.
By frame accurate I mean that I need to be able to scrub through the video in the same way you would with a vtr, stop at a frame, and then move backwards and forwards frame by frame (it is for a very specific compliance requirement where have to be able to check every frame if there is something that is potentially against broadcasting guidelines).
The application itself is used to capture notes while viewing the material, so the end model is for a dual monitor workstation, with a web form in one, the video playing full screen in the second (no issue launching the video and manually having to move it to the second screen), and then the user controls the video via keyboard shortcuts or a jog shuttle.
I have looked at QT, but the java bindings seem to be dead or nearly so, flash isn't frame accurate, VLC given its streaming heritage seems to be only able to move forward by a frame and not backwards, and all I have left are commercial offerings that in my experience are difficult and expensive to change.
Any ideas of where I should look or alternative options? Any advice appreciated!
An alternative would be on the server side, dumping each frame out as an image, and then just stepping through the video via images rather than trying to get a video player to work frame by frame.
Here's an ffmpeg command line to dump frames out of a video, to get you started:
ffmpeg -i video.mpeg -f image2 frames/frame-%03d.jpeg
If you wanted to get fancy, you could try using a video player for playing the video, and then when you stop and want to step by frames, replace it with a frame-by-frame view implemented using images. This would take a bit more work to convert video times to frame numbers when you pause the video, but may give you what you need.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Does anyone know a great audio and video file compressor?
I currenting compressing wmv to 3gp with AVS software.
when i compress the file its out 250kb and that only about 2mins and 30 sec of video.
i would like to compress the sound and video smaller so that i can add more time to my video.
FFmpeg is probably the best choice. It has a wide-range of formats, flexibility and codec support. There's little comparison. There are a variety of desktop apps that are built on it too, if you need a UI.
if you are looking for an application super (c) is very good at all sort of video compressions tho it has a pretty weird UI
I'm a huge fan of ffmpeg. Find out what codec and resolution your mobile device wants. If you're lucky, H.264 will be supported. That codec seems to produce excellent compression these days.
Crazy thing I found the other day. I used QuickTime to File->Export->iPhone my 250MB .avi file and it output the file into four new/different files. Three were in .m4v format and varied in size from 62.3MB to 6.8MB. However the fourth file was a .mov file that was only 381 bytes in size. You read that right. It compressed the video from 250MB to 381b or <1KB. If my math serves me right that is over 600K times smaller than the original file.
Just fyi. Hope this helps.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I'm looking for (linux) command line tools that can help with video editing. I am mostly interested in:
Cutting
Transitions
Effects
Any pointers would be appreciated (I know ffmpeg can do basic cutting, but not much beyond that afaik).
Two tools I use are transcode and mencoder.
Transcode is a suite of command line
utilities for transcoding video and
audio codecs, and for converting
beween different container formats.
A variety of video and audio pre and
post-processing filters are available,
including (but not limited to):
framerate conversion
smoothing
cutting
MEncoder is a free command line video decoding, encoding and filtering tool based on mplayer.
Avisynth under WINE is your best bet. You can use ffmpeg or mencoder to do the actual encoding, and avisynth .avs files for the actual editing. You may have to use mencoder under WINE to access the avs files as well. I haven't tried this myself, but it should work, barring any WINE issues.
If this is part of some production app, if there's any way you can farm the work out to an actual windows computer you'll save yourself a lot of pain.
If you want to get your hands dirty you could try using the gstreamer and Gnonlin to make your own CLI video app. You can actually use a language like Ruby to call gstreamer from, so you don't have to use C.