Curt wrote: > Bob Proulx wrote: > >> I'm lazy so I'd use the command line. > > I have the opposite problem. Everything I have is in ogg format. But > > sometimes I want to play on a device that doesn't understand ogg and > > can only play mp3 format. I simply convert the file to .wav format > > and then encode it again to mp3. You could do something similar. > > That's seems silly. Why convert it to wav first? Why not convert > directly to mp3: > ffmpeg -i example.ogg to example.mp3 > or whatever the command would be.
In my case I needed to produce mp3 files and mp3 encoders are of course patented and so not available in every tool and not available in the free ffmpeg. Since wav files are lossless they are the desired middle layer. If you are dealing with an audio collection then the size of the intermediate wav file isn't going to be a limiter. The cpu encoding will be the limiter. So for me going ogg to wav and then wav to mp3 was just perfect and impossible to do with ffmpeg. Plus because ffmpeg is not the best tool for the wav to ogg task. It is great for producing wav files but not as good as oggenc for vorbis encoding. $ ls -log 01_-_An_Awful_Lot_Of_Running.mp3 -rw-r--r-- 1 5.9M 2012-02-20 11:03 01_-_An_Awful_Lot_Of_Running.mp3 $ ffmpeg -i 01_-_An_Awful_Lot_Of_Running.mp3 01_-_An_Awful_Lot_Of_Running.ogg $ ls -log 01_-_An_Awful_Lot_Of_Running.ogg -rw-rw-r-- 1 27M 2012-02-20 11:06 01_-_An_Awful_Lot_Of_Running.ogg $ ffmpeg -i 01_-_An_Awful_Lot_Of_Running.mp3 01_-_An_Awful_Lot_Of_Running.wav $ oggenc 01_-_An_Awful_Lot_Of_Running.wav $ ls -log 01_-_An_Awful_Lot_Of_Running.ogg -rw-rw-r-- 1 3.3M 2012-02-20 11:04 01_-_An_Awful_Lot_Of_Running.ogg Look at the sizes of the files. This is because ffmpeg is producing flac not vorbis encoding. Remember that ogg is a container format not an encoding format. In that case you might as well simply keep the wav files. But of course we compress as a compromise in order to save disk space. A *lot* of disk space. There is almost certainly an option to ffmpeg to encode with vorbis encoding. There is an option for everything. And it is changing. Between Lenny and Squeeze and Wheezy it is evolving. I know that by the time I read through all of the documentation to figure it out that I would already have had the job done using oggenc. (This is someone's chance to jump in and tell us the optimal set of options to ffmpeg to produce an ogg vorbis file. I know I would note the options down for future reference.) But using oggenc is simple, immediately obvious, and does a good job of it. Remember that the Unix philosophy is all about modularity. Write small dedicated tools and join them together to produce a greater whole. I would like to simply pipe from simple program to simple program and let a multi-core cpu run the processes in parallel. Tools that try to do everything in one program with ten thousand options violate that philosophy and are harder to use and harder to expand upon. > Anyway, it's double lossy whatever you do, and maybe even worse if you > go the roundabout wav route (though I don't really know, but you can't > fool mother nature). Decoding and encoding again will obviously introduce artifacts. Just like the laws of thermodynamics say you can't win, you can't get ahead, you will always lose. But if you only have one thing and you want to get to another thing then you are going to transcode because that is what you have and there is no other way. And if you are an average individual with average ears and an average set of headphones listening in an average environment it is unlikely that you will be able to tell the difference. It won't be of the highest audio quality but neither will it be of the lowest. And if your purpose is to listen while say biking out in the wind then you are most definitely not going to be able to tell the difference. > Or maybe my understanding is shaky you'll illuminate me. Bob
signature.asc
Description: Digital signature