Newest 'libx264' Questions - Stack Overflow

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

Les articles publiés sur le site

  • What parameters are required to use x264 via ffmpeg ?

    15 février 2012, par nightWatcher

    i have an AVI file, i have decoded it into Raw form first, now i want to encode it in .h264 format. I am using libavcodec.dll and libavformat.dll. The point is when i try to open the codec from avcodec_open(AVCodecContext,AVCodec) It doesnot open. Am i missing some parameters that i need to specify for execution of this method for the lib x264? Any help will be deeply appreciated. Thanks

  • x264_coeff_last64_sse2

    16 décembre 2011, par moose

    The x264 lib is crashing on Windows as always. Now, I'm trying to fix it, and I don't understand one thing. In the code we can see only the function signature:

    int x264_coeff_last64_sse2( dctcoef *dct );
    

    But, there is no implementation in *.h, *.c or *.asm source. How is that possible???

    (The function is called and it crashed, so it has to be linked in)

  • X264 encoding using Opencv

    29 novembre 2011, par user573193

    I am working with a high resolution camera: 4008x2672. I a writing a simple program which grabs frame from the camera and sends the frame to a avi file. For working with such a high resolution, I found only x264 codec that could do the trick (Suggestions welcome). I am using opencv for most of the image handling stuff. As mentioned in this post http://doom10.org/index.php?topic=1019.0 , I modified the AVCodecContext members as per ffmpeg presets for libx264 (Had to do this to avoid broken ffmpeg defaults settings error). This is output I am getting when I try to run the program

    libx264 @ 0x992d040]non-strictly-monotonic PTS 
    1294846981.526675 1 0 //Timestamp camera_no frame_no
    1294846981.621101 1 1
    1294846981.715521 1 2
    1294846981.809939 1 3
    1294846981.904360 1 4
    1294846981.998782 1 5
    1294846982.093203 1 6
        Last message repeated 7 times
    [avi @ 0x992beb0]st:0 error, non monotone timestamps 
    -614891469123651720 >= -614891469123651720
    
     OpenCV Error: Unspecified error (Error while writing video frame) in
     icv_av_write_frame_FFMPEG, file 
    /home/ajoshi/ext/OpenCV-2.2.0/modules/highgui/src/cap_ffmpeg.cpp, line 1034
    terminate called after throwing an instance of 'cv::Exception'
     what():  /home/ajoshi/ext/OpenCV-2.2.0/modules/highgui/src/cap_ffmpeg.cpp:1034:
    error: (-2) Error while writing video frame in function icv_av_write_frame_FFMPEG
    

    Aborted

    Modifications to the AVCodecContext are:

    if(codec_id == CODEC_ID_H264)
    {
        //fprintf(stderr, "Trying to parse a preset file for libx264\n");
        //Setting Values manually from medium preset
        c->me_method = 7;
        c->qcompress=0.6;
        c->qmin = 10;
        c->qmax = 51;
        c->max_qdiff = 4;
        c->i_quant_factor=0.71;
        c->max_b_frames=3;
        c->b_frame_strategy = 1;
        c->me_range = 16;
    c->me_subpel_quality=7; c->coder_type = 1; c->scenechange_threshold=40; c->partitions = X264_PART_I8X8 | X264_PART_I4X4 | X264_PART_P8X8 | X264_PART_B8X8; c->flags = CODEC_FLAG_LOOP_FILTER; c->flags2 = CODEC_FLAG2_BPYRAMID | CODEC_FLAG2_MIXED_REFS | CODEC_FLAG2_WPRED | CODEC_FLAG2_8X8DCT | CODEC_FLAG2_FASTPSKIP; c->keyint_min = 25; c->refs = 3; c->trellis=1; c->directpred = 1; c->weighted_p_pred=2; }

    I am probably not setting the dts and pts values which I believed ffmpeg should be setting it for me.

    Any sugggestions welcome.
    Thanks in advance

  • Getting either incorrect output resolution or FPS from ffmpeg

    5 novembre 2011, par Adam

    I am capturing an RTSP stream from a security camera, and transcoding it for (live streaming) to iphone, using OSX as the encoding platform. I have it working correctly, and Im tuning it. However, it seems that it is not outputting the requested resolution. This is my script

    /Applications/SecurityCamera/openRTSP -v -c -t rtsp://10.0.1.118/ch1-s1 | \
        /Applications/SecurityCamera/ffmpeg \
        -r 10 -i - \
        -y -an -ab 64000 -f mpegts -vcodec copy -s 960x640 \
        -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 \
        -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16  -keyint_min 25 \
        -sc_threshold 40 -i_qfactor 0.71 -bt 400k -maxrate 524288 -bufsize 524288 \
        -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 \
        -aspect 960:640 -r 10 -g 10 -async 2 -\
        |/Applications/SecurityCamera/mediastreamsegmenter -b http://localhost:8080/\
          -f /Library/WebServer/Documents/ -i stream.m3u8 -t 10 -s 4 -D
    

    This is the status report:

    Input #0, h264, from 'pipe:':
    
      Duration: N/A, bitrate: N/A
      Stream #0.0: Video: h264, yuv420p, 1600x1200, 10 fps, 10 tbr, 1200k tbn, 20 tbc
      [mpegts @ 0x10100c200] muxrate VBR, pcr every 1 pkts, sdt every 200, pat/pmt every 40 pkts
      Output #0, mpegts, to 'pipe:':
      Metadata:
        encoder         : Lavf52.93.0
        Stream #0.0: Video: libx264, yuv420p, 1600x1200 [PAR 1:1 DAR 4:3], q=2-31, 90k tbn, 10 tbc
    Stream mapping:
      Stream #0.0 -> #0.0
    

    You can see that its working, but it is outputting 1600x1200 for some reason. (possibly -vcodec copy copies all codec parameters, not just the codec type?)

    If I change the -vcodec copy to -vcodec libx264 then I get the correct status report (stating 960x640, correct), but the streaming switches to 2 FPS (why? Im forcing both input and output!) and it halts after 54 frames (see output below)

    Seems stream 0 codec frame rate differs from container frame rate: 20.00 (20/1) -> 10.00 (20/2)
    Input #0, h264, from 'pipe:':
      Duration: N/A, bitrate: N/A
        Stream #0.0: Video: h264, yuv420p, 1600x1200, 10 fps, 10 tbr, 1200k tbn, 20 tbc
    [buffer @ 0x100d02420] w:1600 h:1200 pixfmt:yuv420p
    [scale @ 0x100d026f0] w:1600 h:1200 fmt:yuv420p -> w:960 h:640 fmt:yuv420p flags:0x4
    [libx264 @ 0x10100d400] using SAR=1/1
    [libx264 @ 0x10100d400] frame MB size (60x40) > level limit (1620)
    [libx264 @ 0x10100d400] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64 SlowCTZ SlowAtom
    [libx264 @ 0x10100d400] profile Constrained Baseline, level 3.0
    [mpegts @ 0x10100c200] muxrate VBR, pcr every 1 pkts, sdt every 200, pat/pmt every 40 pkts
    Output #0, mpegts, to 'pipe:':
      Metadata:
        encoder         : Lavf52.93.0
        Stream #0.0: Video: libx264, yuv420p, 960x640 [PAR 1:1 DAR 3:2], q=10-51, 200 kb/s, 90k tbn, 10 tbc
    Stream mapping:
      Stream #0.0 -> #0.0
    read pmap fffps=  3 q=37.0 size=      37kB time=0.10 bitrate=3008.0kbits/s    bits/s    
    video pid set at 100
    found sequence start
      next segment value 1026000
    written bytes 376 skipped 0
    frame=   54 fps=  2 q=-1.0 Lsize=     160kB time=5.40 bitrate= 242.0kbits/s    
    video:141kB audio:0kB global headers:0kB muxing overhead 12.872737%
    frame I:6     Avg QP:34.68  size: 23524
    [libx264 @ 0x10100d400] frame P:48    Avg QP:41.53  size:    75
    [libx264 @ 0x10100d400] mb I  I16..4: 63.9%  0.0% 36.1%
    [libx264 @ 0x10100d400] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  0.8%  0.1%  0.0%  0.0%  0.0%    skip:99.0%
    [libx264 @ 0x10100d400] final ratefactor: 38.54
    [libx264 @ 0x10100d400] coded y,uvDC,uvAC intra: 57.7% 22.3% 2.0% inter: 0.0% 0.1% 0.0%
    [libx264 @ 0x10100d400] i16 v,h,dc,p: 23% 35% 27% 15%
    [libx264 @ 0x10100d400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 32% 16%  4%  3%  3%  7%  4%  8%
    [libx264 @ 0x10100d400] i8c dc,h,v,p: 83% 11%  5%  0%
    [libx264 @ 0x10100d400] kb/s:214.43
    
  • How to compile ffmpeg on android with external library

    2 novembre 2011, par Curtis Kiu

    I would like to build ffmpeg using android ndk. The basic clean build is work fine for me. However, I would like to add librtmp,libfaac,libx264 into ffmpeg. Then I add --enable-libXXXXX in build file,but it fail to do so. So can anyone tell me how can I build those file for ffmpeg? Where and what file should I put into the ffmpeg file? Please give me a helping hand Thank you