Recherche avancée

Médias (1)

Mot : - Tags -/illustrator

Autres articles (95)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (12414)

  • opencv ffmpeg vaapi 1080p resolution not working

    18 avril 2023, par yeo

    I want to use hardware acceleration with opencv manual build.
My gpu uses an i965 intel cpu built-in graphics card, and it is a debain11 environment.

    


    [OPENCV:FFMPEG:40] Reinit context to 1920x1088, pix_fmt: vaapi_vld


    


    If you look at some of the error messages below, it seems that the original file is 1920x1080 because it is converted to 1088 while reinit.
I've read that vaapi_vld reads 16 bits at a time.
In fact, it seems to work when the original file is changed to 1920x1072.
Is there a way to fix it without changing the original file resolution ?
Please advise seniors.
Sorry for my poor English skills
Thank you

    


    manual build CMAKE option

    


    "-DCMAKE_VERBOSE_MAKEFILE=ON -DWITH_VA_INTEL=ON -DWITH_VA=ON -DOPENCV_FFMPEG_ENABLE_LIBAVDEVICE=ON -DOPENCV_ENABLE_GLX=ON -DOPENCV_FFMPEG_SKIP_BUILD_CHECK=ON -DWITH_OPENVINO=ON -DWITH_INF_ENGINE=ON"



    


    build infomation

    


      OpenCV modules:
    To be built:                 calib3d core dnn features2d flann gapi highgui imgcodecs imgproc ml objdetect photo python3 stitching video videoio
    Disabled:                    world
    Disabled by dependency:      -
    Unavailable:                 java python2 ts
    Applications:                -
    Documentation:               NO
    Non-free algorithms:         NO

  GUI:                           GTK3
    GTK+:                        YES (ver 3.24.24)
      GThread :                  YES (ver 2.66.8)
      GtkGlExt:                  NO
    VTK support:                 NO
  Media I/O: 
    ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.11)
    JPEG:                        /usr/lib/x86_64-linux-gnu/libjpeg.so (ver 62)
    WEBP:                        /usr/lib/x86_64-linux-gnu/libwebp.so (ver encoder: 0x020e)
    PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.6.37)
    TIFF:                        /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 / 4.2.0)
    JPEG 2000:                   build (ver 2.4.0)
    OpenEXR:                     build (ver 2.3.0)
    HDR:                         YES
    SUNRASTER:                   YES
    PXM:                         YES
    PFM:                         YES
  Video I/O:
    DC1394:                      YES (2.2.6)
    FFMPEG:                      YES
      avcodec:                   YES (58.91.100)
      avformat:                  YES (58.45.100)
      avutil:                    YES (56.51.100)
      swscale:                   YES (5.7.100)
      avresample:                YES (4.0.0)
    GStreamer:                   YES (1.18.4)
    v4l/v4l2:                    YES (linux/videodev2.h)

  Parallel framework:            pthreads

  Trace:                         YES (with Intel ITT)

  Other third-party libraries:
    Intel IPP:                   2020.0.0 Gold [2020.0.0]
    VA:                          YES
    Lapack:                      NO
    Eigen:                       NO
    Custom HAL:                  NO
    Protobuf:                    build (3.19.1)

  OpenCL:                        YES (INTELVA)
    Include path:                /home/xxx
    Link libraries:              Dynamic load

  Python 3:
    Interpreter:                 /usr/bin/python3 (ver 3.9.2)
    Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.9.so (ver 3.9.2)
    numpy:                       /home/../include (ver 1.19.3)
    install path:                python/cv2/python-3


    


    vainfo

    


    libva info: VA-API version 1.10.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD


    


    import os
import cv2

os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "hw_decoders_any;vaapi,vdpau" +

cap = cv2.VideoCapture(file_name,cv2.CAP_FFMPEG(cv2.CAP_PROP_HW_ACCELERATION,cv2.VIDEO_ACCELERATION_ANY))  



    


    error code

    


    [ INFO:0@0.187] global /home/u/opencv-python/opencv/modules/videoio/src/videoio_registry.cpp (223) VideoBackendRegistry VIDEOIO: Enabled backends(8, sorted by priority): FFMPEG(1000); GSTREAMER(990); INTEL_MFX(980); V4L2(970); CV_IMAGES(960); CV_MJPEG(950); FIREWIRE(940); UEYE(930)
