Newest 'libx264' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/libx264

Les articles publiés sur le site

  • VLC libx264 build error - "undefined reference to 'x264_encoder_open_128'"

    17 janvier 2013, par Tyler Scott

    Primary issue

    Steps to attempt to repeat this error.

    • Download latest git (git://git.videolan.org/x264.git).
    • Run ./configure - You can use any options, the error is present with all.
    • Run sudo make - It will compile all of the code but when it comes time to link the code it runs into the error

      /usr/local/lib/libavcodec.a(libx264.o): In function 'X264_init':
      /.../libx264.c:418: undefined reference to 'x264_encoder_open_128'

    This will then fall out and exit make. I have removed all apt packages relating to x264. I have searched my computer for any possible libraries that might be related and removed them. This problem persists. Can someone explain what is going wrong and the simplest way to solve this?

    Additional info

    This error also shows up when building avconv. It also fails at linking time with the same error. So I can assume it is nothing wrong with that directory or source.

  • How can I get RGB pixels from an opengl FrameBufferObject for libx264 encoding ?

    29 décembre 2012, par XieRan

    I want to get RGB pixels from the FrameBufferObject: fboName. Is there any method ? Do memmory map from GPU to CPU cost large time ?

        glGenFramebuffers(1, &fboName);
        glBindFramebuffer(GL_FRAMEBUFFER, fboName);     
        glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture, 0);
        glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRenderbuffer);
    
  • speeding up x264 encoding (C++ code with libavcodec)

    20 décembre 2012, par Hrishikesh_Pardeshi

    I am trying to capture windows screen (continuous screen shots) and encode them into x264. For that I am using avcodec_encode_video2 function available with libavcodec. However, it takes a huge amount of time. The time fluctuates between 25 – 1800 milliseconds for encoding individual frames.

    I tried tried both 1080p and 720p with video recording on screen.

    These are the settings I am using. This was tested on Windows 7, win32 release build with 4 GB of RAM.

    bit_rate = 2000, width = 1920, height = 1080 qmin = 0, qmax = 0, max_b_frames = 0, frame_rate = 25, pixel_format = YUV 4:4:4. The remaining settings are default which are fetched using avcodec_get_context_defaults3().

    Sample data(in milliseconds) for 20 frames (consecutive and chosen randomly) in a set of 250 frames. { 121, 106, 289, 126, 211, 30, 181, 58, 213, 34, 245, 50, 56, 364, 247, 171, 254, 83, 82, 229 }

    For the application it is a must that it captures at least at 15 fps. Can someone help out to tell whether any options can be used to improve the frame rate. I need to encode lossless, but I am open to some file size increase.

    Thanks in advance.

  • Alternative to sws_scale

    19 décembre 2012, par Hrishikesh_Pardeshi

    I am performing encoding of the captured windows screen with x264 using libavcodec. Since, the input is RGB, i am converting it to YUV to make it compatible with x264. I am using the sws_scale function for the same. My question is if there is any alternate for this function since i don't need any scaling to be done in my case. Also, it would be useful if someone could throw light on the workflow of this function.

    P.S: I am assuming x264 operates only in YUV color space. If this assumption is incorrect, please inform me on the same.

    Thanks in advance.

  • Converting avi to mp4 (use ffmpeg library) is very slow [closed]

    7 décembre 2012, par yAnTar

    I have task - convert any video from user to mp4 format. I use command

    ffmpeg -i $file -vcodec libx264 -vpre ultrafast -bt 500k -acodec libfaac -ab 56k -ac 2 -s 480x320 $outputFileMp4
    

    I try to change options bitrate, dimensions, but spped of converting is slow - 3 mbytes convert arround 90 seconds.

    If i convert avi to flv - no problem.

    FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
      built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
      configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
      libavutil     50.15. 1 / 50.15. 1
      libavcodec    52.72. 2 / 52.72. 2
      libavformat   52.64. 2 / 52.64. 2
      libavdevice   52. 2. 0 / 52. 2. 0
      libavfilter    1.19. 0 /  1.19. 0
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
    Input #0, avi, from 'intro.avi':
      Duration: 00:07:48.53, start: 0.000000, bitrate: 244 kb/s
        Stream #0.0: Video: camtasia, bgr24, 800x600, 15 tbr, 15 tbn, 15 tbc
        Metadata:
          strn            : Camtasia Producer_render549ab1f.avi Video #1
        Stream #0.1: Audio: pcm_s16le, 12000 Hz, 1 channels, s16, 192 kb/s
        Metadata:
          strn            : Microsoft Waveform: Camtasia Producer_render549ab1f.wav
    [libx264 @ 0x1202e40]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
    [libx264 @ 0x1202e40]profile Constrained Baseline, level 2.2
    [libx264 @ 0x1202e40]264 - core 107 - H.264/MPEG-4 AVC codec - Copyleft 2003-2010 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0x1:0 me=dia subme=0 psy=1 psy_rd=0.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=200 ratetol=2.5 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 aq=0
    Output #0, mp4, to 'test2.mp4':
      Metadata:
        encoder         : Lavf52.64.2
        Stream #0.0: Video: libx264, yuv420p, 640x480, q=10-51, 200 kb/s, 15 tbn, 15 tbc
        Metadata:
          strn            : Camtasia Producer_render549ab1f.avi Video #1
        Stream #0.1: Audio: libfaac, 12000 Hz, 2 channels, s16, 5 kb/s
        Metadata:
          strn            : Microsoft Waveform: Camtasia Producer_render549ab1f.wav
    Stream mapping:
      Stream #0.0 -> #0.0
      Stream #0.1 -> #0.1
    

    and result of executing

    frame= 7028 fps= 52 q=10.0 Lsize=    2654kB time=468.31 bitrate=  46.4kbits/s
    video:1883kB audio:672kB global headers:0kB muxing overhead 3.876805%
    [libx264 @ 0xe1ee40]frame I:29    Avg QP:10.83  size: 25781
    [libx264 @ 0xe1ee40]frame P:6999  Avg QP:10.08  size:   169
    [libx264 @ 0xe1ee40]mb I  I16..4: 80.1%  0.0% 19.9%
    [libx264 @ 0xe1ee40]mb P  I16..4:  0.2%  0.0%  0.0%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip:99.6%
    [libx264 @ 0xe1ee40]final ratefactor: 5.71
    [libx264 @ 0xe1ee40]coded y,uvDC,uvAC intra: 37.1% 3.3% 3.1% inter: 0.1% 0.0% 0.0%
    [libx264 @ 0xe1ee40]i16 v,h,dc,p: 87% 12%  1%  0%
    [libx264 @ 0xe1ee40]i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 23% 27%  8%  6%  3%  3%  2%  8%
    [libx264 @ 0xe1ee40]i8c dc,h,v,p: 94%  6%  0%  0%
    [libx264 @ 0xe1ee40]kb/s:32.91