Recherche avancée

Médias (91)

Autres articles (37)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • Emballe Médias : Mettre en ligne simplement des documents

    29 octobre 2010, par

    Le plugin emballe médias a été développé principalement pour la distribution mediaSPIP mais est également utilisé dans d’autres projets proches comme géodiversité par exemple. Plugins nécessaires et compatibles
    Pour fonctionner ce plugin nécessite que d’autres plugins soient installés : CFG Saisies SPIP Bonux Diogène swfupload jqueryui
    D’autres plugins peuvent être utilisés en complément afin d’améliorer ses capacités : Ancres douces Légendes photo_infos spipmotion (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (2410)

  • Cant link against ffmpeg with openssl using cmake

    24 mars 2017, par David Barishev

    I have build ffmpeg libraries statically for x86 android using a custom configuration.Now i wanted to add them in my android project.

    Im using ffmpeg 3.2.git, android studio 2.3.

    I created a folder named distribution which had my binaries, and the minimum headers i needed for it to not tell me about missing header (Except for the avutil- i just included them all), located the root of my project.
    I edited my cmake to include the libraries :

    add_library(
            native-lib
            SHARED
            src/main/cpp/native-lib.cpp )

    set(distribution_DIR ${CMAKE_SOURCE_DIR}/../distribution)

    add_library(lib_avcodec STATIC IMPORTED)
    set_target_properties(lib_avcodec PROPERTIES IMPORTED_LOCATION
       ${distribution_DIR}/libavcodec/lib/${ANDROID_ABI}/libavcodec.a)

    add_library(lib_avfilter STATIC IMPORTED)
    set_target_properties(lib_avfilter PROPERTIES IMPORTED_LOCATION
       ${distribution_DIR}/libavfilter/lib/${ANDROID_ABI}/libavfilter.a)

    add_library(lib_avformat STATIC IMPORTED)
    set_target_properties(lib_avformat PROPERTIES IMPORTED_LOCATION
       ${distribution_DIR}/libavformat/lib/${ANDROID_ABI}/libavformat.a)

    add_library(lib_avutil STATIC IMPORTED)
    set_target_properties(lib_avutil PROPERTIES IMPORTED_LOCATION
       ${distribution_DIR}/libavutil/lib/${ANDROID_ABI}/libavutil.a)

    add_library(lib_swresample STATIC IMPORTED)
    set_target_properties(lib_swresample PROPERTIES IMPORTED_LOCATION
       ${distribution_DIR}/libswresample/lib/${ANDROID_ABI}/libswresample.a)


    include_directories(
                             ${distribution_DIR}
                             )

    find_library( # Sets the name of the path variable.
             z-lib

             # Specifies the name of the NDK library that
             # you want CMake to locate.
             z )

    target_link_libraries(
                      native-lib

                      ${z-lib}

                      lib_crypto
                      lib_ssl

                      lib_avfilter
                      lib_avformat
                      lib_avcodec
                      lib_swresample

                      lib_avutil

                       )

    I also restricted the build to only x86, in my app build.gradle :

    ndk {
               // Specifies the ABI configurations of your native
               // libraries Gradle should build and package with your APK.
               abiFilters 'x86'
       }

    The project gradle sync worked successfully.
    I wrote the following code in my cpp file :

    #include


    extern "C"{
       #include "libavformat/avformat.h"
    }
    JNIEXPORT void JNICALL
    Java_com_example_david_testffmpegcpp_MainActivity_stringFromJNI(
           JNIEnv *env,
           jobject /* this */) {

       av_register_all ();
       avformat_network_init ();


    }

    Just to check if the library works, but i cant seem to link against the libraries correctly. It complains about undefined symbols.
    What did i do wrong ?

    EDIT :

    I changed the order of the linked libraries, and was able to remove all error for ffmpeg’s library functions not found, and i added zlib,that removed some more.

    The only error left are those how are related to openssl, its logical since i compiled my ffmpeg libraries with openssl.

    I tried linking my openssl static libraries that i used for compiling ffmpeg like this :

    set(ssl_dir ${CMAKE_SOURCE_DIR}/../../../FFmpegBuild/Openssl/output_19/android)

    add_library(lib_ssl STATIC IMPORTED)
    set_target_properties(lib_ssl PROPERTIES IMPORTED_LOCATION
       ${ssl_dir}/openssl-${ANDROID_ABI}/lib/libssl.a)

    add_library(lib_crypto STATIC IMPORTED)
    set_target_properties(lib_crypto PROPERTIES IMPORTED_LOCATION
       ${ssl_dir}/openssl-${ANDROID_ABI}/lib/libcrypto.a)

    include_directories(      ${ssl_dir}/openssl-${ANDROID_ABI}/include
                             ${distribution_DIR}

                             )

    And linked against them :

    target_link_libraries( # Specifies the target library.
                          native-lib

                          ${z-lib}


                          lib_ssl
                          lib_crypto

                          lib_avfilter
                          lib_avformat
                          lib_avcodec
                          lib_swresample

                          lib_avutil

                           )

    But i’m still getting the error that i state below.
    My question is why ? Also if i already built ffmpeg in static mode, how come i need to relink openssl again ?

    Error :

    Error while executing process D:\AndroidSDK\cmake\3.6.3155560\bin\cmake.exe with arguments {--build D:\AndroidApps\TestFFmpegCpp\app\.externalNativeBuild\cmake\debug\x86 --target native-lib}
    [1/1] Linking CXX shared library ..\..\..\..\build\intermediates\cmake\debug\obj\x86\libnative-lib.so
    FAILED: cmd.exe /C "cd . && D:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  --target=i686-none-linux-android --gcc-toolchain=D:/AndroidSDK/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/AndroidSDK/ndk-bundle/platforms/android-19/arch-x86 -fPIC -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security   -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libnative-lib.so -o ..\..\..\..\build\intermediates\cmake\debug\obj\x86\libnative-lib.so CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o  -lz ../../../../../../../FFmpegBuild/Openssl/output_19/android/openssl-x86/lib/libcrypto.a ../../../../../../../FFmpegBuild/Openssl/output_19/android/openssl-x86/lib/libssl.a ../../../../../distribution/libavfilter/lib/x86/libavfilter.a ../../../../../distribution/libavformat/lib/x86/libavformat.a ../../../../../distribution/libavcodec/lib/x86/libavcodec.a ../../../../../distribution/libswresample/lib/x86/libswresample.a ../../../../../distribution/libavutil/lib/x86/libavutil.a -lm "D:/AndroidSDK/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a" && cd ."
    src/libavformat/tls_openssl.c:125: error: undefined reference to 'BIO_clear_flags'
     src/libavformat/tls_openssl.c:102: error: undefined reference to 'BIO_clear_flags'
     src/libavformat/tls_openssl.c:116: error: undefined reference to 'BIO_clear_flags'
     src/libavformat/tls_openssl.c:116: error: undefined reference to 'BIO_clear_flags'
     src/libavformat/tls_openssl.c:309: error: undefined reference to 'SSL_read'
     src/libavformat/tls_openssl.c:200: error: undefined reference to 'ERR_get_error'
     src/libavformat/tls_openssl.c:200: error: undefined reference to 'ERR_error_string'
     src/libavformat/tls_openssl.c:320: error: undefined reference to 'SSL_write'
     src/libavformat/tls_openssl.c:200: error: undefined reference to 'ERR_get_error'
     src/libavformat/tls_openssl.c:200: error: undefined reference to 'ERR_error_string'
     src/libavformat/tls_openssl.c:154: error: undefined reference to 'SSL_library_init'
     src/libavformat/tls_openssl.c:155: error: undefined reference to 'SSL_load_error_strings'
     src/libavformat/tls_openssl.c:157: error: undefined reference to 'CRYPTO_get_locking_callback'
     src/libavformat/tls_openssl.c:159: error: undefined reference to 'CRYPTO_num_locks'
     src/libavformat/tls_openssl.c:165: error: undefined reference to 'CRYPTO_num_locks'
     src/libavformat/tls_openssl.c:167: error: undefined reference to 'CRYPTO_set_locking_callback'
     src/libavformat/tls_openssl.c:186: error: undefined reference to 'CRYPTO_get_locking_callback'
     src/libavformat/tls_openssl.c:188: error: undefined reference to 'CRYPTO_set_locking_callback'
     src/libavformat/tls_openssl.c:189: error: undefined reference to 'CRYPTO_num_locks'
     src/libavformat/tls_openssl.c:208: error: undefined reference to 'SSL_shutdown'
     src/libavformat/tls_openssl.c:209: error: undefined reference to 'SSL_free'
     src/libavformat/tls_openssl.c:212: error: undefined reference to 'SSL_CTX_free'
     src/libavformat/tls_openssl.c:240: error: undefined reference to 'SSLv23_client_method'
     src/libavformat/tls_openssl.c:240: error: undefined reference to 'SSL_CTX_new'
     src/libavformat/tls_openssl.c:246: error: undefined reference to 'SSL_CTX_ctrl'
     src/libavformat/tls_openssl.c:248: error: undefined reference to 'SSL_CTX_load_verify_locations'
     src/libavformat/tls_openssl.c:251: error: undefined reference to 'SSL_CTX_use_certificate_chain_file'
     src/libavformat/tls_openssl.c:257: error: undefined reference to 'SSL_CTX_use_PrivateKey_file'
     src/libavformat/tls_openssl.c:267: error: undefined reference to 'SSL_new'
     src/libavformat/tls_openssl.c:284: error: undefined reference to 'BIO_new'
     src/libavformat/tls_openssl.c:287: error: undefined reference to 'SSL_set_bio'
     src/libavformat/tls_openssl.c:290: error: undefined reference to 'SSL_accept'
     src/libavformat/tls_openssl.c:240: error: undefined reference to 'SSLv23_server_method'
     src/libavformat/tls_openssl.c:258: error: undefined reference to 'ERR_get_error'
     src/libavformat/tls_openssl.c:258: error: undefined reference to 'ERR_error_string'
     src/libavformat/tls_openssl.c:208: error: undefined reference to 'SSL_shutdown'
     src/libavformat/tls_openssl.c:209: error: undefined reference to 'SSL_free'
     src/libavformat/tls_openssl.c:212: error: undefined reference to 'SSL_CTX_free'
     src/libavformat/tls_openssl.c:290: error: undefined reference to 'SSL_connect'
     src/libavformat/tls_openssl.c:200: error: undefined reference to 'ERR_get_error'
     src/libavformat/tls_openssl.c:200: error: undefined reference to 'ERR_error_string'
     src/libavformat/tls_openssl.c:266: error: undefined reference to 'SSL_CTX_set_verify'
     src/libavformat/tls_openssl.c:289: error: undefined reference to 'SSL_ctrl'
     clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
     ninja: build stopped: subcommand failed.
  • Screen Recording issue using FFMPEG in Android

    12 décembre 2014, par flight

    We are trying to record Android screen using the below commands.

    ffmpeg -y -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 320x480 -i /dev/graphics/fb0 /sdcard/output.mp4

    And

    ffmpeg -y -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 320x480 -f fbdev /sdcard/output.mp4

    The Logcat output is given below :

    12-12 10:52:04.722: I/ffmpeg4android(27954): ===============Running command from thread path: /sdcard/videokit
    12-12 10:52:04.722: I/ffmpeg4android(27954): =======ProgressBackgroundRemote doInBackground=========
    12-12 10:52:04.722: I/ffmpeg4android(27954): videokitLibPath: /data/data/com.unscriptd.videoapp/lib/libvideokit.so
    12-12 10:52:04.722: I/ffmpeg4android(27954): ffmpeg4android_isComplex: true
    12-12 10:52:04.732: I/Videokit(27954): dlopen libvideokit from path: /data/data/com.unscriptd.videoapp/lib/libvideokit.so
    12-12 10:52:04.762: W/linker(27954): libvideokit.so has text relocations. This is wasting memory and is a security risk. Please fix.
    12-12 10:52:04.892: I/GAV2(27800): Thread[GAThread,5,main]: No campaign data found.
    12-12 10:52:04.912: I/Videokit(27954): libvideokit.so loaded
    12-12 10:52:04.912: I/Videokit(27954): args is not NULL
    12-12 10:52:04.912: I/Videokit(27954): more then one arg
    12-12 10:52:04.912: I/Videokit(27954): function symbol found
    12-12 10:52:04.912: D/Videokit(27954): Calling videokit run via loader
    12-12 10:52:04.912: I/Videokit(27954): vk ffmpeg sdcardPath: /sdcard/videokit
    12-12 10:52:04.912: D/Videokit(27954): call licenseCheckComplex
    12-12 10:52:04.912: I/Videokit(27954): licenseCheck in path: /sdcard/videokit
    12-12 10:52:04.912: I/Videokit(27954): isLicExistsComplex...
    12-12 10:52:04.912: I/Videokit(27954): trying to open /sdcard/videokit/ffmpeglicense.lic
    12-12 10:52:04.912: I/Videokit(27954): license file found...
    12-12 10:52:04.912: I/Videokit(27954): Permanent license validated.
    12-12 10:52:04.912: D/Videokit(27954): license check rc: 1
    12-12 10:52:04.912: D/Videokit(27954): run() called
    12-12 10:52:05.062: D/Videokit(27954): videokit call finished, calling dlclose
    12-12 10:52:05.062: I/ffmpeg4android(27954): RemoteService: FFMPEG finished.
    12-12 10:52:05.062: I/ffmpeg4android(27954): RemoteService: removing notification.
    12-12 10:52:05.062: I/ffmpeg4android(27954): Cancel notification: 5326
    12-12 10:52:08.822: D/ffmpeg4android(27873): dur: null
    12-12 10:52:08.822: I/ffmpeg4android(27873): dur is not good, not setting
    12-12 10:52:08.822: I/ffmpeg4android(27873): _durationOfCurrentWaitIndex is equal to: 6 reseting.
    12-12 10:52:08.822: I/ffmpeg4android(27873): setting fake Prefs.durationOfCurrent
    12-12 10:52:08.822: W/ffmpeg4android(27873): setting fake Prefs.durationOfCurrent (Cant get from file): 00:03:00.00
    12-12 10:52:08.822: W/ffmpeg4android(27873): /sdcard/videokit/ffmpeg4android.log: open failed: ENOENT (No such file or directory)
    12-12 10:52:08.822: I/ffmpeg4android(27873): ==== getting currentVkLogSize from FFmpeg4Android log
    12-12 10:52:08.822: W/ffmpeg4android(27873): Looks like Vk log is not increasing in size
    12-12 10:52:08.822: I/ffmpeg4android(27873): No ffmpeg4android_log file, using vk log
    12-12 10:52:08.822: I/line(27873): eg_parse_options
    12-12 10:52:08.822: I/line(27873): ffmpeg4android: ffmpeg_parse_options not passed
    12-12 10:52:08.822: I/line(27873): exit_program: 1
    12-12 10:52:08.822: I/line(27873): ffmpeg4android: 1
    12-12 10:52:08.822: W/ffmpeg4android(27873): error line: ffmpeg4android: 1
    12-12 10:52:08.822: W/ffmpeg4android(27873): Looks like error in the log
    12-12 10:52:08.822: D/ffmpeg4android(27873): currentTimeStr: error
    12-12 10:52:08.822: D/ffmpeg4android(27873): ============Found error in the log============
    12-12 10:52:08.822: I/ffmpeg4android(27873): onProgressUpdate: 100
    12-12 10:52:08.822: D/ffmpeg4android(27873): Releasing wake lock
    12-12 10:52:08.822: D/ffmpeg4android(27873): TranscodeBackground onPostExecute
    12-12 10:52:08.822: D/ffmpeg4android(27954): set transcodingProgress: 100
    12-12 10:52:08.832: D/ffmpeg4android(27873): nullnull length in bytes: 0
    12-12 10:52:08.832: D/ffmpeg4android(27873): showNotifications
    12-12 10:52:08.832: I/ffmpeg4android(27873): ============ Transcoding Failed, caling fexist
  • Error recording an RTSP stream without transcoding

    23 août 2017, par Matt

    I’m trying to use FFmpeg to record RTSP streams from several security cameras. I have been successfully transcoding each stream for months now, but since this requires considerable CPU power, I’d like to simply copy each stream to disk in it’s original H.264 format.

    Whenever I try this, I receive and error similar to this (the "current" value varies) :

    Non-monotonous DTS in output stream 0:0 ; previous : 0, current : -62743 ;

    I’ve stripped most of the options I was using, although I really do want to keep -xerror so that FFmpeg quits when it encounters an error :

    ffmpeg.exe -xerror -i rtsp://admin:admin@192.168.1.135 -an -vcodec copy test.mp4

    And I still get this :

        ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers  
        built with gcc 7.1.0 (GCC)   
        configuration : —enable-gpl
        —enable-version3 —enable-cuda —enable-cuvid —enable-d3d11va —enable-dxva2 —enable-libmfx —enable-nvenc —enable-avisynth —enable-bzlib —enable-fontconfig —enable-frei0r —enable-gnutls —enable-iconv —enable-libass —enable-libbluray —enable-libbs2b —enable-libcaca —enable-libfreetype —enable-libgme —enable-libgsm —enable-libilbc —enable-libmodplug —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenh264 —enable-libopenjpeg —enable-libopus —enable-librtmp —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libtheora —enable-libtwolame —enable-libvidstab —enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxavs —enable-libxvid —enable-libzimg —enable-lzma —enable-zlib   
        libavutil      55. 58.100 / 55. 58.100   
        libavcodec     57. 89.100 / 57. 89.100   
        libavformat    57. 71.100 / 57. 71.100   
        libavdevice    57.  6.100 / 57.  6.100   
        libavfilter     6. 82.100 / 6. 82.100   
        libswscale      4.  6.100 / 4.  6.100  
        libswresample   2.  7.100 / 2.  7.100   
        libpostproc    54.  5.100 / 54.  5.100
        [udp @ 0000000002533b60] ’circular_buffer_size’ option was set but it is not supported on this build (pthread support is required) 
        [udp @ 0000000000ec97a0] ’circular_buffer_size’ option was set but it is not supported on this build (pthread support is required) 
        Input #0, rtsp, from ’rtsp ://admin:admin@192.168.1.135’ :   Metadata :
            title : RTSP Session/2.0   Duration : N/A, start : 0.837144, bitrate : N/A
            Stream #0:0 : Video : h264 (High), yuvj420p(pc, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 7 fps, 25 tbr, 90k tbn, 14 tbc Output
        #0, mp4, to ’test.mp4’ :   Metadata :
            title : RTSP Session/2.0
        y    encoder : Lavf57.71.100
            Stream #0:0 : Video : h264 (High) ([33][0][0][0] / 0x0021), yuvj420p(pc, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 7 fps, 25 tbr, 90k tbn, 90k tbc 
        Stream mapping :   Stream #0:0 -> #0:0 (copy) 
        Press [q] to stop, [?] for help
    

    [mp4 @ 00000000036b8340] Non-monotonous DTS in output stream 0:0 ; previous : 0, current : -62743 ; aborting.

    Conversion failed !

    Can anyone explain what the problem is and/or suggest the appropriate flags to handle this ?