Recherche avancée

Médias (91)

Autres articles (79)

  • Participer à sa documentation

    10 avril 2011

    La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
    Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
    Pour ce faire, vous pouvez vous inscrire sur (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (6941)

  • gcc : Undefined Reference Error

    16 mars 2014, par jamie_y

    I would like to use a function 'ff_load_image' defined in ffmpeg/libavfilter/lavfutils.h.

    program.c

    #include "../ffmpeg/libavfilter/lavfutils.h"

    int main ()
    {
     uint8_t* data;

     int linesize, width, height, log_ctx;

     int i = ff_load_image(&data, &linesize, &width, &height, AV_PIX_FMT_RGB24, "blue.jpg", &log_ctx);
    }

    Running

    gcc -I$HOME/ffmpeg/include program.c -L$HOME/ffmpeg/lib -lavfilter -lavcodec -lavutil

    gives undefined reference errors.

    program.c: In function \u2018main\u2019:
    program.c:9: warning: passing argument 1 of \u2018ff_load_image\u2019 from incompatible pointer type
    ../ffmpeg/libavfilter/lavfutils.h:39: note: expected \u2018uint8_t **\u2019 but argument is of type \u2018uint8_t *\u2019
    program.c:9: warning: passing argument 2 of \u2018ff_load_image\u2019 makes pointer from integer without a cast
    ../ffmpeg/libavfilter/lavfutils.h:39: note: expected \u2018int *\u2019 but argument is of type \u2018int\u2019
    program.c:9: warning: passing argument 3 of \u2018ff_load_image\u2019 makes pointer from integer without a cast
    ../ffmpeg/libavfilter/lavfutils.h:39: note: expected \u2018int *\u2019 but argument is of type \u2018int\u2019
    program.c:9: warning: passing argument 4 of \u2018ff_load_image\u2019 makes pointer from integer without a cast
    ../ffmpeg/libavfilter/lavfutils.h:39: note: expected \u2018int *\u2019 but argument is of type \u2018int\u2019
    program.c:9: warning: passing argument 5 of \u2018ff_load_image\u2019 makes pointer from integer without a cast
    ../ffmpeg/libavfilter/lavfutils.h:39: note: expected \u2018enum AVPixelFormat *\u2019 but argument is of type \u2018int\u2019
    program.c:9: warning: passing argument 7 of \u2018ff_load_image\u2019 makes pointer from integer without a cast
    ../ffmpeg/libavfilter/lavfutils.h:39: note: expected \u2018void *\u2019 but argument is of type \u2018int\u2019
    /home/jamiey/ffmpeg/lib/libavfilter.a(lavfutils.o): In function `ff_load_image':
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:38: undefined reference to `av_register_all'
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:40: undefined reference to `av_find_input_format'
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:41: undefined reference to `avformat_open_input'
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:66: undefined reference to `av_read_frame'
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:92: undefined reference to `avformat_close_input'
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:92: undefined reference to `avformat_close_input'
    /home/jamiey/ffmpeg/libavfilter/lavfutils.c:92: undefined reference to `avformat_close_input'
    /home/jamiey/ffmpeg/lib/libavcodec.a(frame_thread_encoder.o): In function `ff_frame_thread_encoder_free':
    /home/jamiey/ffmpeg/libavcodec/frame_thread_encoder.c:225: undefined reference to `pthread_join'
    /home/jamiey/ffmpeg/lib/libavcodec.a(frame_thread_encoder.o): In function `ff_frame_thread_encoder_init':
    /home/jamiey/ffmpeg/libavcodec/frame_thread_encoder.c:200: undefined reference to `pthread_create'
    /home/jamiey/ffmpeg/lib/libavcodec.a(pthread_frame.o): In function `ff_frame_thread_free':
    /home/jamiey/ffmpeg/libavcodec/pthread_frame.c:575: undefined reference to `pthread_join'
    /home/jamiey/ffmpeg/lib/libavcodec.a(pthread_frame.o): In function `ff_frame_thread_init':
    /home/jamiey/ffmpeg/libavcodec/pthread_frame.c:705: undefined reference to `pthread_create'
    /home/jamiey/ffmpeg/lib/libavcodec.a(pthread_slice.o): In function `ff_slice_thread_init':
    /home/jamiey/ffmpeg/libavcodec/pthread_slice.c:220: undefined reference to `pthread_create'
    /home/jamiey/ffmpeg/lib/libavcodec.a(pthread_slice.o): In function `ff_slice_thread_free':
    /home/jamiey/ffmpeg/libavcodec/pthread_slice.c:118: undefined reference to `pthread_join'
    /home/jamiey/ffmpeg/lib/libavutil.a(rational.o): In function `av_d2q':
    /home/jamiey/ffmpeg/libavutil/rational.c:115: undefined reference to `log'
    /home/jamiey/ffmpeg/libavutil/rational.c:118: undefined reference to `floor'
    /home/jamiey/ffmpeg/lib/libavutil.a(eval.o): In function `eval_expr':
    /home/jamiey/ffmpeg/libavutil/eval.c:183: undefined reference to `trunc'
    /home/jamiey/ffmpeg/libavutil/eval.c:182: undefined reference to `ceil'
    /home/jamiey/ffmpeg/libavutil/eval.c:181: undefined reference to `floor'
    /home/jamiey/ffmpeg/libavutil/eval.c:241: undefined reference to `pow'
    /home/jamiey/ffmpeg/libavutil/eval.c:177: undefined reference to `exp'
    /home/jamiey/ffmpeg/libavutil/eval.c:176: undefined reference to `exp'
    /home/jamiey/ffmpeg/libavutil/eval.c:287: undefined reference to `pow'
    /home/jamiey/ffmpeg/libavutil/eval.c:278: undefined reference to `floor'
    /home/jamiey/ffmpeg/lib/libavutil.a(eval.o): In function `av_strtod':
    /home/jamiey/ffmpeg/libavutil/eval.c:112: undefined reference to `pow'
    /home/jamiey/ffmpeg/libavutil/eval.c:103: undefined reference to `pow'
    /home/jamiey/ffmpeg/libavutil/eval.c:109: undefined reference to `pow'
    /home/jamiey/ffmpeg/lib/libavutil.a(eval.o): In function `parse_primary':
    /home/jamiey/ffmpeg/libavutil/eval.c:394: undefined reference to `sinh'
    /home/jamiey/ffmpeg/libavutil/eval.c:395: undefined reference to `cosh'
    /home/jamiey/ffmpeg/libavutil/eval.c:396: undefined reference to `tanh'
    /home/jamiey/ffmpeg/libavutil/eval.c:397: undefined reference to `sin'
    /home/jamiey/ffmpeg/libavutil/eval.c:398: undefined reference to `cos'
    /home/jamiey/ffmpeg/libavutil/eval.c:399: undefined reference to `tan'
    /home/jamiey/ffmpeg/libavutil/eval.c:400: undefined reference to `atan'
    /home/jamiey/ffmpeg/libavutil/eval.c:401: undefined reference to `asin'
    /home/jamiey/ffmpeg/libavutil/eval.c:402: undefined reference to `acos'
    /home/jamiey/ffmpeg/libavutil/eval.c:403: undefined reference to `exp'
    /home/jamiey/ffmpeg/libavutil/eval.c:404: undefined reference to `log'
    /home/jamiey/ffmpeg/libavutil/eval.c:405: undefined reference to `fabs'
    collect2: ld returned 1 exit status

    However, I was successful in running functions in other library, such as the ones in "ffmpeg/libavcodec/avcodec.h". Why is this happening to "ffmpeg/libavfilter/lavfutils.h" ?

  • How would I dynamically link FFmpeg in a C# Project for use with FFMpegCore ?

    15 octobre 2024, par liamliam

    So far, I have FFMpegCore working in my project with a ffmpeg.exe dropped into the project directory. This works, but for LGPL license compliance FFmpeg requires dynamic linking :
    
Use dynamic linking (on windows, this means linking to dlls) for linking with FFmpeg libraries..

    


    While I understand the basic concept of dynamic vs static linking, my problem is likely a misunderstanding of how .dlls work and how they apply to C# and .NET.
    
Would it be possible to compile ffmpeg into a single .dll that could be accessed by FFMpegCore cross-platform ? From what I can gather in the source, FFMpegCore looks for an ffmpeg or ffmpeg.exe file in its configuration path.

    


    Is it possible to have .NET dynamically link FFmpeg and expose it to libraries for use or is that a complete misunderstanding and would I then need a wrapper library with different capabilities ?

    


    I've attempted to find the answer in the relevant documentation, but I found none for this specific use of either library. I suspect my problem might be a fundamental misunderstanding of how these tools work and work together.
My ideal result would be using FFMpegCore with an FFmpeg.dll that works cross-platform instead of the .exe.

    


    Edit 1 : @taratect's answer and graphic sent me down a path that cleared up quite a bit about exes and dlls. .Net compiles source code down to platform agnostic Intermediate Language in the form of a .dll or .exe(completely different to C++ variants of these files), which is executed by the Common Language Runtime using a Just In Time compiler to convert that Intermediate Language to Machine Code that can be run on the specific platform .Net is installed on. C++(FFmpeg) compiles directly to platform specific Machine Code (as shown in the graphic), confusingly in the form of a .dll or .exe (on Windows). .Net can indeed load and run machine code unmanaged by Common Language Runtime, since everything is run as Machine Code by the end, however memory and other complexities must then be managed by me, which seems to be what FFMpegCore does in wrapping the executable. I might still be confused/incorrect on some of this, unmanaged code is beyond my understanding so far.
This does more or less confirm that FFMpegCore probably can't be expected to use FFmpeg in the way I hoped and a better workaround might be having the user just supply an FFmpeg source or implement a downloader as part of installation so that I don't have to redistribute it at all.

    


  • Opening and reading a media file in android using ffmpeg

    29 octobre 2013, par ssrp

    I am developing an android project which has to open and read a MVC video file and save the streams separately in another location. I have done the basic steps for building ffmpeg for android and calling a c function through JNI. I want to know where do I have to put media files for doing above operations to it calling a C function in the C source file where I have all the Native function's implementations.