Recherche avancée

Médias (91)

Autres articles (22)

  • 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

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (6750)

  • How to config FFmpeg for xrgb and Aver Media capture card [closed]

    12 mai 2023, par Plotter Desalor

    I'm trying to use FFmpeg through ffplay to display a capture card output as lossless as possible.

    


    My capture card is named "Live Gamer Ultra-Video"

    


    In OBS, the NV12, YV12, P010 and YUY2 lead to blurriness around text and fine pixels edges, but the XRGB one offer clear output. So I've tried to focus on this mode with FFmpeg as the default one lead to same blurriness seen in OBS.

    


    Running "ffmpeg -f dshow -list_options true -i video="Live Gamer Ultra-Video" show me this result
(i've only kept line with wanted resolution)

    


    ffmpeg version 6.0-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[dshow @ 00000240bf0eac40] DirectShow video device options (from video devices)
[dshow @ 00000240bf0eac40]  Pin "Capturer" (alternative pin name "0")
[dshow @ 00000240bf0eac40]   pixel_format=yuyv422  min s=2560x1440 fps=30 max s=2560x1440 fps=50
[dshow @ 00000240bf0eac40]   pixel_format=yuyv422  min s=2560x1440 fps=30 max s=2560x1440 fps=50 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40]   pixel_format=yuv420p  min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002
[dshow @ 00000240bf0eac40]   pixel_format=yuv420p  min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40]   pixel_format=nv12  min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002
[dshow @ 00000240bf0eac40]   pixel_format=nv12  min s=2560x1440 fps=30 max s=2560x1440 fps=60.0002 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40]   unknown compression type 0xE436EB7D  min s=2560x1440 fps=30 max s=2560x1440 fps=30
[dshow @ 00000240bf0eac40]   unknown compression type 0xE436EB7D  min s=2560x1440 fps=30 max s=2560x1440 fps=30 (tv, bt709/bt709/unknown, topleft)
[dshow @ 00000240bf0eac40]   unknown compression type 0x30313050  min s=2560x1440 fps=30 max s=2560x1440 fps=30
[dshow @ 00000240bf0eac40]   unknown compression type 0x30313050  min s=2560x1440 fps=30 max s=2560x1440 fps=30 (tv, bt709/bt709/unknown, topleft)

video=Live Gamer Ultra-Video: Immediate exit requested


    


    "unknown compression type 0xE436EB7D" is a pretty bad start but from https://trac.ffmpeg.org/ticket/6279 I could figured out it was just unproperly parsed RGB24 format

    


    But if I run a very simple "ffplay -f dshow -i video="Live Gamer Ultra-Video" -pixel_format rgb24"
I got this output

    


    ffplay version 6.0-essentials_build-www.gyan.dev Copyright (c) 2003-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
[dshow @ 000001ec3fa39300] Could not set video options   0B f=0/0
video=Live Gamer Ultra-Video: I/O error


    


    How could I use rgb format with this capture card ?

    


    If not possible, any other format leading to proper output would be ok too.
