Recherche avancée

Médias (0)

Mot : - Tags -/configuration

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

Autres articles (83)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (14556)

  • Frames are different when extracted from FFMPEG and Android Tablets (Through TextureView)

    20 décembre 2019, par Keyang

    I am extracting frames from the same clip through FFMPEG and Android Tablets. The clip is encoded using h264 with pixel format yuv420p. The frames generated on two ends are visually different. See below

    Frame from FFMPEG
    Frame from FFMPEG

    Frame from Android TextureView
    enter image description here

    Both frames are in 72x72 resolution. But frame from Android Tablet has obvious less feature compared to that of FFMPEG (e.g. the face of the lady is ’smoother’ on frame from android).

    The frames extraction for FFMPEG is like :

    ffmpeg -i sample.mp4 ./frames/%05d.png

    While on Android device, TextureView is used to render decoded Video onto an OpenGL Texture. Then TextureView.getBitmap() is called to retrieve the bitmap when "onSurfaceTextureUpdated" is called. So basically :

    // mediaPlayer is MediaPlayer set properly
    // textureView is a TextureView component

    mediaPlayer.setSurface(textureViewSurface)
    onSurfaceTextureUpdated-> {
    bmp=textureView.getBitmap();
    bmp.compress(PNG,100,outputStream);
    }

    FFMPEG uses sRGB internally and OpenGL uses linear RGB. I have tried to adjust gamma but does not work quite well.

    Anyone knows the reason and how to resolve the issue so that frames extracted from both ends look the same ?

  • 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" ?

  • gcc : Undefined Reference Error

    26 octobre 2024, 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" ?