Recherche avancée

Médias (0)

Mot : - Tags -/tags

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (105)

Sur d’autres sites (9817)

  • cmdutils : Only do the windows-specific commandline parsing on _WIN32

    7 août 2013, par Diogo Franco
    cmdutils : Only do the windows-specific commandline parsing on _WIN32
    

    Fixes commandline parsing on Cygwin (on 64 bit, and on very recent
    32 bit), where the configure check does find the CommandLineToArgvW
    function (since it exists in the link libraries and in the headers),
    but whose GetCommandLineW() only returns the application’s path.
    (This is due to a cygwin internal optimization, see
    http://cygwin.com/ml/cygwin/2013-07/msg00538.html for details.)
    Arguments are only given through main’s argc/argv, and they’re already
    UTF-8.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] cmdutils.c
  • Problems compiling ffmpeg on windows using cygwin

    26 mai 2014, par Papajohn000

    I’ve been having a lot of trouble recently compiling ffmpeg on windows. I’m currently using the cgywin terminal to run the code. I’ve tried following many of the most popular tutorials on the web but I can’t seem to get it to work. I’m currently using this tutorial as a guide http://www.roman10.net/how-to-build-ffmpeg-for-android/

    Where I’m at :

    I’ve created a bash script

    #!/bin/bash

    NDK=C:/Users/jrblain/Development/adt-bundle-windows-x86_64-20130514/android-ndk-r9
    PLATFORM=$NDK/platforms/android-8/arch-arm/
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64
    function build_one
    {
    ./configure --target-os=linux \
       --prefix=$PREFIX \
       --enable-cross-compile \
       --extra-libs="-lgcc" \
       --arch=arm \
       --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
       --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
       --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
       --sysroot=$PLATFORM \
       --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
       --disable-shared \
       --enable-static \
       --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
       --disable-everything \
       --enable-demuxer=mov \
       --enable-demuxer=h264 \
       --disable-ffplay \
       --enable-protocol=file \
       --enable-avformat \
       --enable-avcodec \
       --enable-decoder=rawvideo \
       --enable-decoder=mjpeg \
       --enable-decoder=h263 \
       --enable-decoder=mpeg4 \
       --enable-decoder=h264 \
       --enable-parser=h264 \
       --disable-network \
       --enable-zlib \
       --disable-avfilter \
       --disable-avdevice \
       $ADDITIONAL_CONFIGURE_FLAG

    make clean
    make  -j4 install
    $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog  --warn-once  --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
    }

    #arm v6
    #CPU=armv6
    #OPTIMIZE_CFLAGS="-marm -march=$CPU"
    #PREFIX=./android/$CPU
    #ADDITIONAL_CONFIGURE_FLAG=
    #build_one

    #arm v7vfpv3
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG=
    build_one

    #arm v7vfp
    #CPU=armv7-a
    #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
    #PREFIX=./android/$CPU-vfp
    #ADDITIONAL_CONFIGURE_FLAG=
    #build_one

    #arm v7n
    #CPU=armv7-a
    #OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8"
    #PREFIX=./android/$CPU
    #ADDITIONAL_CONFIGURE_FLAG=--enable-neon
    #build_one

    #arm v6+vfp
    #CPU=armv6
    #OPTIMIZE_CFLAGS="-DCMP_HAVE_VFP -mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU"
    #PREFIX=./android/${CPU}_vfp
    #ADDITIONAL_CONFIGURE_FLAG=
    #build_one

    I then followed steps 4-6 of this post Does anyone find this useful ? - Compiling FFMPEG on Windows with Cywin and NDK r5 which consists of

    4 - Open the file 'configure' in the root of the FFMPEG directory in a text editor.

    5 - Comment out lines 2073, 2074 and 2075.

    6 - Below 2075, add the following line:

    TMPDIR=c:/cygwin/tmp

    When I ran the script in cgywin I got this result :

       install prefix            ./android/armv7-a
    source path               .
    C compiler                C:/Users/jrblain/Development/adt-bundle-windows-x86_64-20130514/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc
    ARCH                      arm (armv7-a)
    big-endian                no
    runtime cpu detection     yes
    ARMv5TE enabled           yes
    ARMv6 enabled             yes
    ARMv6T2 enabled           yes
    VFP enabled               yes
    NEON enabled              yes
    THUMB enabled             no
    debug symbols             yes
    strip symbols             yes
    optimize for size         no
    optimizations             yes
    static                    yes
    shared                    no
    postprocessing support    no
    new filter support        no
    network support           no
    threading support         pthreads
    safe bitstream reader     yes
    SDL support               no
    opencl enabled            no
    texi2html enabled         no
    perl enabled              no
    pod2man enabled           no
    makeinfo enabled          no

    External libraries:
    zlib

    Enabled decoders:
    h263                    mjpeg                   rawvideo
    h264                    mpeg4

    Enabled encoders:

    Enabled hwaccels:

    Enabled parsers:
    h263                    h264                    mpeg4video

    Enabled demuxers:
    h264                    mov

    Enabled muxers:

    Enabled protocols:
    file

    Enabled filters:

    Enabled bsfs:

    Enabled indevs:

    Enabled outdevs:

    License: LGPL version 2.1 or later
    Creating config.mak, config.h, and doc/config.texi...
    libavutil/avconfig.h is unchanged

    WARNING: C:/Users/jrblain/Development/adt-bundle-windows-x86_64-20130514/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.
    library.mak:105: *** missing separator.  Stop.
    library.mak:105: *** missing separator.  Stop.
    C:\Users\jrblain\Development\adt-bundle-windows-x86_64-20130514\android-ndk-r9\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: ,noexecstack: unknown -z option
    C:\Users\jrblain\Development\adt-bundle-windows-x86_64-20130514\android-ndk-r9\toolchains\arm-linux-androideabi-4.6\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: use the --help option for usage information

    After this script runs I get some new files within my ffmpeg folder. They are .config, config(header), config.mak , config.fate. The android folder is never created like it is supposed to. I’m also not sure where the library.mak error is coming from considering that it came with ffmpeg download.

    I’m not sure where this i’m going wrong in all of this. I feel like the fact that I’m using windows will make this build process different.

  • ffmpeg not capturing frames in windows using java

    19 août 2013, par user2320537

    I have to develop a tool in java that will capture frames from webcam, Now what I have done for that is, I have used Runtime class to run ffmpeg and other commands, when it opens web-cam then after sometime my web-cam hangs and it does not capture frames.

    I am using following method for that.

    public class FFMPEGClass {

       private String ffmpegExeLocation;
       private final String FRAME_DIGITS = "010";

       public FFMPEGClass(String capturingDName, String outputImagesLocation, int framesPerSecond) {
           ffmpegExeLocation = System.getProperty("user.dir") + "\\bin\\";
           System.out.println(ffmpegExeLocation);
           try {
               System.out.println(ffmpegExeLocation + "ffplay -f dshow -video_size 640x480 -i video=\"" + capturingDName + "\"");
               Runtime.getRuntime().exec(ffmpegExeLocation + "ffplay -f dshow -video_size 640x480 -i video=\"" + capturingDName + "\"");
               System.out.println(ffmpegExeLocation + "ffmpeg -t 100000 "
                       + "-f vfwcap -s 640x480 -i 0 -r 1/" + framesPerSecond + " -f image2 " + outputImagesLocation + "\\camera%"+FRAME_DIGITS+"d.jpg");
               Runtime.getRuntime().exec(ffmpegExeLocation + "ffmpeg -t 100000 "
                       + "-f vfwcap -s 640x480 -i 0 -r 1/" + framesPerSecond + " -f image2 " + outputImagesLocation + "\\camera%"+FRAME_DIGITS+"d.jpg");
           } catch (Exception ex) {
               ex.printStackTrace();
           }
       }
    }

    In my case capturingDName is USB2.0 UVC VGA WebCam
    outputImagesLocation is d :\frames and
    framesPerSecond is 16

    For a moment if i run these commands in command prompt then also I am unable to capture frames.

    I have already checked many answers from google and stackoverflow but these are not working in my case