Newest 'libx264' Questions - Stack Overflow

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

Les articles publiés sur le site

  • How to decode using libx264 package ?

    6 mai 2017, par Peter

    Environment: Ubuntu 16.04, package libx264-148

    I am looking at decoding some x264-encoded data using libx264 library. I found a sample at https://code.videolan.org/solaris/x264/raw/7d35ba6bf080610d8f144f4270e961c69ba14f1c/x264.c. It is using APIs such as x264_decoder_open and x264_decoder_decode. However, when I examine /usr/include/x264.h, I see APIs only for encoding such as x264_encoder_open and x264_encoder_encode. There are no APIs for decoding. I am wondering if I am missing something. Are we supposed to use the same APIs for encoding as well as decoding? Also, pointer to any code sample will be highly appreciated. Regards.

    PS: It is a similar issue with x265.h as well.

  • How to decode using libx264 package ?

    6 mai 2017, par Peter

    Environment: Ubuntu 16.04, package libx264-148

    I am looking at decoding some x264-encoded data using libx264 library. I found a sample at https://code.videolan.org/solaris/x264/raw/7d35ba6bf080610d8f144f4270e961c69ba14f1c/x264.c. It is using APIs such as x264_decoder_open and x264_decoder_decode. However, when I examine /usr/include/x264.h, I see APIs only for encoding such as x264_encoder_open and x264_encoder_encode. There are no APIs for decoding. I am wondering if I am missing something. Are we supposed to use the same APIs for encoding as well as decoding? Also, pointer to any code sample will be highly appreciated. Regards.

    PS: It is a similar issue with x265.h as well.

  • x264 Encoding use x264_picture_clean crash

    5 mai 2017, par Wong Sam

    When I use iphone encoding CMSampleBufferRef To H264, it offen crash at x264_picture_clean I dont't know how to deal it

    enter image description here

    x264_picture_t* pPic_in; 
    

    here is my init about pPic_in

    pPic_in = (x264_picture_t*)malloc(sizeof(x264_picture_t));
    pPic_out = (x264_picture_t*)malloc(sizeof(x264_picture_t));
    
    x264_picture_init(pPic_out);
    
    x264_picture_init(pPic_in);
    x264_picture_alloc(pPic_in, csp, pParam->i_width, pParam->i_height);
    
    pPic_in->img.i_stride[0] = width;
    pPic_in->img.i_stride[1] = width / 2;
    pPic_in->img.i_stride[2] = width / 2;
    pPic_in->img.i_plane = 3;
    

    and i set data here

        picture_buf = yuv420_data;
        pPic_in->img.plane[0] = picture_buf;
        pPic_in->img.plane[1] = picture_buf + y_size;
        pPic_in->img.plane[2] = picture_buf + y_size*5/4;
    

    it looks well , when i run it on my iphone,but sometimes it will crash at

    x264_picture_clean
    

    here is more detail abuot pPic_in when crash occer enter image description here

    Thank u very much

  • x264 Encoding use x264_picture_clean crash

    5 mai 2017, par Wong Sam

    When I use iphone encoding CMSampleBufferRef To H264, it offen crash at x264_picture_clean I dont't know how to deal it

    enter image description here

    x264_picture_t* pPic_in; 
    

    here is my init about pPic_in

    pPic_in = (x264_picture_t*)malloc(sizeof(x264_picture_t));
    pPic_out = (x264_picture_t*)malloc(sizeof(x264_picture_t));
    
    x264_picture_init(pPic_out);
    
    x264_picture_init(pPic_in);
    x264_picture_alloc(pPic_in, csp, pParam->i_width, pParam->i_height);
    
    pPic_in->img.i_stride[0] = width;
    pPic_in->img.i_stride[1] = width / 2;
    pPic_in->img.i_stride[2] = width / 2;
    pPic_in->img.i_plane = 3;
    

    and i set data here

        picture_buf = yuv420_data;
        pPic_in->img.plane[0] = picture_buf;
        pPic_in->img.plane[1] = picture_buf + y_size;
        pPic_in->img.plane[2] = picture_buf + y_size*5/4;
    

    it looks well , when i run it on my iphone,but sometimes it will crash at

    x264_picture_clean
    

    here is more detail abuot pPic_in when crash occer enter image description here

    Thank u very much

  • Fast Video Compression on Android

    7 avril 2017, par Asif Aminur Rashid

    I want to upload video files to server and compress before uploading. I'm using ffmpeg libx264. I have seen viber can upload 30 second video file of size 78MB within a minute [reduce it's down to 2.3MB]. I want to know how do they do it so fast?

    What I have tried so far -

    FFMPEG version :  n2.4.2 
    Built with gcc 4.8
    
    Build Configuraiton : --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    

    Command:

    ffmpeg -y -i /storage/emulated/0/main.mp4 -s 480x320 -r 20 -c:v libx264 -preset ultrafast -c:a copy -me_method zero -tune fastdecode -tune zerolatency -strict -2 -b:v 1000k -pix_fmt yuv420p /storage/emulated/0/output.mp4
    

    The result so far is, a 30second 78MB file gets compressed to 4.3MB which takes around 1min 28seconds. Here is the console dump - http://pastebin.com/rn81acGx . I mainly want to reduce the time it takes to compress. How can I achieve this?

    Thanks in advance.