I've tried parameters from this topic Capture full-range/lossless rgb frame from capture card that supports NV12 and YUYV output without any good result sadly.

    


  • ffmpeg does not copy custom metadata

    20 juin 2015, par e110c0

    I’m trying to fix some videos made with an iDevice. The videos have a rotation in the metadata which is only understood by Apple and its software but noone else. Fixing this is quite simple, but I also would like to keep the other metadata in the files like the geolocation.

    I tried a couple of versions, all with the same result, e.g. :

    ffmpeg -i input.mov -vf vflip,hflip -map_metadata 0 -metadata:s:v:0 rotate=0  -acodec copy output.mp4

    This should work, it already gives the correct preview of metadata :

    ffmpeg version 1.1.2 Copyright (c) 2000-2013 the FFmpeg developers
    built on Feb  8 2013 23:55:22 with Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/1.1.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
    libavutil      52. 13.100 / 52. 13.100
    libavcodec     54. 86.100 / 54. 86.100
    libavformat    54. 59.106 / 54. 59.106
    libavdevice    54.  3.102 / 54.  3.102
    libavfilter     3. 32.100 /  3. 32.100
    libswscale      2.  1.103 /  2.  1.103
    libswresample   0. 17.102 /  0. 17.102
    libpostproc    52.  2.100 / 52.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2013-02-17 00.39.36.mov':
     Metadata:
       major_brand     : qt  
       minor_version   : 0
       compatible_brands: qt  
       creation_time   : 2013-02-16 23:39:25
       model           : iPhone 5
       model-deu       : iPhone 5
       encoder         : 6.1
       encoder-deu     : 6.1
       date            : 2013-02-17T00:39:25+0100
       date-deu        : 2013-02-17T00:39:25+0100
       location        : +48.2683+007.7205+172.710/
       location-deu    : +48.2683+007.7205+172.710/
       make            : Apple
       make-deu        : Apple
     Duration: 00:00:09.67, start: 0.000000, bitrate: 16764 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 16696 kb/s, 24 fps, 24 tbr, 600 tbn, 1200 tbc
       Metadata:
         rotate          : 180
         creation_time   : 2013-02-16 23:39:25
         handler_name    : Core Media Data Handler
       Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 61 kb/s
       Metadata:
         creation_time   : 2013-02-16 23:39:25
         handler_name    : Core Media Data Handler
    w:1920 h:1080 pixfmt:yuv420p tb:1/600 fr:24/1 sar:0/1 sws_param:flags=2
    [libx264 @ 0x7fc248829a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
    [libx264 @ 0x7fc248829a00] profile High, level 4.0
    [libx264 @ 0x7fc248829a00] 264 - core 125 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

    Output #0, mp4, to 'output.mp4':
    Metadata:
     major_brand     : qt  
     minor_version   : 0
     compatible_brands: qt  
     creation_time   : 2013-02-16 23:39:25
     model           : iPhone 5
     model-deu       : iPhone 5
     encoder-deu     : 6.1
     date            : 2013-02-17T00:39:25+0100
     date-deu        : 2013-02-17T00:39:25+0100
     location        : +48.2683+007.7205+172.710/
     location-deu    : +48.2683+007.7205+172.710/
     make            : Apple
     make-deu        : Apple
     encoder         : Lavf54.59.106
    Stream #0:0(und): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=-1--1, 12288 tbn, 24 tbc
    Metadata:
     handler_name    : Core Media Data Handler
     creation_time   : 2013-02-16 23:39:25
     rotate          : 0
    Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, mono, 61 kb/s
    Metadata:
     creation_time   : 2013-02-16 23:39:25
     handler_name    : Core Media Data Handler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (copy)

    But the resulting file keeps only some of these metadata tags :

    ffmpeg -i output.mp4

    shows :

    fmpeg version 1.1.2 Copyright (c) 2000-2013 the FFmpeg developers
     built on Feb  8 2013 23:55:22 with Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/1.1.2 --enable-shared --enable-pthreads -  -enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
    libavutil      52. 13.100 / 52. 13.100
    libavcodec     54. 86.100 / 54. 86.100
    libavformat    54. 59.106 / 54. 59.106
    libavdevice    54.  3.102 / 54.  3.102
    libavfilter     3. 32.100 /  3. 32.100
    libswscale      2.  1.103 /  2.  1.103
    libswresample   0. 17.102 /  0. 17.102
    libpostproc    52.  2.100 / 52.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
    Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     creation_time   : 2013-02-16 23:39:25
     date            : 2013-02-17T00:39:25+0100
     encoder         : Lavf54.59.106
    Duration: 00:00:09.67, start: 0.000000, bitrate: 3286 kb/s
     Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 3219 kb/s, 24 fps, 24 tbr, 12288 tbn, 24 tbc
     Metadata:
       creation_time   : 2013-02-16 23:39:25
       handler_name    : VideoHandler
     Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 61 kb/s
     Metadata:
       creation_time   : 2013-02-16 23:39:25
       handler_name    : SoundHandler

    I also tried to add the one tag I’m interested in by hand with

    -metadata:g location=+48.2683+007.7205+172.710/

    with no change in the result.

    Output as .mov doesn’t change anything, neither.

    Is there any trick to add non-standard metadata ? How do I get the location back in there ?

    Thanks in advance to anyone who can give some insight on this.

  • ffmpeg : Command Execution failed

    29 janvier 2019, par PRABHJOT SINGH

    I am using this plugin plugin link and I am uploading mp4 videos and trying to compress the video on the server using node js FFmpeg module

    var vid = new ffmpeg( './' + req.file_name + '.mp4');
    vid.then(function (video) {
       video.setVideoSize('640x?', true, true)
           .save('./' + req.file_name + '_cp.mp4',
               function (err,file) {
                   if(err) {
                       res.send({status: 404, message: 'Unable to save video' })
                   } else {
                       revealCtrl.GetVideoData(req, res, next);
                   }
               })
    }, function (err) { });

    but it is not compressing my video and gives this error

    Here is the final command

    Command failed: ffmpeg -i ./jrbze37i.mp4  -strict -2  -filter_complex "scale=iw*sar:ih, pad=max(iw\,ih*(16/9)):ow/(16/9):(ow                                                                                                        -iw)/2:(oh-ih)/2" ./jrbze37i_cp.mp4

    and here is the error

    Error: Command failed: ffmpeg -i ./jrbze37i.mp4  -strict -2  -filter_complex "scale=iw*sar:ih, pad=max(iw\,ih*(16/9)):ow/(16/9):(ow                                                                                                        -iw)/2:(oh-ih)/2" ./jrbze37i_cp.mp4
    ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg
    developers
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
    configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-
    suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-                                                                                                        
    linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --
    enable-gpl --enable-shared --disable-stripping --disable-decoder                                                                                                        
    =libopenjpeg --disable-decoder=libschroedinger --enable-avresample --
    enable-avisynth --enable-gnutls --enable-ladspa --enable-libass                                                                                                        
    --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --
    enable-libflite --enable-libfontconfig --enable-libfreetype -                                                                                                        
    -enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --
    enable-libmp3lame --enable-libopenjpeg --enable-libopus --en                                                                                                        
    able-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine
    --enable-libsnappy --enable-libsoxr --enable-libspeex --ena                                                                                                        
    ble-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --
    enable-libvpx --enable-libwavpack --enable-libwebp --enable-li                                                                                                        
    bx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --
    enable-x11grab --enable-libdc1394 --enable-libiec61883 --en                                                                                                        
    able-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
    libavutil      54. 31.100 / 54. 31.100
    libavcodec     56. 60.100 / 56. 60.100
    libavformat    56. 40.101 / 56. 40.101
    libavdevice    56.  4.100 / 56.  4.100
    libavfilter     5. 40.101 /  5. 40.101
    libavresample   2.  1.  0 /  2.  1.  0
    libswscale      3.  1.101 /  3.  1.101
    libswresample   1.  2.101 /  1.  2.101
    libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './jrbze37i.mp4':
    Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.26.100
    Duration: 00:00:53.22, start: 0.023220, bitrate: 1553 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661),
    yuv420p, 1920x1080, 1418 kb/s, 30 fps, 30 tbr, 15360 tb                                                                                                        
    n, 60 tbc (default)
    Metadata:
     handler_name    : Core Media Video
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono,
    fltp, 128 kb/s (default)
    Metadata:
     handler_name    : Core Media Audio
    [libx264 @ 0x1567760] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
    AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x1567760] profile High, level 4.0
    [libx264 @ 0x1567760] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC
    codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html                                                                                                        
    - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7
    psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 tr                                                                                                        
    ellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2
    threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1                                                                                                        
    interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2
    b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 ke                                                                                                        
    yint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
    mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_r                                                                                                        
    atio=1.40 aq=1:1.00
    Output #0, mp4, to './jrbze37i_cp.mp4':
     Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p,
      1920x1080, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
    Metadata:
     encoder         : Lavc56.60.100 libx264
    Stream #0:1(und): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, mono,
    fltp, 128 kb/s (default)
    Metadata:
     handler_name    : Core Media Audio
     encoder         : Lavc56.60.100 aac
    Stream mapping:
      Stream #0:0 (h264) -> scale (graph 0)
      pad (graph 0) -> Stream #0:0 (libx264)
      Stream #0:1 -> #0:1 (aac (native) -> aac (native))
      Press [q] to stop, [?] for help
      Killed   42 fps=5.1 q=29.0 size=      94kB time=00:00:01.34 bitrate=
       574.7kbits/s dup=1 drop=0

      at ChildProcess.exithandler (child_process.js:276:12)
      at emitTwo (events.js:126:13)
      at ChildProcess.emit (events.js:214:7)
      at maybeClose (internal/child_process.js:915:16)
      at Socket.stream.socket.on (internal/child_process.js:336:11)
      at emitOne (events.js:116:13)
      at Socket.emit (events.js:211:7)
      at Pipe._handle.close [as _onclose] (net.js:561:12)
    killed: false,
    code: 137,
    signal: null,
    cmd: 'ffmpeg -i ./jrbze37i.mp4  -strict -2  -filter_complex
       "scale=iw*sar:ih, pad=max(iw\\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-
      ih)/2 " ./jrbze37i_cp.mp4'

    My problem is that sometimes its work or sometimes it doesn’t work.