Page 53 of 241 FirstFirst ... 343515253545563103153 ... LastLast
Results 521 to 530 of 2402

Thread: HOWTO: Install and use the latest FFmpeg and x264

  1. #521
    Join Date
    Oct 2006
    Location
    Los Angeles
    Beans
    119
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Trying to compile ffmpeg with --enable-shared

    I have compiled successfully a couple of times according to this howto. Both x264 and ffmpeg seem to work fine with apps like WinFF and Kdenlive.

    HOWEVER I can't get the latest Audacity 1.3.9 to recognize the ffmpeg library. As I understand it, the problem seems to be that this v. of Audacity needs a later version of this lib, but apparently I still have the old one from repos installed. It seems that compiling ffmpeg is not generating a new libavformat. As far as I can tell this is because the ./configure line I am using from this howto does not include --enable-shared.

    So in compiling ffmpeg, I add this line to the ./configure with the following line

    Code:
    ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-shared
    After this, running make returns an error, the last few lines of which are:

    Code:
    /usr/bin/ld: /usr/local/lib/libx264.a(common.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    /usr/local/lib/libx264.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [libavcodec/libavcodec.so.52] Error 1
    Can anyone shed some light on this?

  2. #522
    Join Date
    Sep 2006
    Beans
    3,713

    Re: Trying to compile ffmpeg with --enable-shared

    I believe if you enable-shared on FFmpeg you have to do the same on x264 on x86_64 systems, otherwise you'll have a PIC shared FFmpeg and non-PIC static x264.

    Uninstall both x264 and FFmpeg, then run the following:
    Code:
    cd
    cd x264
    make distclean
    git pull
    ./configure --enable-shared
    make
    Install with checkinstall as shown in the guide and then run sudo ldconfig. Now for FFmpeg:
    Code:
    cd
    cd ffmpeg
    make distclean
    svn up
    ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-shared
    make
    Install with checkinstall and then run sudo ldconfig.
    Last edited by FakeOutdoorsman; October 10th, 2009 at 03:26 AM.

  3. #523
    Join Date
    Oct 2006
    Location
    Los Angeles
    Beans
    119
    Distro
    Ubuntu 9.04 Jaunty Jackalope

    Re: Trying to compile ffmpeg with --enable-shared

    Thanks FakeOutdoorsman for the fast response. Appreciate it. I did all this; the apps compiled and seemed to install fine this time. I was able to use Kdenlive with these libs.

    But I still have pretty much the same problem with Audacity, I point it to all the libavformat.so files I can find and it won't recognize any of them. I uninstalled everything again, installed x264 and ffmpeg from the dep packages I generated, then went to install Audacity 1.3.9 (I'm getting it from the getdeb repo at http://getdeb.masio.com.mx/

    When I try to install this, it says it needs to install libavformat52. But isn't this the lib that should have been installed by ffmpeg shared? I have a libavformat.so.52.39.0 sitting in /usr/local/lib. But synaptic shows that no libavformat of any kind is installed.

    I don't really understand the relationship between ffmpeg and libavcodec, libavformat, libavdevice, etc. I thought that compiling ffmpeg with --enable-shared would generate and install at least some of these as well but it doesn't seem to have worked that way. ???

  4. #524
    Join Date
    Sep 2006
    Beans
    3,713

    Re: Trying to compile ffmpeg with --enable-shared

    Quote Originally Posted by ArtInvent View Post
    ...

    But I still have pretty much the same problem with Audacity, I point it to all the libavformat.so files I can find and it won't recognize any of them. I uninstalled everything again, installed x264 and ffmpeg from the dep packages I generated, then went to install Audacity 1.3.9 (I'm getting it from the getdeb repo at http://getdeb.masio.com.mx/

    When I try to install this, it says it needs to install libavformat52. But isn't this the lib that should have been installed by ffmpeg shared? I have a libavformat.so.52.39.0 sitting in /usr/local/lib. But synaptic shows that no libavformat of any kind is installed.

    I don't really understand the relationship between ffmpeg and libavcodec, libavformat, libavdevice, etc. I thought that compiling ffmpeg with --enable-shared would generate and install at least some of these as well but it doesn't seem to have worked that way. ???
    Try compiling Audacity itself instead of using a third-party repository. You never know what you're going to get with an unofficial repository or PPC. I'm not saying they're bad, but do you know what compile options they used or if they compiled it "correctly"? Read the Developing Audacity On Linux guide before compiling. You will at least need the libwxgtk2.8-dev package to compile this according to this page.

    The Audacity from that third-party repository was probably compiled with an older FFmpeg/libav* and might be looking for these old libraries in /usr/lib. Just a guess. I don't really know.

    Your compiled shared version of FFmpeg did supply the libav* libraries as you show above. They just don't get integrated as separate packages in Ubuntu package management because I'm not too sure how to do that, nor am I really interested to tell you the truth. I'd rather spend time on FFmpeg itself than on managing the Ubuntu packaging system. Also, I'm not sure how useful that would be for already compiled packages from the Ubuntu repo or a third-party repo, because most repo packages are set to look for older FFmpeg stuff anyway...I think.

    Maybe you should try compiling whatever you want to use with your compiled FFmpeg. Otherwise you'll have to learn how to wrangle Ubuntu package management and I'm not really sure how to do that.

    Or of you are into compiling to get newer packages or to customize compiling options then perhaps you should look into a distro that is more suitable for that sort of thing. I personally use both Ubuntu and Arch Linux, but Arch is easier to do this sort of thing in my opinion, or perhaps I just didn't take the time to learn how to do it properly in Ubuntu.

    A long answer for basically saying, "I don't know".

  5. #525
    Join Date
    Oct 2009
    Beans
    22

    Re: HOWTO: Install and use the latest FFmpeg and x264

    problem solved
    Last edited by sumero; October 13th, 2009 at 07:43 AM.

  6. #526
    Join Date
    Apr 2006
    Location
    Cincinnati, Ohio, USA
    Beans
    61
    Distro
    Kubuntu 9.10 Karmic Koala

    Re: Trying to compile ffmpeg with --enable-shared

    Quote Originally Posted by ArtInvent View Post

    I don't really understand the relationship between ffmpeg and libavcodec, libavformat, libavdevice, etc. I thought that compiling ffmpeg with --enable-shared would generate and install at least some of these as well but it doesn't seem to have worked that way. ???

    Hi ArtInvent,
    I think I am trying to do the same thing as you (get an upgraded ffmpeg deb for use with kdenlive). I get a working ffmpeg out of this tutorial, but I also want to generate deb packages for libavcodec, libavformat, etc. like the ubuntu packages do.

    Have you figured out how to do this yet?

    Thanks, Geoff

  7. #527
    Join Date
    Oct 2009
    Beans
    22

    Re: HOWTO: Install and use the latest FFmpeg and x264

    there is a white line on the right side of my video
    with this version of ffmpeg.

    i don't get it.

    with the generic ffmpeg ( sudo apt-get install ffmpeg )

    the white line is not there.
    Last edited by sumero; October 13th, 2009 at 07:54 PM.

  8. #528
    Join Date
    Oct 2009
    Beans
    22

    Re: HOWTO: Install and use the latest FFmpeg and x264

    this whole "SECOND PASS" or "TWO PASS" thing...

    okay so, you have to run FFMPEG twice on the same file.
    one with sound one without sound, right?

    but if you don't run the second one on the output of
    the first pass then how does the second pass even know
    that there ever was a first pass?

    can someone explain this? does it save in memory or something?
    what's the deal?

    oh and what does "two pass" even do exactly? improve the
    quality?

    how? it takes a mute version and then applies what to it?

  9. #529
    Join Date
    Oct 2009
    Beans
    22

    Re: HOWTO: Install and use the latest FFmpeg and x264

    the ffmpeg on the ffmpeg's web site ( the one that is downloadable from their web site )
    has "vhook" features but does not have x264 lib.

    /ffmpeg-0.5# ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab
    ERROR: libx264 not found


    as you can see it says libx264 not found.

    i really wanna use libx264 with vhook side by side.
    which files or folders can i copy from the SVN version of FFMPEG and put it into
    the older version of FFMPEG so i can have both libx264 and vhook enabled a tthe same time?

    i tried copy pasting everything from SVN's ffmpeg folder to the downloaded older version's
    folder then configure, it didn't do the trick.

    any ideas?

  10. #530
    Join Date
    Sep 2006
    Beans
    3,713

    Re: HOWTO: Install and use the latest FFmpeg and x264

    Quote Originally Posted by sumero View Post
    there is a white line on the right side of my video
    with this version of ffmpeg.

    i don't get it.

    with the generic ffmpeg ( sudo apt-get install ffmpeg )

    the white line is not there.
    Show your FFmpeg command and the complete FFmpeg output.

    Quote Originally Posted by sumero View Post
    this whole "SECOND PASS" or "TWO PASS" thing...

    okay so, you have to run FFMPEG twice on the same file.
    one with sound one without sound, right?

    but if you don't run the second one on the output of
    the first pass then how does the second pass even know
    that there ever was a first pass?

    can someone explain this? does it save in memory or something?
    what's the deal?
    You don't have to output a file on the first pass. If you look at the two-pass example on the first page of this thread you can see that it outputs to /dev/null which is a special Linux file that discards whatever is fed to it. A logfile will be created consisting of data from the first pass. Then second pass then reads this log file so it can encode more efficiently.

    oh and what does "two pass" even do exactly? improve the
    quality?
    You use two-pass encoding when you are targeting a specific bitrate. For example, if you have a portable device that has a max bitrate or only accepts file sizes below a certain amount you can use two-pass encoding to limit your output file size or bitrate. I recommend one-pass CRF encoding unless you need a specific output file size.

    how? it takes a mute version and then applies what to it?
    Read the FFmpeg x264 encoding guide for more details.

    I will have to answer your vhook question later. I have a video deadline today and my files just got done transferring.

Page 53 of 241 FirstFirst ... 343515253545563103153 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •