Page 145 of 241 FirstFirst ... 4595135143144145146147155195 ... LastLast
Results 1,441 to 1,450 of 2402

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

  1. #1441
    Join Date
    Jun 2007
    Beans
    17,337

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

    Quote Originally Posted by andrew.46 View Post
    Hi mc4man,
    A little aside from the main discussion, is that the default kernel for natty
    As of the other day, I gather it will use 2.38 eventually.
    Overall I'm not too sure i'll have any use for 11.04 on my recent laptop, though I do like it for a much older p4 desktop with 23" display (where i have it now.
    Probably will redo the eventual 2.38 when and if a bfs patch becomes avail., I have seen a bit of overall improvement with that on the p4 in 10.10 (2.36

  2. #1442
    Join Date
    Dec 2010
    Beans
    21

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

    EDIT: Fixed my own problem

    I had inadvertently entered the svc command twice, which created another ffmpeg src folder nested in my ffmpeg source folder, causing the problem. Deleted everything and recompiled and all is well.

    ------

    Thanks a lot for the guide..

    I'm getting the following error on Ubuntu 10.10 when running the make command for ffmpeg. This seemed to happen towards the tail end of compilation as it took a good 10 minutes of compiling before I hit this error.

    Also, there were no problems with the configure step.

    I believe the version of ffmpeg is 26326.

    Any idea what it could be? What should I do now to get it working?

    Code:
    AR	libavutil/libavutil.a
    CC	ffmpeg.o
    ffmpeg.c: In function ‘term_exit’:
    ffmpeg.c:424: warning: zero-length gnu_printf format string
    ffmpeg.c: In function ‘opt_audio_sample_fmt’:
    ffmpeg.c:2891: warning: passing argument 1 of ‘list_fmts’ from incompatible pointer type
    cmdutils.h:165: note: expected ‘void (*)(char *, int,  int)’ but argument is of type ‘char * (*)(char *, int,  enum AVSampleFormat)’
    ffmpeg.c: At top level:
    ffmpeg.c:247: warning: ‘sws_flags’ defined but not used
    ffmpeg.c: In function ‘output_packet’:
    ffmpeg.c:1045: warning: dereferencing pointer ‘picture2’ does break strict-aliasing rules
    ffmpeg.c:1603: note: initialized from here
    CC	cmdutils.o
    cmdutils.c: In function ‘init_opts’:
    cmdutils.c:67: warning: ‘sws_getContext’ is deprecated (declared at libswscale/swscale.h:191)
    cmdutils.c: In function ‘read_file’:
    cmdutils.c:735: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
    LD	ffmpeg_g
    CP	ffmpeg
    STRIP	ffmpeg
    strip: Warning: 'ffmpeg' is not an ordinary file
    make: *** [ffmpeg] Error 1
    Last edited by ch3rryc0ke; January 14th, 2011 at 09:01 AM.

  3. #1443
    Join Date
    Sep 2006
    Beans
    3,713

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

    Yesterday I updated the Meerkat guide to Git because that's what FFmpeg is now using, but the Git repository location changed since then. If you followed this guide yesterday and plan to use the ffmpeg directory to update FFmpeg then issue the following command:
    Code:
    cd ~/ffmpeg && git remote set-url origin git://git.ffmpeg.org/ffmpeg.git

  4. #1444
    Join Date
    Nov 2010
    Location
    IT
    Beans
    5
    Distro
    Ubuntu 10.10 Maverick Meerkat

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

    Hello,
    sorry for the very n00b question: I succeded in compiling x264 on my Maverick Merkaat 64-bit using the guide in the first post, but I only get the 64-bit build. Is there a quick method to obtain the 32-bit build too?
    Also, are there any differences between "make" and "make fprofiled"? Does the second option provide a more optimized code?
    Thank you!

    Regards,
    Ame

  5. #1445
    Join Date
    Dec 2005
    Location
    St. Petersburg, FL
    Beans
    570
    Distro
    Ubuntu Budgie

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

    Quote Originally Posted by Amefurashi View Post
    Hello,
    sorry for the very n00b question: I succeded in compiling x264 on my Maverick Merkaat 64-bit using the guide in the first post, but I only get the 64-bit build. Is there a quick method to obtain the 32-bit build too?
    Also, are there any differences between "make" and "make fprofiled"? Does the second option provide a more optimized code?
    Thank you!

    Regards,
    Ame
    Personally I think doing a 32-bit build on 64-bit Linux is a bit useless*, but it should be a simple matter of using --cross-prefix and --host, specifying the 32-bit architecture (what is it, i686-linux-gnu or something like that? check in /usr).

    *as the relevant tools on Linux are all usable in 64-bit for a proper toolchain. The only exception would be if you were using a more powerful 64-bit-running machine to compile software for an older 32-bit-running machine. Then you'd need to use --prefix so as not to end up installing in an inconvenient spot in the file hierarchy.

    If you want to build ffmpeg as 32-bit, you'd need to use --cross-prefix, --target-os, and --arch (or maybe just --arch, but it may complain about not having the other two).


    I usually do cross-compiles for Windows using mingw, but it's the same basic principle to do it for any other given system, provided the right cross-compiler is installed (and on a 64-bit system, the 32-bit compiler is a cross-compiler). In my case, x264 looks like this:
    PKG_CONFIG_PATH=$HOME/win32_build/lib/pkgconfig ./configure --prefix=$HOME/win32_build --cross-prefix=i586-mingw32msvc- --extra-cflags="-I$HOME/win32_build/include -march=pentium3" --extra-ldflags="-L$HOME/win32_build/lib" --qtsdk=$HOME/qtsdk --host=i586-mingw32msvc
    Some of that extra stuff is because I include LAVF, FFMS2, and Audio support; look at how I specified --cross-prefix and --host. The hyphen at the end of the cross-prefix command is necessary, because it will try to look for the regular compiling toolchain with i586-mingw32msvc- attached to the front of it. So instead of looking for gcc, it looks for i586-mingw32msvc-gcc. Without the hyphen, the needed calls would be misspelled.

    So in the case of 32-bit Linux, it might look like this instead:
    ./configure --cross-prefix=i686-linux-gnu- --host=i686-linux-gnu
    Last edited by qyot27; January 19th, 2011 at 08:43 PM.

  6. #1446
    Join Date
    Nov 2010
    Location
    IT
    Beans
    5
    Distro
    Ubuntu 10.10 Maverick Meerkat

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

    Quote Originally Posted by qyot27 View Post
    The only exception would be if you were using a more powerful 64-bit-running machine to compile software for an older 32-bit-running machine. Then you'd need to use --prefix so as not to end up installing in an inconvenient spot in the file hierarchy.
    Indeed, that's exactly my purpose: providing 32-bit builds (not for personal use), but compiling them on my 64-bit maverick.

    Also, I'd love to implement LAVF and FFMS2 support in my builds: is it possible under linux?

    Thanks again,
    Ame

  7. #1447
    Join Date
    Dec 2006
    Beans
    7,349

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

    Hi Ame,

    x264 should automagically enable lavf input for you in the presence of FFmpeg header. This should be seen with ./configure as follows:

    Code:
    andrew@skamandros~/Desktop/x264$ ./configure
    Platform:   X86
    System:     LINUX
    asm:        yes
    avs:        no
    lavf:       yes
    ffms:       no
    gpac:       no
    gpl:        yes
    thread:     posix
    filters:    resize crop select_every 
    debug:      no
    gprof:      no
    PIC:        no
    shared:     no
    visualize:  no
    bit depth:  8
    
    You can run 'make' or 'make fprofiled' now.
    and after compilation should show:

    Code:
    andrew@skamandros~/Desktop/x264$ x264 --help | head -n 14
    x264 core:112 r156 22bfd31
    Syntax: x264 [options] -o outfile infile
    
    Infile can be raw (in which case resolution is required),
      or YUV4MPEG (*.y4m),
      or Avisynth if compiled with support (no).
      or libav* formats if compiled with lavf support (yes) or ffms support (no).
    Outfile type is selected by filename:
     .264 -> Raw bytestream
     .mkv -> Matroska
     .flv -> Flash Video
     .mp4 -> MP4 if compiled with GPAC support (no)
    Output bit depth: 8 (configured at compile time)
    Andrew
    You think that's air you're breathing now?

  8. #1448
    Join Date
    Mar 2010
    Beans
    1

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

    I think you should remove subversion from Updating FFmpeg and x264 section.

  9. #1449
    Join Date
    Sep 2006
    Beans
    3,713

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

    You're right. I missed it when I git-ized the guide. Thanks.

  10. #1450
    Join Date
    Dec 2005
    Location
    St. Petersburg, FL
    Beans
    570
    Distro
    Ubuntu Budgie

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

    Quote Originally Posted by Amefurashi View Post
    Also, I'd love to implement LAVF and FFMS2 support in my builds: is it possible under linux?
    To trim it down to size, the basic outline looks like this:

    FFmpeg (stripped down), installed to custom prefix
    FFMS2, installed to custom prefix
    x264, LAVF and FFMS2 should be detected and used
    (if you want a fully-featured FFmpeg you'll then need to build it again as this thread's main guide details)

    Just copy-and-pasting from my most recent reference file, with some adjustments:
    git clone git://git.ffmpeg.org/ffmpeg.git
    svn checkout http://ffmpegsource.googlecode.com/svn/trunk/ ffms2
    git clone git://git.videolan.org/x264.git
    FFmpeg (basic):
    cd ffmpeg
    ./configure --prefix=$HOME/ffms2_build --enable-gpl --enable-version3 --enable-postproc --disable-encoders \
    --disable-muxers --disable-debug --disable-network --disable-hwaccels --disable-indevs --disable-outdevs \
    --extra-cflags="-march=native"
    make
    make install
    FFMS2:
    cd ../ffms2
    ./configure --prefix=$HOME/ffms2_build PKG_CONFIG_PATH=$HOME/ffms2_build/lib/pkgconfig
    make
    make install
    x264:
    cd ../x264
    PKG_CONFIG_PATH=$HOME/ffms2_build/lib/pkgconfig ./configure --prefix=$HOME/x264_build --extra-cflags="-march=native"
    make
    make install
    make distclean
    PKG_CONFIG_PATH=$HOME/ffms2_build/lib/pkgconfig ./configure --prefix=$HOME/x264_build/x264-10bit \
    --extra-cflags="-march=native" --bit-depth=10
    make
    make install
    Of course, adding in the proper options for cross-compiling (the --extra-cflags="-march=native" parameter should be changed to whatever processor the target machine uses*; if that's not known, leave the option out entirely). The 10-bit step for x264, starting with the 'make distclean', can be omitted if you don't find it necessary.

    *actually using 'native' will set it to the processor of the computer doing the compiling. The reference file actually has pentium3 specified since I'm using a Coppermine-based Celeron.

Page 145 of 241 FirstFirst ... 4595135143144145146147155195 ... 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
  •