[OPENCV:FFMPEG:40] Reinit context to 1920x1088, pix_fmt: yuv420p
[OPENCV:FFMPEG:40] Trying to use DRM render node for device 0.
[OPENCV:FFMPEG:40] libva: VA-API version 1.10.0
libva: User environment variable requested driver 'i965'
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva: Found init function __vaDriverInit_1_8
libva: va_openDriver() returns 0
Initialised VAAPI connection: version 1.10
[OPENCV:FFMPEG:40] VAAPI driver: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.1.
[OPENCV:FFMPEG:40] Driver not found in known nonstandard list, using standard behaviour.
[ INFO:0@0.228] global /home/u/opencv-python/opencv/modules/videoio/src/cap_ffmpeg_hw.hpp (276) hw_check_device FFMPEG: Using vaapi video acceleration on device: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.1
[ INFO:0@0.228] global /home/u/opencv-python/opencv/modules/videoio/src/cap_ffmpeg_hw.hpp (566) hw_create_device FFMPEG: Created video acceleration context (av_hwdevice_ctx_create) for vaapi on device 'default'
[ INFO:0@0.228] global /home/u/opencv-python/opencv/modules/core/src/ocl.cpp (1186) haveOpenCL Initialize OpenCL runtime...
[ INFO:0@0.228] global /home/u/opencv-python/opencv/modules/core/src/ocl.cpp (1192) haveOpenCL OpenCL: found 0 platforms
File open : ./videoplayback1.mp4
[OPENCV:FFMPEG:40] Reinit context to 1920x1088, pix_fmt: vaapi_vld
[OPENCV:FFMPEG:16] Failed to read image from surface 0x4000014: 18 (invalid parameter).
[ERROR:0@0.245] global /home/u/opencv-python/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (1575) retrieveFrame Error copying data from GPU to CPU (av_hwframe_transfer_data)
Play video ... size=1920x1080, file=./videoplayback1.mp4
[OPENCV:FFMPEG:16] Failed to read image from surface 0x4000012: 18 (invalid parameter).
[ERROR:0@0.277] global /home/u/opencv-python/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (1575) retrieveFrame Error copying data from GPU to CPU (av_hwframe_transfer_data)
OpenCV(4.6.0) Error: Assertion failed (!image.empty()) in imencode, file /home/u/opencv-python/opencv/modules/imgcodecs/src/loadsave.cpp, line 976
err =  OpenCV(4.6.0) /home/u/opencv-python/opencv/modules/imgcodecs/src/loadsave.cpp:976: error: (-215:Assertion failed) !image.empty() in function 'imencode'



    


    I tried to do video capture by ffmpeg hwacceleration with opencv, but an error message occurred

    


  • tablegen : Don’t use cbrtf in host tools

    15 janvier 2013, par Derek Buitenhuis
    tablegen : Don’t use cbrtf in host tools
    

    You cannot count on them being present on all systems, and you
    cannot include libm.h in a host tool, so just hard code baseline
    implementations.

    Signed-off-by : Derek Buitenhuis <derek.buitenhuis@gmail.com>

    • [DH] libavcodec/cbrt_tablegen.h
    • [DH] libavcodec/mpegaudio_tablegen.h
  • FFMPEG remux sample without writing to file

    31 janvier 2020, par Daniel

    Let’s consider this very nice and easy to use remux sample by horgh.

    I’d like to achieve the same task : convert an RTSP H264 encoded stream to a fragmented MP4 stream.
    This code does exactly this task.

    However I don’t want to write the mp4 onto disk at all, but I need to get a byte buffer or array in C with the contents that would normally written to disk.

    How is that achievable ?
    This sample uses vs_open_output to define the output format and this function needs an output url.

    If I would get rid of outputting the contents to disk, how shall I modify this code ?
    Or there might be better alternatives as well, those are also welcomed.

    Update :

    As szatmary recommended, I have checked his example link.

    However as I stated in the question I need the output as buffer instead of a file.
    This example demonstrates nicely how can I read my custom source and give it to ffmpeg.

    What I need is how can open the input as standard (with avformat_open_input) then do my custom modification with the packets and then instead writing to file, write to a buffer.

    What have I tried ?

    Based on szatmary’s example I created some buffers and initialization :

    uint8_t *buffer;
    buffer = (uint8_t *)av_malloc(4096);

    format_ctx = avformat_alloc_context();
    format_ctx->pb = avio_alloc_context(
                   buffer, 4096, // internal buffer and its size
                   1,            // write flag (1=true, 0=false)
                   opaque,  // user data, will be passed to our callback functions
                   0,      // no read
                   &amp;IOWriteFunc,
                   &amp;IOSeekFunc
    );
    format_ctx->flags |= AVFMT_FLAG_CUSTOM_IO;

    AVOutputFormat * const output_format = av_guess_format("mp4", NULL, NULL);
    format_ctx->oformat = output_format;

    avformat_alloc_output_context2(&amp;format_ctx, output_format,
               NULL, NULL)

    Then of course I have created ’IOWriteFunc’ and ’IOSeekFunc’ :

    static int IOWriteFunc(void *opaque, uint8_t *buf, int buf_size) {
       printf("Bytes read: %d\n", buf_size);
       int len = buf_size;
       return (int)len;
    }

    static int64_t IOSeekFunc (void *opaque, int64_t offset, int whence) {
       switch(whence){
           case SEEK_SET:
               return 1;
               break;
           case SEEK_CUR:
               return 1;
               break;
           case SEEK_END:
               return 1;
               break;
           case AVSEEK_SIZE:
               return 4096;
               break;
           default:
              return -1;
       }
       return 1;
    }

    Then I need to write the header to the output buffer, and the expected behaviour here is to print "Bytes read : x" :

    AVDictionary * opts = NULL;
    av_dict_set(&amp;opts, "movflags", "frag_keyframe+empty_moov", 0);
    av_dict_set_int(&amp;opts, "flush_packets", 1, 0);

    avformat_write_header(output->format_ctx, &amp;opts)

    In the last line during execution, it always runs into segfault, here is the backtrace :

    #0  0x00007ffff7a6ee30 in  () at /usr/lib/x86_64-linux-gnu/libavformat.so.57
    #1  0x00007ffff7a98189 in avformat_init_output () at /usr/lib/x86_64-linux-gnu/libavformat.so.57
    #2  0x00007ffff7a98ca5 in avformat_write_header () at /usr/lib/x86_64-linux-gnu/libavformat.so.57
    ...

    The hard thing for me with the example is that it uses avformat_open_input.

    However there is no such thing for the output (no avformat_open_ouput).

    Update2 :

    I have found another example for reading : doc/examples/avio_reading.c.

    There are mentions of a similar example for writing (avio_writing.c), but ffmpeg does not have this available (at least in my google search).

    Is this task really this hard to solve ? standard rtsp input to custom avio ?

    Fortunately ffmpeg.org is down. Great.