Newest 'libx264' Questions - Stack Overflow

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

Articles published on the website

  • .mov conversion to .mp4 using ffmpeg doesn't convert the entire video

    5 February 2013, by user504879

    I am trying to convert a mov file which I got from saving my powerpoint presentation to a movie file. However only a part of the presentation is converted not the entire one and also running qt-start doesn't make the exported mp4 to stream over rtmp. Is there something which I am missing?

    I am attaching the output which i get when I am trying to convert the file using ffmpeg

    $ export LD_LIBRARY_PATH=/usr/local/lib; /usr/local/bin/ffmpeg -y -i /data/tmp/vialogues_prez.mov -r 20 -g 40 -acodec libfaac -ar 44100  -ab 96k -vcodec libx264 -s 640x480 -vpre medium /data/videos/vialogues_prez.mp4
    
    FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
      built on Feb 19 2011 19:03:56 with gcc 4.4.5
      configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --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
      libswscale     0.11. 0 /  0.11. 0
      libpostproc   51. 2. 0 / 51. 2. 0
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x186f460]max_analyze_duration reached
    
    Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 0.08 (1/12)
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/tmp/vialogues_prez.mov':
      Metadata:
        major_brand     : qt  
        minor_version   : 537199360
        compatible_brands: qt  
        comment         : Microsoft PowerPoint Movie
        comment-eng     : Microsoft PowerPoint Movie
      Duration: 00:04:47.00, start: 0.000000, bitrate: 22 kb/s
        Stream #0.0(eng): Video: qtrle, bgra, 640x480, 21 kb/s, 0.01 fps, 0.08 tbr, 600 tbn, 600 tbc
        Stream #0.1(eng): Video: 0x0000, 600 tbr, 600 tbn, 600 tbc
        Stream #0.2(eng): Video: 0x0000, 600 tbr, 600 tbn, 600 tbc
    [libx264 @ 0x1873b50]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
    [libx264 @ 0x1873b50]profile High, level 3.0
    [libx264 @ 0x1873b50]264 - core 114 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=200 ratetol=20.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 aq=1:1.00
    Output #0, mp4, to '/data/videos/vialogues_prez.mp4':
      Metadata:
        encoder         : Lavf52.64.2
        Stream #0.0(eng): Video: libx264, yuv420p, 640x480, q=10-51, 200 kb/s, 20 tbn, 20 tbc
    Stream mapping:
      Stream #0.0 -> #0.0
    Press [q] to stop encoding
    frame=    4 fps=  0 q=32766.0 Lsize=      50kB time=45.05 bitrate=   9.0kbits/s    
    video:49kB audio:0kB global headers:0kB muxing overhead 1.740573%
    [libx264 @ 0x1873b50]frame I:1     Avg QP:32.73  size:  8427
    [libx264 @ 0x1873b50]frame P:3     Avg QP:20.68  size: 13640
    [libx264 @ 0x1873b50]mb I  I16..4: 60.8% 14.6% 24.7%
    [libx264 @ 0x1873b50]mb P  I16..4: 28.7%  7.2% 15.4%  P16..4:  2.0%  1.3%  1.4%  0.0%  0.0%    skip:43.9%
    [libx264 @ 0x1873b50]final ratefactor: -16.67
    [libx264 @ 0x1873b50]8x8 transform intra:14.2% inter:5.0%
    [libx264 @ 0x1873b50]coded y,uvDC,uvAC intra: 25.2% 18.4% 13.0% inter: 5.3% 7.4% 7.2%
    [libx264 @ 0x1873b50]i16 v,h,dc,p: 63% 34%  1%  2%
    [libx264 @ 0x1873b50]i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 41% 31%  1%  1%  1%  1%  1%  4%
    [libx264 @ 0x1873b50]i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 33% 19%  2%  3%  3%  4%  3%  4%
    [libx264 @ 0x1873b50]i8c dc,h,v,p: 75% 20%  4%  1%
    [libx264 @ 0x1873b50]Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x1873b50]ref P L0: 57.0% 12.2% 26.2%  4.7%
    [libx264 @ 0x1873b50]kb/s:1.14
    

    any help is appreciated.

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

    17 January 2013, by 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 December 2012, by 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 December 2012, by 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 December 2012, by 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.