Re: HOWTO: Install and use the latest FFmpeg and x264
Quote:
Originally Posted by
Bachstelze
Probably nothing, this seems to indicate a bug in the ffmpeg source code.
You're correct and it's already been fixed (not sure if anyone tested the fix though). Nothing you did wrong, flander3444. Just update the FFmpeg source and start again. Refer to the Updating Your Installation section of this guide for more details on how to do that.
Re: HOWTO: Install and use the latest FFmpeg and x264
ok cheers guys installed now and seems to be working :D
Re: HOWTO: Install and use the latest FFmpeg and x264
It looks like libavcodec never stops, I have just seen the libavcodec native amr narrow band decoder arrive:
Code:
andrew@skamandros~$ ffmpeg -codecs | grep amr
FFmpeg version SVN-r22073, Copyright (c) 2000-2010 the FFmpeg developers
built on Feb 26 2010 21:23:17 with gcc 4.3.3
configuration: --prefix=/usr --mandir=/usr/man --enable-shared
--disable-static --enable-postproc --enable-avfilter --enable-pthreads
--disable-ffserver --enable-libtheora --enable-libvorbis
--enable-x11grab --enable-libmp3lame --enable-libx264 --enable-libfaac
--enable-libfaad --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-version3 --enable-libspeex --enable-zlib --enable-nonfree
--enable-gpl
libavutil 50. 9. 0 / 50. 9. 0
libavcodec 52.55. 0 / 52.55. 0
libavformat 52.54. 0 / 52.54. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.17. 0 / 1.17. 0
libswscale 0.10. 0 / 0.10. 0
libpostproc 51. 2. 0 / 51. 2. 0
D A amrnb Adaptive Multi-Rate NarrowBand
DEA libopencore_amrnb OpenCORE Adaptive Multi-Rate (AMR) Narrow-Band
D A libopencore_amrwb OpenCORE Adaptive Multi-Rate (AMR) Wide-Band
Very exciting times indeed :).
Andrew
Re: HOWTO: Install and use the latest FFmpeg and x264
Quote:
Originally Posted by
andrew.46
It looks like libavcodec never stops, I have just seen the libavcodec native amr narrow band decoder arrive:
Very exciting times indeed :).
Andrew
Good news. Also somewhat recent is the Indeo 5 decoder and a patch for a HE-AAC v1 decoder has been bouncing around in ffmpeg-devel lately.
Re: HOWTO: Install and use the latest FFmpeg and x264
All of the x264 presets have recently been added to FFmpeg. There are a few x264 options (--aq-mode and --rc-lookahead, maybe some others) that do not have have equivalents in FFmpeg, but it's a fairly close approximation.
New presets:
- ultrafast
- veryfast
- faster
- fast (somewhat similar to normal)
- medium (the default x264 settings, similar to default preset)
- slow (similar to hq)
- slower
- veryslow
- placebo (similar to the max preset)
Each of these presets also have an associated firstpass preset. Just append the name with _firstpass. For example:
Code:
-vpre slower_firstpass
Re: HOWTO: Install and use the latest FFmpeg and x264
Quote:
Originally Posted by
FakeOutdoorsman
All of the x264 presets have recently been added to FFmpeg. There are a few x264 options (
--aq-mode and
--rc-lookahead, maybe some others) that do not have have equivalents in FFmpeg, but it's a fairly close approximation.
New presets:
- ultrafast
- veryfast
- faster
- fast (somewhat similar to normal)
- medium (the default x264 settings, similar to default preset)
- slow (similar to hq)
- slower
- veryslow
- placebo (similar to the max preset)
Each of these presets also have an associated firstpass preset. Just append the name with
_firstpass. For example:
Code:
-vpre slower_firstpass
Now it's much more consistent, thanks for the update.
/me thinks about updating his guide.
Re: HOWTO: Install and use the latest FFmpeg and x264
I got stuck on Step 3:
Code:
user@computer:~$ git clone git://git.videolan.org/x264.git
Initialized empty Git repository in /home/sbelz/x264/.git/
git.videolan.org[0: 91.121.111.144]: errno=Connection refused
fatal: unable to connect a socket (Connection refused
user@computer:~$
There were some problems updating my repositories in step 2:
Code:
sbelz@Fate:~$ sudo apt-get update
[sudo] password for sbelz:
Get:1 http://dl.google.com stable Release.gpg [189B]
Hit http://security.ubuntu.com karmic-security Release.gpg
Ign http://security.ubuntu.com karmic-security/main Translation-en_US
Ign http://archive.ubuntu.com karmic Release.gpg
Ign http://archive.ubuntu.com karmic/main Translation-en_US
Hit http://archive.canonical.com karmic Release.gpg
Ign http://archive.canonical.com karmic/partner Translation-en_US
Hit http://ppa.launchpad.net karmic Release.gpg
Ign http://ppa.launchpad.net karmic/main Translation-en_US
Hit http://packages.medibuntu.org karmic Release.gpg
Ign http://packages.medibuntu.org karmic/free Translation-en_US
Hit http://us.archive.ubuntu.com karmic Release.gpg
Ign http://us.archive.ubuntu.com karmic/main Translation-en_US
Ign http://security.ubuntu.com karmic-security/restricted Translation-en_US
Ign http://security.ubuntu.com karmic-security/universe Translation-en_US
Ign http://security.ubuntu.com karmic-security/multiverse Translation-en_US
Hit http://security.ubuntu.com karmic-security Release
Ign http://archive.ubuntu.com karmic/universe Translation-en_US
Ign http://archive.ubuntu.com karmic Release
Hit http://archive.canonical.com karmic Release
Hit http://ppa.launchpad.net karmic Release.gpg
Ign http://ppa.launchpad.net karmic/main Translation-en_US
Hit http://ppa.launchpad.net karmic Release.gpg
Ign http://ppa.launchpad.net karmic/main Translation-en_US
Hit http://ppa.launchpad.net karmic Release.gpg
Ign http://ppa.launchpad.net karmic/main Translation-en_US
Hit http://ppa.launchpad.net karmic Release
Ign http://packages.medibuntu.org karmic/non-free Translation-en_US
Ign http://us.archive.ubuntu.com karmic/restricted Translation-en_US
Ign http://us.archive.ubuntu.com karmic/universe Translation-en_US
Ign http://us.archive.ubuntu.com karmic/multiverse Translation-en_US
Hit http://us.archive.ubuntu.com karmic-updates Release.gpg
Ign http://us.archive.ubuntu.com karmic-updates/main Translation-en_US
Ign http://us.archive.ubuntu.com karmic-updates/restricted Translation-en_US
Ign http://us.archive.ubuntu.com karmic-updates/universe Translation-en_US
Ign http://us.archive.ubuntu.com karmic-updates/multiverse Translation-en_US
Hit http://packages.medibuntu.org karmic Release
Ign http://archive.ubuntu.com karmic/main Packages
Hit http://security.ubuntu.com karmic-security/main Packages
Hit http://ppa.launchpad.net karmic Release
Hit http://ppa.launchpad.net karmic Release
Hit http://ppa.launchpad.net karmic Release
Hit http://archive.canonical.com karmic/partner Packages
Hit http://us.archive.ubuntu.com karmic Release
Hit http://packages.medibuntu.org karmic/free Packages
Hit http://us.archive.ubuntu.com karmic-updates Release
Ign http://archive.ubuntu.com karmic/universe Packages
Hit http://security.ubuntu.com karmic-security/restricted Packages
Hit http://security.ubuntu.com karmic-security/main Sources
Hit http://security.ubuntu.com karmic-security/restricted Sources
Hit http://ppa.launchpad.net karmic/main Packages
Hit http://ppa.launchpad.net karmic/main Sources
Hit http://packages.medibuntu.org karmic/non-free Packages
Hit http://us.archive.ubuntu.com karmic/main Packages
Hit http://us.archive.ubuntu.com karmic/restricted Packages
Hit http://us.archive.ubuntu.com karmic/main Sources
Hit http://us.archive.ubuntu.com karmic/restricted Sources
Ign http://archive.ubuntu.com karmic/main Packages
Hit http://security.ubuntu.com karmic-security/universe Packages
Hit http://security.ubuntu.com karmic-security/universe Sources
Hit http://security.ubuntu.com karmic-security/multiverse Packages
Hit http://security.ubuntu.com karmic-security/multiverse Sources
Hit http://repository.glx-dock.org karmic Release.gpg
Ign http://repository.glx-dock.org karmic/cairo-dock Translation-en_US
Hit http://ppa.launchpad.net karmic/main Packages
Hit http://ppa.launchpad.net karmic/main Packages
Hit http://ppa.launchpad.net karmic/main Packages
Ign http://archive.ubuntu.com karmic/universe Packages
Hit http://us.archive.ubuntu.com karmic/universe Packages
Hit http://us.archive.ubuntu.com karmic/universe Sources
Hit http://us.archive.ubuntu.com karmic/multiverse Packages
Hit http://us.archive.ubuntu.com karmic/multiverse Sources
Hit http://us.archive.ubuntu.com karmic-updates/main Packages
Hit http://us.archive.ubuntu.com karmic-updates/restricted Packages
Hit http://us.archive.ubuntu.com karmic-updates/main Sources
Hit http://repository.glx-dock.org karmic Release
Err http://archive.ubuntu.com karmic/main Packages
404 Not Found [IP: 91.189.88.45 80]
Hit http://us.archive.ubuntu.com karmic-updates/restricted Sources
Hit http://us.archive.ubuntu.com karmic-updates/universe Packages
Hit http://us.archive.ubuntu.com karmic-updates/universe Sources
Hit http://us.archive.ubuntu.com karmic-updates/multiverse Packages
Hit http://us.archive.ubuntu.com karmic-updates/multiverse Sources
Hit http://repository.glx-dock.org karmic/cairo-dock Packages
Err http://archive.ubuntu.com karmic/universe Packages
404 Not Found [IP: 91.189.88.45 80]
Ign http://dl.google.com stable/main Translation-en_US
Get:2 http://dl.google.com stable Release [2,540B]
Get:3 http://dl.google.com stable/main Packages [909B]
Fetched 3,638B in 2min 1s (30B/s)
W: Failed to fetch http://archive.ubuntu.com/dists/karmic/main/binary-amd64/Packages.gz 404 Not Found [IP: 91.189.88.45 80]
W: Failed to fetch http://archive.ubuntu.com/dists/karmic/universe/binary-amd64/Packages.gz 404 Not Found [IP: 91.189.88.45 80]
E: Some index files failed to download, they have been ignored, or old ones used instead.
This is my output from the next command in Step 2
Code:
sbelz@Fate:~$ sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
subversion is already the newest version.
git-core is already the newest version.
checkinstall is already the newest version.
yasm is already the newest version.
texi2html is already the newest version.
libfaac-dev is already the newest version.
libfaad-dev is already the newest version.
libmp3lame-dev is already the newest version.
libopencore-amrnb-dev is already the newest version.
libopencore-amrwb-dev is already the newest version.
libsdl1.2-dev is already the newest version.
libx11-dev is already the newest version.
libxfixes-dev is already the newest version.
libxvidcore4-dev is already the newest version.
zlib1g-dev is already the newest version.
The following packages were automatically installed and are no longer required:
libwxbase2.8-0 python-wxgtk2.8 libqt4-script libqt4-designer libqt4-dbus lsb-desktop libavfilter0 m4 libavdevice52 libqt4-sql-sqlite libqt4-gui libwxgtk2.8-0 lsb pax libqt4-sql wine1.2-gecko
libqt4-assistant imagemagick libqt3-mt lsb-graphics winbind lsb-core ncurses-term python-wxversion lsb-cxx
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I was able to successfully complete Step1: "Uninstall x264, libx264-dev, and ffmpeg"
Re: HOWTO: Install and use the latest FFmpeg and x264
Quote:
Originally Posted by
sbelz79
I got stuck on Step 3:
Code:
user@computer:~$ git clone git://git.videolan.org/x264.git
Initialized empty Git repository in /home/sbelz/x264/.git/
git.videolan.org[0: 91.121.111.144]: errno=Connection refused
fatal: unable to connect a socket (Connection refused
user@computer:~$
This command works for me. Are you having connection problems? Do you have firewall interfering with your connection?
Quote:
Originally Posted by
sbelz79
There were some problems updating my repositories in step 2:
Code:
W: Failed to fetch http://archive.ubuntu.com/dists/karmic/main/binary-amd64/Packages.gz 404 Not Found [IP: 91.189.88.45 80]
Your /etc/apt/sources.list probably contains a misconfigured entry. As your error states, there is no file at the URL. The correct URL is:
Code:
http://archive.ubuntu.com/ubuntu/dists/karmic/main/binary-amd64/Packages.gz
Re: HOWTO: Install and use the latest FFmpeg and x264
Quote:
Originally Posted by
FakeOutdoorsman
This command works for me. Are you having connection problems? Do you have firewall interfering with your connection?
Thanks! I had tried shutting down firestarter and mobloquer before and it didn't work, but this time I tried leaving both programs open but stopping their activity, and this works.
Quote:
Originally Posted by
FakeOutdoorsman
Your
/etc/apt/sources.list probably contains a misconfigured entry. As your error states, there is no file at the URL. The correct URL is:
Code:
http://archive.ubuntu.com/ubuntu/dists/karmic/main/binary-amd64/Packages.gz
I solved this problem with help from someone in another thread.
Re: HOWTO: Install and use the latest FFmpeg and x264
For those wondering about getting LAVF and FFmpegSource2 to work, the below does. It could use some refinement to match the existing tutorial, of course (namely because I didn't want to mess with using checkinstall on FFMS2). Three things to be aware of - FFMS2 requires pkg-config (at or above 0.22) and autotools (it complains about the version numbers but still seems to do fine regardless; just something to note, but recompiling them/grabbing newer versions from a ppa may be necessary), and that the decoder-only ffmpeg I use initially can be extended with more than just libfaad, I just didn't want to bother. However, be aware of which external libs actually will help, and which ones are useless - many of the common external libs are just encoders and would be worthless in the initial step.
So, anyway, here we are (I put all three steps for grabbing the source first for ease of switching between directories later).
Grab the source:
Code:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
svn checkout http://ffmpegsource.googlecode.com/svn/trunk/ ffms2
git clone git://git.videolan.org/x264.git
Compile a decoding-only ffmpeg:
Code:
mkdir ffms2_build
cd ffmpeg
./configure --prefix=$HOME/ffms2_build --enable-gpl --enable-version3 --enable-postproc --enable-pthreads --disable-encoders --disable-muxers --disable-debug --disable-network --enable-libfaad --disable-decoder=aac --disable-hwaccels --disable-filters --disable-indevs --disable-outdevs --enable-runtime-cpudetect
make
make install
Compile FFmpegSource2:
Code:
cd ../ffms2
./configure --prefix=$HOME/ffms2_build PKG_CONFIG_PATH=$HOME/ffms2_build/lib/pkgconfig
make
make install
Compile x264:
Code:
cd ../x264
PKG_CONFIG_PATH=$HOME/ffms2_build/lib/pkgconfig ./configure --enable-shared
make
sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`+`git rev-list HEAD -n 1 | head -c 7`" --backup=no --default
sudo ldconfig
make distclean
Clean up after ffmpeg and ffms2:
Code:
cd ../ffms2
make uninstall
make distclean
cd ../ffmpeg
make uninstall
make distclean
And finally, compile a fully-functional FFmpeg linked against x264:
Code:
./configure --enable-gpl --enable-version3 --enable-postproc --enable-pthreads --enable-libx264 --enable-libfaad --disable-decoder=aac --enable-runtime-cpudetect
make
sudo checkinstall --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --backup=no --default
hash ffmpeg
make distclean
I sadly could not get my custom prefix idea to work, although I am open to it if anyone knows how to make it play nice. x264 seemed to be fine with it in FFmpeg's case (which would give you LAVF support), but FFMS2 was incapable of finding FFmpeg and therefore would fail. I even tried all the custom ??FLAGS and PKG_CONFIG_PATH options and still no dice. So the safest way I could find was to install FFmpeg and FFMS2 as usual, build x264 (which would autodetect them), then remove FFmpeg and FFMS completely and utterly, and compile FFmpeg again without the crazy restrictions it had the first time.
To test, I then gave x264 an H.264 MKV file I'd encoded with ffmpeg, and it accepted it just fine: indexed it, encoded it, output a nice new .mp4 (only because I use GPAC-enabled builds). However, there did seem to be some issues with AVIs (or perhaps just ffvhuff and ASP, as the ffvhuff and XviD-encoded files I tested with it gave me a ticks_per_frame invalid warning - but strangely enough I don't think it had a problem with such files on Windows, and I was using the exact same source packages; of course, my GCC environment on Windows is using 4.4.3, and Ubuntu is still stuck back on 4.4.1 - there could be other environment-specific reasons, but it just struck me as odd).