59

I created a screencast using recordmydesktop which produed a .ogv file. I believe this is an OGG file encoded using the Theora codec. I'm wondering, how can I convert this to MPEG4/H.264? I've tried to use ffmpeg in a naive way, as follows:

ffmpeg -i demo.ogv -f mp4 demo.mp4

However, this produces an evil blob of dark greens and grays when trying to play it again in mplayer. I then tried to get more sophisticated, using the command-line flags specified here: Converting a video file in arbitrary file format into MPEG4/H.264?

ffmpeg -i demo.ogv \
       -s 352x288 -vcodec libx264 -vpre default \
       -acodec libmp3lame -ab 192k -ac 2 -ar 44100 -f mp4 \
       demo.mp4

But, the result was the same.

If anyone has any insight into what might be the best way to accomplish this task, I'd appreciate it if you could let me know.

33

Arista Transcoder Install Arista Transcoder

or from command line

sudo apt-get install arista -y

You can use this software, that I always use and I think it's really good. To convert an ogv file to mp4 you should choose any Sony device.

alt text

  • 1
    This totally did the trick. – jbeard4 Nov 9 '10 at 1:58
  • maybe also mention the Nautilus plugin? – tshepang Nov 9 '10 at 23:03
  • @Tshepang, I've never used the Nautilus plugin. How is it called? I want to try it now! – DrKenobi Nov 10 '10 at 0:42
  • 1
    @Tshepang, I can't try it now :( I'm using 10.04 LTS and the plugin is available for 10.10 and 11.04. I'll have to wait for my new laptop to try it. Thanks for the info! – DrKenobi Nov 10 '10 at 2:51
  • 1
    Looks like Arista is no longer available in the repositories :( – jrg Oct 23 '17 at 15:12
48

This is an older question now but a modern FFmpeg (under Xenial Xerus and releases following this) would convert an ogv file in the following manner:

ffmpeg -i input.ogv \
       -c:v libx264 -preset veryslow -crf 22 \
       -c:a libmp3lame -qscale:a 2 -ac 2 -ar 44100 \
       output.mp4

and this should create an excellent file.

Extra Tweaks:

Some tweaks to these settings are more than possible. Here are some suggestions:

  1. If you wanted a set bitrate for the mp3 sound you would change the setting -qscale:a 2 to the setting -b:a 196k. (Use a higher or lower value for bitrate as you wish.)
  2. If you wanted to get a better quality video output decrease the crf setting to something like: -crf 18. Bear in mind that file size increases as the quality setting is lowered.
  3. Sometimes players such as WMP and Quicktime have trouble with mp3 audio in an mp4 container and in these cases it is sensible to use AAC sound instead:

    ffmpeg -i input.ogv \
       -c:v libx264 -preset veryslow -crf 22 \
       -c:a aac -b:a 160k -strict -2 \
       output.mp4
    

    Newer versions of FFmpeg (i.e. released after December 5th 2015) will not need the -strict -2 option but it is still needed for Xenial Xerus...

  • On Ubuntu 14.04 this command fails with the error message: Invalid encoder type 'libmp3lame'. – Luís de Sousa Apr 28 '15 at 18:38
  • 1
    For 14.04 try installing libavcodec-extra-54 and this should fix the issue... If compiling you will need the -dev file for lame: libmp3lame-dev. – andrew.46 May 1 '15 at 21:57
  • Some players, such as WMP and QuickTime, have trouble decoding some MP4 files that use MP3 audio (for WMP it depends on audio sample rate). – llogan Aug 5 '16 at 16:55
  • @LordNeckbeard Thanks for the tip, I have updated the answer, feel free to correct anything in it :) – andrew.46 Aug 5 '16 at 22:08
  • also for "File for preset" errors : stackoverflow.com/a/11384886/2026508 – jmunsch Jul 2 '19 at 22:16
5

FF Multi Converter is another great choice, not only for successful .ogv to .mp4 conversation. Simple, user-friendly and elegant interface, gives a complete log of conversion details, supports a huge list of formats (see below), gets the job done quickly.

enter image description here


Audio/Video formats:

aac, ac3, afc, aiff, amr, asf, au, avi, dvd, flac, flv, mka, mkv, mmf, mov, mp3, mp4, mpg, ogg, ogv, psp, rm, spx, vob, wav, webm, wma, wmv

And any other format supported by ffmpeg.

Image formats:

bmp, cgm, dpx, emf, eps, fpx, gif, jbig, jng, jpeg, mrsid, p7, pdf, picon, png, ppm, psd, rad, tga, tif, webp, xpm

And any other format supported by ImageMagick.

Document file formats:

doc  -> odt, pdf
html -> odt
odp  -> pdf, ppt
ods  -> pdf
odt  -> doc, html, pdf, rtf, sxw, txt, xml
ppt  -> odp
rtf  -> odt
sdw  -> odt
sxw  -> odt
txt  -> odt
xls  -> ods
xml  -> doc, odt, pdf

Installing on Ubuntu - [Stable release]

To add the ppa to your system resources and install ffmulticonverter, open a terminal and type:

sudo add-apt-repository ppa:ffmulticonverter/stable
sudo apt-get update
sudo apt-get install ffmulticonverter

By default ffmulticonverter will bring all of its optional dependencies (ffmpeg, pythonmagick, unoconv) as well.

If you wish, you can install ffmulticonverter alone and then install only the optional dependencies you like manually:

sudo apt-get install --no-install-recommends ffmulticonverter

Then you can install the rest of the dependencies separately, depending on what you want to convert:

If you wish to convert videos, install ffmpeg: sudo apt-get install ffmpeg
If you wish to convert documents, install unoconv: sudo apt-get install unoconv
If you wish to convert images, install python imagemagick: sudo apt-get install python-pythonmagick

  • 1
    This was an excellent program, with up to date version in RPM Fusion repo. – hlovdal May 9 '17 at 20:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.