Recherche avancée

Médias (0)

Mot : - Tags -/clipboard

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

Autres articles (61)

  • 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 (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (3819)

  • Makefile for c++ program cannot be compiled properly

    20 mars 2017, par Wei

    I am quite new to c++ Makefile. Recently, I am trying to re-implement the dense trajectory algorithm introduced by this paper : https://lear.inrialpes.fr/people/wang/dense_trajectories

    However, I was struggling with Makefile that they provided for quite a while. The Makefile is as follows :

    # set the binaries that have to be built
    TARGETS := DenseTrack Video

    # set the build configuration set
    BUILD := release
    #BUILD := debug

    # set bin and build dirs
    BUILDDIR := .build_$(BUILD)
    BINDIR := $(BUILD)

    # libraries
    LDLIBS = $(addprefix -l, $(LIBS) $(LIBS_$(notdir $*)))
    LIBS := \
       opencv_core opencv_highgui opencv_video opencv_imgproc \
       avformat avdevice avutil avcodec swscale

    # set some flags and compiler/linker specific commands
    CXXFLAGS = -pipe -D __STDC_CONSTANT_MACROS -D STD=std -Wall $(CXXFLAGS_$(BUILD)) -I. -I/usr/local/include -I/home/wei/ffmpeg_build/include
    CXXFLAGS_debug := -ggdb
    CXXFLAGS_release := -O3 -DNDEBUG -ggdb
    LDFLAGS = -L/usr/local/lib -L/home/wei/ffmpeg_build/lib -pipe -Wall $(LDFLAGS_$(BUILD))
    LDFLAGS_debug := -ggdb
    LDFLAGS_release := -O3 -ggdb

    include make/generic.mk

    I can verify that my opencv2.4.2 and ffmpeg5.4.0 are successfully installed in Ubuntu 16.04, by running an example using those two libraries.

    For opencv :
    The lib path is : /usr/local/lib

    libavcodec.a                   libopencv_gpu.so.2.4  
       libopencv_photo.so.2.4
    libavdevice.a                  libopencv_gpu.so.2.4.2        libopencv_photo.so.2.4.2
    libavfilter.a                  libopencv_highgui.so          libopencv_stitching.so
    libavformat.a                  libopencv_highgui.so.2.4      libopencv_stitching.so.2.4
    libavutil.a                    libopencv_highgui.so.2.4.2    libopencv_stitching.so.2.4.2
    libopencv_calib3d.so           libopencv_imgproc.so          libopencv_ts.so
    libopencv_calib3d.so.2.4       libopencv_imgproc.so.2.4      libopencv_ts.so.2.4
    libopencv_calib3d.so.2.4.2     libopencv_imgproc.so.2.4.2    libopencv_ts.so.2.4.2
    libopencv_contrib.so           libopencv_legacy.so           libopencv_video.so
    libopencv_contrib.so.2.4       libopencv_legacy.so.2.4       libopencv_video.so.2.4
    libopencv_contrib.so.2.4.2     libopencv_legacy.so.2.4.2     libopencv_video.so.2.4.2
    libopencv_core.so              libopencv_ml.so               libopencv_videostab.so
    libopencv_core.so.2.4          libopencv_ml.so.2.4           libopencv_videostab.so.2.4
    libopencv_core.so.2.4.2        libopencv_ml.so.2.4.2         libopencv_videostab.so.2.4.2
    libopencv_features2d.so        libopencv_nonfree.so          libpostproc.a
    libopencv_features2d.so.2.4    libopencv_nonfree.so.2.4      libswresample.a
    libopencv_features2d.so.2.4.2  libopencv_nonfree.so.2.4.2    libswscale.a
    libopencv_flann.so             libopencv_objdetect.so        pkgconfig
    libopencv_flann.so.2.4         libopencv_objdetect.so.2.4    python2.7
    libopencv_flann.so.2.4.2       libopencv_objdetect.so.2.4.2  python3.5
    libopencv_gpu.so               libopencv_photo.so

    The include path is : usr/local/include :

    libavcodec   libavfilter  libavutil    libswresample  opencv
    libavdevice  libavformat  libpostproc  libswscale     opencv2

    For ffmpeg :
    The lib path is : /home/user/ffmpeg_build/lib

    libavcodec.a   libavfilter.a  libavutil.a   libfdk-aac.la  libswresample.a  libx265.a
    libavdevice.a  libavformat.a  libfdk-aac.a  libpostproc.a  libswscale.a     pkgconfig

    The include path is : /home/user/ffmpeg/include

    fdk-aac     libavdevice  libavformat  libpostproc    libswscale     x265.h
    libavcodec  libavfilter  libavutil    libswresample  x265_config.h

    So when I make it with Makefile, I did not get error but it seems linking is working properly, nor is the compiled output.

    I tried to directly compile with g++ command.

    sudo g++ -o Video -pipe -D __STDC_CONSTANT_MACROS -D STD=std -Wall -I. -I/usr/local/include -O3 -DNDEBUG -ggdb -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_video -lopencv_imgproc -lavformat -lavdevice -lavutil -lavcodec -lswscale *.h Video.cpp

    However,it returns errors as :

    /tmp/ccjYmwI4.o: In function `main':
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:33: undefined reference to `cvCreateFileCapture'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:48: undefined reference to `cvQueryFrame'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:57: undefined reference to `cvCopy'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:60: undefined reference to `cvShowImage'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:61: undefined reference to `cvWaitKey'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:53: undefined reference to `cvCreateImage'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:70: undefined reference to `cvDestroyWindow'
    /home/wei/Documents/dt/dense_trajectory_release_v1.2/Video.cpp:41: undefined reference to `cvNamedWindow'
    collect2: error: ld returned 1 exit status

    I have been working on this issue for several days. Any help or suggestions would be really appreciated.

    Thanks

  • Transcoding/ Converting mpeg to h264 using ffmpeg h264_nvenc

    15 septembre 2024, par Mustafa

    I'm trying to transcode a video rendered by Davinci Resolve, using ffmpeg from mpeg4 to h264, on Ubuntu, using the following command.

    


    ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input.mov -c:a copy -c:v h264_nvenc -b:v 8M -preset 7 output-h264_nvenc-p7.mp4 -v verbose


    


    And my Nvidia card is NVIDIA GeForce GTX 1650.

    


    I'm gettting the following error :

    


    [mpeg4 @ 0x55a893ed3200] Video width 3840 not within range from 48 to 2032
[mpeg4 @ 0x55a893ed3200] Failed setup for format cuda: hwaccel initialisation returned error.


    


    And here's the complete output. The command produces an output but its quality is significantly less than the original.

    


      built with gcc 13 (Ubuntu 13.2.0-23ubuntu4)
  configuration: --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared --enable-gpl --enable-libx264
  libavutil      59. 36.100 / 59. 36.100
  libavcodec     61. 13.100 / 61. 13.100
  libavformat    61.  5.101 / 61.  5.101
  libavdevice    61.  2.101 / 61.  2.101
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
-vsync is deprecated. Use -fps_mode
Passing a number to -vsync is deprecated, use a string argument as described in the manual.
Selecting decoder 'mpeg4' because of requested hwaccel method cuda
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 2024-09-15T04:25:29.000000Z
    encoder         : Blackmagic Design DaVinci Resolve
  Duration: 00:20:34.87, start: 0.000000, bitrate: 347243 kb/s
  Stream #0:0[0x1]: Video: mpeg4 (Simple Profile), 1 reference frame (mp4v / 0x7634706D), yuv420p(bt709/bt709/unknown, left), 3840x2160 [SAR 1:1 DAR 16:9], 345703 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
      Metadata:
        creation_time   : 2024-09-15T04:25:29.000000Z
        handler_name    : VideoHandler
        vendor_id       :     
        encoder         : MPEG4 Video
        timecode        : 01:00:00:00
  Stream #0:1[0x2]: Audio: pcm_s16le (lpcm / 0x6D63706C), 48000 Hz, stereo, s16, 1536 kb/s (default)
      Metadata:
        creation_time   : 2024-09-15T04:25:29.000000Z
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74) (default)
      Metadata:
        creation_time   : 2024-09-15T04:25:29.000000Z
        handler_name    : TimeCodeHandler
        timecode        : 01:00:00:00
[out#0/mp4 @ 0x55a8929e8d80] No explicit maps, mapping streams automatically...
[vost#0:0/h264_nvenc @ 0x55a8929f5880] Created video stream from input stream 0:0
[aost#0:1/copy @ 0x55a893867080] Created audio stream from input stream 0:1
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (h264_nvenc))
  Stream #0:1 -> #0:1 (copy)
[vost#0:0/h264_nvenc @ 0x55a8929f5880] Starting thread...
[vf#0:0 @ 0x55a8929f17c0] Starting thread...
[vist#0:0/mpeg4 @ 0x55a89293a100] [dec:mpeg4 @ 0x55a8929f4440] Starting thread...
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 0x55a8929e0600] Starting thread...
Press [q] to stop, [?] for help
[mpeg4 @ 0x55a893ed3200] NVDEC capabilities:
[mpeg4 @ 0x55a893ed3200] format supported: yes, max_mb_count: 8192
[mpeg4 @ 0x55a893ed3200] min_width: 48, max_width: 2032
[mpeg4 @ 0x55a893ed3200] min_height: 16, max_height: 2032
[mpeg4 @ 0x55a893ed3200] Video width 3840 not within range from 48 to 2032
[mpeg4 @ 0x55a893ed3200] Failed setup for format cuda: hwaccel initialisation returned error.
[graph -1 input from stream 0:0 @ 0x75c970002e40] w:3840 h:2160 pixfmt:yuv420p tb:1/15360 fr:60/1 sar:1/1 csp:bt709 range:unknown
[graph -1 input from stream 0:0 @ 0x75c970002e40] video frame properties congruent with link at pts_time: 0
[h264_nvenc @ 0x55a8929e62c0] Using device cuda0 (type cuda) with h264_nvenc encoder.
[h264_nvenc @ 0x55a8929e62c0] Loaded Nvenc version 12.2
[h264_nvenc @ 0x55a8929e62c0] Nvenc initialized successfully
[h264_nvenc @ 0x55a8929e62c0] The selected preset is deprecated. Use p1 to p7 + -tune or fast/medium/slow.
Output #0, mp4, to 'output-h264_nvenc-p7.mp4':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    encoder         : Lavf61.5.101
  Stream #0:0: Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/unknown, progressive, left), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 8000 kb/s, 60 fps, 15360 tbn (default)
      Metadata:
        creation_time   : 2024-09-15T04:25:29.000000Z
        handler_name    : VideoHandler
        vendor_id       :     
        timecode        : 01:00:00:00
        encoder         : Lavc61.13.100 h264_nvenc
      Side data:
        cpb: bitrate max/min/avg: 0/0/8000000 buffer size: 16000000 vbv_delay: N/A
  Stream #0:1: Audio: pcm_s16le (ipcm / 0x6D637069), 48000 Hz, stereo, s16, 1536 kb/s (default)
      Metadata:
        creation_time   : 2024-09-15T04:25:29.000000Z
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]


    


    How can I find the cause of the error and resolve it ?

    


    Also is there a way to improve the quality of the output video as it's much lower than the original ? I tried doing the same conversion using libxh264 (using the CPU) and that produced a far better video.

    


  • avcodec/nvenc : better surface allocation alghoritm, fix rc_lookahead

    21 novembre 2016, par Miroslav Slugeň
    avcodec/nvenc : better surface allocation alghoritm, fix rc_lookahead
    

    User selectable surfaces are not working correctly, if you set number of
    surfaces on cmdline, it will always use minimum 32 or 48 depends on
    selected resolution, but in nvenc it is not necessary to use so many
    surfaces.

    So from now you can define as low as 1 surface and nvenc will still
    work, it will ofcourse lower GPU memory usage by 95% and async_delay to zero

    That was the easy part, now littlebit more...

    Next part of this patch is to always prefer rc_lookahead to be more
    important for number of surfaces, than user defined surfaces value.
    Maximum rc_lookahead from nvidia documentation is 32, but could increase
    in future generations so there is no limit for this yet. Value
    async_depth is still accepted and prefered over rc_lookahead.

    There were also bug when you request more than rc_lookahead > 31, it
    will always set maximum 31, because surface numbers recalculation was
    after setting lookahead, which is now fixed.

    Results :
    If you set -rc_lookahead 32 and -bf 3 it will now use only 40 surfaces
    and lower GPU memory usage by 20%, also it will now increase PSNR by 0.012dB

    Two more comments :

    1. from my internal test, i don’t understand addition of 4 more surfaces
    when lookahead is calculated, i didn’t used this and everything works as
    with those 4 more extra surfaces, does anybody know what is going on
    there ? I looks like it was used for B frames which are calculated
    separately, because B frames maximum is 4.

    2. rc_lookahead is defined default to -1, but in test condition if
    (ctx->rc_lookahead) which sets lookahead it will be always true, i don’t
    know if this is intended behavior, so in default behavior is lookahead
    always on !

    This is default condition when rc_lokkahead is -1 (not defined on
    cmdline), whis is maybe something that is not intended :
    ctx->encode_config.rcParams.enableLookahead = 1 ;
    ctx->encode_config.rcParams.lookaheadDepth = 0 ;
    ctx->encode_config.rcParams.disableIadapt = 0 ;
    ctx->encode_config.rcParams.disableBadapt = 0 ;

    Signed-off-by : Timo Rothenpieler <timo@rothenpieler.org>

    • [DH] libavcodec/nvenc.c