Recherche avancée

Médias (1)

Mot : - Tags -/book

Autres articles (53)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (11696)

  • Building C library (FFmpeg) with Android NDK r17 : undefined reference to '__mulodi4'

    14 mai 2018, par fpsulli3

    My problem happens to be with FFmpeg but I suspect that this would happen with almost any C library.

    Problem Description

    My app uses FFmpeg that is compiled with NDK r10e. I am trying to update everything to NDK r17, while also switching to clang, since Google prefers us to use that over gcc.

    My first step is to just build FFmpeg.

    To that end, I have used the make_standalone_toolchain.py script to create a stand-alone toolchain for the x86 architecture, like so :

    make_standalone_toolchain.py --arch x86 --api 21 --install-dir ~/Development/ndk-toolchains/x86

    Then I configure the FFmpeg build as follows :

    TOOLCHAIN_DIR=~/Development/ndk-toolchains/x86

    ./configure \
    --prefix=$(pwd)/android/x86 \
    --cross-prefix=$TOOLCHAIN_DIR/bin/i686-linux-android- \
    --target-os=android \
    --arch=x86 \
    --enable-cross-compile \
    --disable-asm \
    --toolchain=clang-usan \
    --disable-stripping \
    --extra-cflags="-m32" \
    --sysroot=$TOOLCHAIN_DIR/sysroot/

    And then I build it as follows :

    make clean
    make -j4
    make install

    Everything seems to compile fine, but I get several linker errors that all say the same thing :

    undefined reference to ’__mulodi4’

    Solutions I’ve tried

    1. Linking against libclang_rt.builtins*

    I found a few places around the Web which suggested that this is caused by the fact that libgcc doesn’t provide __mulodi4. A github user named sitsofe was nice enough to post a work-around here. However, I am sure where to find this libclang_rt.builtins-i686.a library. Here is what I was able to find in my standalone toolchain directory :

    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-x86_64.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i386.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-aarch64-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-mips64-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-x86_64-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i686-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-arm-android.a
    ./lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-mips-android.a

    The libclang_rt.builtins-i686-android.a library looks close but (I think) no cigar. When I try to link to it, I get the same error :

    undefined reference to ’__mulodi4’

    Here is my new FFmpeg build config command :

    ./configure \
    --prefix=$(pwd)/android/x86 \
    --cross-prefix=$TOOLCHAIN_DIR/bin/i686-linux-android- \
    --target-os=android \
    --arch=x86 \
    --enable-cross-compile \
    --disable-asm \
    --toolchain=clang-usan \
    --disable-stripping \
    --extra-cflags="-m32" \
    --extra-ldflags="-L${TOOLCHAIN_DIR}/lib64/clang/6.0.2/lib/linux/libclang_rt.builtins-i686-android.a" \
    --sysroot=$TOOLCHAIN_DIR/sysroot/

    I checked with -v to make sure that this line was added to the linker flags, and it was. However, I have no idea if this library should even be expected to work, let alone whether I’m adding it to the linker flags correctly. In any case, what I’m doing here doesn’t work.

    2. Switching to a different sanitizer

    Instead of using the undefined sanitizer, I tried switching to the address sanitizer. This is (frankly) a total stab in the dark, based on a vague mention of asan being available in r17 at Google I/O this week.

    In this case, FFmpeg builds just fine !

    However, when I try to pull FFmpeg into my test project (a simple AAR w/ C++ support, that just has one jni method that calls av_gettime(), I get a ton of linker errors :

    Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
    Error:error : undefined reference to ’__asan_stack_malloc_0’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_shadow_memory_dynamic_address’
    Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
    Error:error : undefined reference to ’__asan_stack_malloc_0’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_report_load4’
    Error:error : undefined reference to ’__asan_shadow_memory_dynamic_address’
    Error:error : undefined reference to ’__asan_option_detect_stack_use_after_return’
    Error:error : undefined reference to ’__asan_stack_malloc_0’
    Error:error : undefined reference to ’__asan_report_store4’
    Error:error : undefined reference to ’__asan_report_store4’
    Error:error : undefined reference to ’__asan_init’
    Error:error : undefined reference to ’__asan_version_mismatch_check_v9’

    So it seems to find the FFmpeg library just fine, indicating that that part of my CMake file is correct, but it can’t locate any of these asan references.

    This seems to be a common problem that people are running into, but I can’t see to find a work-around that actually works for me.

  • Matomo’s new story : our stronger vision for the future

    31 octobre 2018, par Matthieu Aubry — Community

    Over the past year, the team here at Matomo have been working on a very exciting project we’d love to share with you.

    It’s to do with the impact we hope for Matomo to have.

    As you all know, the world changes at too fast a pace. New technologies, new phones, new everything in the blink of an eye. That’s not what will be happening here.

    Instead, we’d like to believe it’s a refresh. Taking stock of how far we’ve come, what we’ve achieved so far, and how far we still have to go.

    So we’re rebranding.

    The rebrand

    Like a caterpillar emerging from a cocoon, we hope to be a reborn analytics butterfly.

    As a result of some careful planning and reflection we’ll be updating our logo, website and reasserting our voice.

    It’s our chance to look at ourselves in a new light. We are a mighty analytics platform and it should be known we’re comparable to the likes of Google Analytics 360.

    Along with the refresh of imagery, we listened to your feedback about the confusion between our two identities, so we’re also taking this opportunity to unite both the business brand of Innocraft with the community brand Matomo into one website.

    It makes it easier for people from all walks of life, either as individuals or in large companies, to see us as being able to get down to business with a powerful analytics tool, as well as think on behalf of our community.

    We’re the same, but with slight changes in our appearance and a stronger vision for the future.

    How far we’ve come …

    When we started out, it was about building a community around a movement. From the beginning we were concerned about data ownership, privacy and all things that came with that.

    With the help of our community and contributors, we turned Matomo (formerly Piwik) into the trusted #1 open source analytics tool it is today. We’re committed to our community. But we also need to do more.

    We’ve been niche and happy staying small, but now we need to take action and start shouting far and wide about what we do.

    We once said we need : “To create, as a community, the leading international open source digital analytics platform, that gives every user full control of their data.”

    We believe we’ve done that, so we’ll take it one step further.

    A web analytics revolution has begun …

    Begun ?

    The line signifies a new beginning.

    This is us standing up and reasserting our voice.

    Our new chapter.

    The rebrand is our chance to show that, yes, the world is changing, but when it comes to privacy, there are matters meant to be sacred. Privacy is a human right.

    What makes it worse in this ever-changing landscape, with data breaches and stolen information, is that losing control of our data is scary, we have a right to know what’s going on with our information and this must start with us.

    We know we need to champion this cause for privacy and data ownership.

    We came together as a community and built something powerful, a free open-source analytics platform, that kept the integrity of the people using it.

    It’s important for us now to feel more empowered to believe in our right to privacy, information and our ability to act independently of large corporations.

    The time is here for us to speak up and take back control.

    Once more, we need to come together to build something even more powerful, a safer online society.

    Join us.

    Sincerely,
    Matthieu Aubry on behalf of the Matomo team

  • constructing an ffmpeg script for use in Xcode/swift project

    21 octobre 2019, par NCrusher

    I’m going back to the drawing board with this post because I’ve been through so much trial and error over the last day with this issue that the information I posted earlier is no longer relevant.

    I’ve only been learning both Swift and FFmpeg for a few weeks, and I’ve just exhausted my ability to troubleshoot this.

    I’m maybe 90% certain this is a problem with my ffmpeg script, rather than with the Swift component. But I think it’s complicated by what characters need special formatting in Swift (particularly mathematical operatives.)

    I started off using a method in Xcode modeled after this post, which Xcode actually managed to guide me through updating for current versions of swift without breaking. Which left me with this :

    func ffmpegConvert(inputPath: String, filters: String, outputPath: String) {
       guard let launchPath = Bundle.main.path(forResource: "ffmpeg", ofType: "") else { return }
       do {
           let convertTask: Process = Process()
           convertTask.launchPath = launchPath
           convertTask.arguments = [
               "-i", inputPath,
               filters,
               outputPath
           ]
           convertTask.standardInput = FileHandle.nullDevice
           convertTask.launch()
           convertTask.waitUntilExit()
       }
    }

    I call this function when I click the "Start Conversion" button on my app. Like I said, that part seems to work fine. The problem is either in the way ffmpeg is being called by the app, or with the construction of the strings in my arguments array.

    The inputFilePath and outputFilePath strings are self-explanatory. Both of them are perfectly acceptably formatted filepath strings.

    The filters is a little tougher. My app has five conversion options and a different filter set for each one. One is as simple as -c copy and the most complex is -c:a libmp3lame -ac 1 -ar 22050 -q:a 9 (I’m working with audiobooks so I don’t need a lot of complexity in my arguments.

    The app appears to be launching ffmpeg perfectly. But the console keeps giving me errors. And the errors keep changing depending on what I try. Here’s what I’ve been through so far :

    var inputFilePath = "/Volumes/CSW External/ffmpeg/diamonds.aac"
    var ffmpegFilters = "-c copy"
    var outputFilePath = "/Volumes/CSW External/ffmpeg/diamonds.m4b"

    Result :

    Unrecognized option ’c copy’.
    Error splitting the argument list : Option not found

    Next attempt, I tried var ffmpegFilters = "--c copy". Result was the same error.

    Then I tried var ffmpegFilters = " -c copy" and it actually read the metadata from my file before throwing a different error at me :

    Unable to find a suitable output format for ’ -c copy’ -c copy :
    Invalid argument

    I’m assuming that the fact that it read the metadata before throwing a different error at me means I made...some form of progress ?

    I spent a few hours researching that particular error and why people might be getting it and couldn’t find a situation that was analogous to what I was trying to do. Mostly people were encountering it from the command line and/or other operating systems. So no help there.

    At that point, since I was just throwing things at the wall to see what might stick, I decided to throw the whole command, inputPath / ffMpegFilters / outputPath into a single string to see if I could make that work (under the logic that if it did, I could narrow the cause of my trouble down to the way the separate strings are being constructed by XCode.)

    I tried it both with the whitespace in the filepath and with the whitespace escaped out (using double \ as required by Swift.) The ffmpeg log came displayed a perfectly valid

    Doing so took me back to the first error I got :

    Unrecognized option ’-c copy’.
    Error splitting the argument list : Option not found

    So then I started researching THAT error. Some of the discussions I came across indicated that the problem was that the arguments couldn’t all be in a single string, they needed to be split up and put in an array. Which I could see for a longer argument, but -c copy shouldn’t need that.

    But I decided to give it a go. Formerly my method for constructing the string of arguments would have looked like this

    func conversionSelection() {
       if inputFileUrl != nil {
           let conversionChoice = conversionOptionsPopup.indexOfSelectedItem
           switch conversionChoice {
               case 1 :
                   outputExtension = ".mp3"
                   ffmpegFilters = "-c:a libmp3lame -ac 1 -ar 22050 -q:a 9"
               (...case 2, 3, 4, default, etc)
           }
       }
    }

    Now it looks more like this :

    func conversionSelection() {
       if inputFileUrl != nil {
           let conversionChoice = conversionOptionsPopup.indexOfSelectedItem
           switch conversionChoice {
               case 1 :
                   outputExtension = ".mp3"
                   ffmpegCodec = "-c:a libmp3lame"
                   ffmpegChannels = "-ac 1"
                   ffmpegSampling = "-ar 22050"
                   ffmpegBitrate = "-q:a 9"
               (case 2, case 3, case 4, default, etc)
           }
       }
    }

    Unfortunately, this just brought me full circle. If I try to use -c:a libmp3lame or --c:a libmp3lame I get the Error splitting the argument list: Option not found error. Interestingly, however, it gives the argument with relation to the ffmpegSampling argument, which is a slight difference.

    If I put a whitespace in front of it -c:a libmp3lame it will get far enough into the process to read the input file metadata, then I get this :

    Unable to find a suitable output format for ’ -c:a libmp3lame’ -c:a
    libmp3lame : Invalid argument

    I’m stumped. I thought this was going to be an easy fix, but I’ve been at it almost a full day with all the trial and error, and nothing is working, and I’ve exhausted my newbie understanding of both Swift and ffmpeg.