Here goes. The command from the first post in this thread under "Using FFmpeg and x264" for "One Pass CRF" appears first with screencast.ogv as the input.
Then the same command with '-preset slow' removed is tried, followed by 'which x264' and 'which ffmpeg'.
mark@mark-desktop:~/testit$ ffmpeg -i screencast.ogv -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 output.mp4
FFmpeg version SVN-r22813, Copyright (c) 2000-2010 the FFmpeg developers
built on Apr 7 2010 14:02:08 with gcc 4.4.1
configuration:
libavutil 50.14. 0 / 50.14. 0
libavcodec 52.66. 0 / 52.66. 0
libavformat 52.61. 0 / 52.61. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.10. 0 / 0.10. 0
[ogg @ 0x18a6420]max_analyze_duration reached
Input #0, ogg, from 'screencast.ogv':
Duration: 00:00:34.00, start: 0.000000, bitrate: 349 kb/s
Stream #0.0: Data: skeleton
Stream #0.1: Video: theora, yuv420p, 800x608, PAR 1:1 DAR 25:19, 15 fps, 15 tbr, 15 tbn, 15 tbc
Stream #0.2: Audio: vorbis, 48000 Hz, mono, s16, 239 kb/s
Unrecognized option 'preset'
mark@mark-desktop:~/testit$
mark@mark-desktop:~/testit$
mark@mark-desktop:~/testit$
mark@mark-desktop:~/testit$ ffmpeg -i screencast.ogv -acodec libfaac -aq 100 -vcodec libx264 -crf 22 output.mp4
FFmpeg version SVN-r22813, Copyright (c) 2000-2010 the FFmpeg developers
built on Apr 7 2010 14:02:08 with gcc 4.4.1
configuration:
libavutil 50.14. 0 / 50.14. 0
libavcodec 52.66. 0 / 52.66. 0
libavformat 52.61. 0 / 52.61. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.10. 0 / 0.10. 0
[ogg @ 0x1301420]max_analyze_duration reached
Input #0, ogg, from 'screencast.ogv':
Duration: 00:00:34.00, start: 0.000000, bitrate: 349 kb/s
Stream #0.0: Data: skeleton
Stream #0.1: Video: theora, yuv420p, 800x608, PAR 1:1 DAR 25:19, 15 fps, 15 tbr, 15 tbn, 15 tbc
Stream #0.2: Audio: vorbis, 48000 Hz, mono, s16, 239 kb/s
Unknown encoder 'libx264'
mark@mark-desktop:~/testit$
mark@mark-desktop:~/testit$
mark@mark-desktop:~/testit$ which libx264
mark@mark-desktop:~/testit$ which x264
/usr/local/bin/x264
mark@mark-desktop:~/testit$ which ffmpeg
/usr/local/bin/ffmpeg
mark@mark-desktop:~/testit$
There's the issue. Your FFmpeg is old and contains no configure options. I'm guessing that you compiled FFmpeg two years ago when FFmpeg used SVN instead of Git while keeping your home directory contents during Ubuntu upgrades.
Remove x264 and FFmpeg and also delete the x264 and ffmpeg directories in your home directory then follow the guide.
Awesome analysis. That totally explained why it worked for everybody but me. I looked in the ffmpeg directory in my home account and, sure enough, there were a bunch of files dated from 2010. I deleted both the ffmpeg and x264 directories in my home account and then simply followed the directions in the first posting of this thread and it worked like a charm.
Thanks!
If I need only ogg/theora/vorbis, are some of these packages not needed?
libjack-jackd2-dev
libsdl1.2-dev
libva-dev
libvdpau-dev
libx11-dev
libxfixes-dev
texi2html
yasm
zlib1g-dev
My blog: http://pazziaumana.blogspot.com/
You're mixing up format support and build support. Most of that list of packages has nothing to do with specific formats (except for some that need zlib), but they are necessary - or at least highly recommended - for ffmpeg to set up correctly (texi2html) or interact with your video/sound card or peripherals (libjack, libva, libvdpau, libsdl, libx11, libxfixes) or not be deathly slow because you've turned off assembly optimizations (yasm).
Thanks for your great guide!
Last edited by FenrirX; April 10th, 2012 at 11:24 AM.
This guide has been moved to the official FFmpeg wiki:
How to Compile FFmpeg and x264 on Ubuntu
I will attempt to migrate the guides for older Ubuntu versions later this week.
Bookmarks