Recherche avancée

Médias (91)

Autres articles (40)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (5680)

  • How to check live stream is still alive use "ffprobe" command ?

    17 août 2018, par Yin JianFeng

    I want to schedule a job script to check a live stream is still alive use "ffprobe" command. So that I can change database state for those steam already dead.

    I tried the command :

    ffprobe -v quiet -print_format json -show_streams rtmp://xxxx

    but when the stream is not avaiable, the command will hang.
    I tried add -timeout argument, but still cannot work properly.

  • Piwik 3 Development Update #4 – Important notes and breaking changes

    2 octobre 2016, par Piwik Core Team — Community, Development

    As mentioned in the previous development updates #1 New UI design, API changes & release date, #2 Git master branch will become Piwik 3 and #3 Marketplace we are actively working on the Piwik 3 update and we will release a first beta of it soon. While the update brings many new features and bugfixes, it also comes with some important changes that may require your attention which we detail in this blog post.

    Database updates

    To keep Piwik upgrades as easy as possible, we have usually avoided database schema changes that affect large tables during the Piwik 2.X release cycle. The Piwik 3 update will however require several database updates in order to fix some limitations and bugs in the Piwik database schema. If you have a fair amount of traffic and/or large Piwik database, we recommend to execute the database updates for Piwik 3 on the command line.

    If you struggle updating Piwik you can also get in touch with the Piwik Support and ask for a quote so we can help you with upgrading.

    New server & browser Requirements

    Piwik 3 updates the server requirements. Piwik 3 now requires :

    • PHP 5.5.9 or newer (we used to require PHP 5.3+),
    • MySQL 5.5 or newer or MariaDB (we used to require MySQL 4.1+).

    If you are still on an old PHP and MySQL version we highly recommend to update directly to PHP 7 and a recent MySQL version (MySQL 5.7+).

    Piwik 3 also drops support for the older browsers IE8 and IE9.

    Default filter_limit now applies to all HTTP API methods (#8458)

    In the past the default filter_limit of 100 rows was applied to HTTP API methods that return a report. This means that by default :

    • when you requested a method like SitesManager.getAllSites, UsersManager.getUsers or Goals.getGoals (which are not reports), we returned all rows.
    • when you fetched a report like Actions.getPageUrls (which is a report), the result was limited to 100 rows.

    This behaviour was inconsistent and it was hard to understand which methods apply the default limit and which did not. We now apply the default limit to all HTTP API methods by default.

    If your API consumer or app needs to fetch all results for an API method, you can append the following parameter to the URL : &filter_limit=-1. Alternatively, if you wish to change the default filter_limit automatically for all APIs, you can override the API_datatable_default_limit config setting in your config/config.ini.php file.

    For more information about the various APIs parameters you can use, see Piwik Analytics HTTP API Reference.

    Proxy client IP detection (#10342)

    This is only important if you are using the proxy_client_headers[] config in the config/config.ini.php file, ie. your Piwik server is behind a proxy.

    When Piwik is set up to fetch the client IP address from the proxy headers, and the header contained more than one IP address, we used to use the last IP address. From Piwik 3 we will be using the first IP address which is in line with the protocol definition. For example if HTTP_X_FORWARDED_FOR contains multiple IP addresses, we now use the first IP instead of the last one.

    Writable Piwik JavaScript Tracker file piwik.js

    From Piwik 3 we recommend to have the file /piwik.js writable in your Piwik directory, so that the PHP and webserver processes can edit this file. It is not required to have the file writable for Piwik to function well, but we are working on some enhanced features that will only work when the file is writable. If you don’t know whether this file is writable, go to “Administration => System Check” as a Super User and Piwik will display a warning if the file is not writable. If needed, you might be able to make the file writable by executing a command like chmod 0755 piwik.js or chown $webuser piwik.js (on Linux).

    Changes for plugin developers

    In the previous development updates we have already introduced some of the changes that affect Piwik plugin developers. We have made several improvements to the Marketplace that allow developers to promote their plugin better and to maintain their plugin page easier. We have also created a migration guide for plugin developers to make it easier to migrate a plugin to Piwik 3.

    For a list of all changes have a look at the developer changelog.

    Until our next Piwik 3 update, be well, and Happy Analytics !

  • ffmpeg conversion of jpg to mp4 fails due to to jpg frames change

    14 janvier 2019, par Sebastien Damaye

    I’m trying to compile a set of jpg (camera screenshots taken every 5 seconds) to a mp4. The ffmpeg command works fine but the resulting mp4 is missing some images. I noticed that the "holes" are created when the jpg "frames" is changing from 1 to 3 in the jpg sequence (see below result of file that shows frames 1 for the 1st jpg and frames 3 for the 2nd one) :

    $ file 20190110060113.jpg
    20190110060113.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1280x720, frames 1

    $ file 20190110060119.jpg
    20190110060119.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1280x720, frames 3

    And with ffmpeg, it sows :

    ffmpeg -i 20190110060113.jpg -i 20190110060119.jpg
    ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 4.9.2 (Debian 4.9.2-10)
     configuration: --prefix=/usr --extra-version='1~deb9u1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, image2, from '20190110060113.jpg':
     Duration: 00:00:00.04, start: 0.000000, bitrate: 13395 kb/s
       Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
    Input #1, image2, from '20190110060119.jpg':
     Duration: 00:00:00.04, start: 0.000000, bitrate: 21463 kb/s
       Stream #1:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
    At least one output file must be specified

    Below is the command I’m using to compile the mp4 from the jpg :

    ffmpeg -r 25 -f image2 -s 1280x720 -i /data/camipjpg/%*.jpg -vcodec libx264 -crf 25 -pix_fmt yuv420p /data/camipmgpg/20190110.mp4

    For the sake of curiosity, I investigated and noticed that the camera actually has 2 modes (day and night). Images taken during the night have frames 1 while images taken on the "day" mode have frames 3.

    Is there a way ffmpeg can handle that kind of jpg changes to combine these different types of jpg ?

    Here is the output :

    ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 4.9.2 (Debian 4.9.2-10)
     configuration: --prefix=/usr --extra-version='1~deb9u1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    [image2 @ 0x55aed5072ba0] Pattern type 'glob_sequence' is deprecated: use pattern_type 'glob' instead
    Input #0, image2, from 'bcp/%*.jpg':
     Duration: 00:09:07.24, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mjpeg, gray(bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    [libx264 @ 0x55aed50b8300] using SAR=1/1
    [libx264 @ 0x55aed50b8300] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
    [libx264 @ 0x55aed50b8300] profile High, level 3.1
    [libx264 @ 0x55aed50b8300] 264 - core 142 r2431 a5831aa - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=25.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'test.mp4':
     Metadata:
       encoder         : Lavf57.56.101
       Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc
       Metadata:
         encoder         : Lavc57.64.101 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream mapping:
     Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    Input stream #0:0 frame changed from size:1280x720 fmt:gray to size:1280x720 fmt:yuvj422p.937x    
    [swscaler @ 0x55aed5b56e80] deprecated pixel format used, make sure you did set range correctly
    Input stream #0:0 frame changed from size:1280x720 fmt:yuvj422p to size:1280x720 fmt:grayrop=3023 speed=0.717x    
    Input stream #0:0 frame changed from size:1280x720 fmt:gray to size:1280x720 fmt:yuvj422p
    [swscaler @ 0x55aed550fc20] deprecated pixel format used, make sure you did set range correctly
    Input stream #0:0 frame changed from size:1280x720 fmt:yuvj422p to size:1280x720 fmt:grayrop=6171 speed=0.625x    
    frame= 7156 fps= 16 q=-1.0 Lsize=   80319kB time=00:04:46.12 bitrate=2299.6kbits/s dup=0 drop=6525 speed=0.621x    
    video:80233kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.107008%
    [libx264 @ 0x55aed50b8300] frame I:30    Avg QP:23.39  size: 82468
    [libx264 @ 0x55aed50b8300] frame P:2917  Avg QP:26.31  size: 21742
    [libx264 @ 0x55aed50b8300] frame B:4209  Avg QP:28.37  size:  3864
    [libx264 @ 0x55aed50b8300] consecutive B-frames:  0.9% 49.6% 37.1% 12.4%
    [libx264 @ 0x55aed50b8300] mb I  I16..4:  7.3% 88.2%  4.6%
    [libx264 @ 0x55aed50b8300] mb P  I16..4:  2.7%  4.6%  0.4%  P16..4: 37.5% 12.7% 10.4%  0.0%  0.0%    skip:31.7%
    [libx264 @ 0x55aed50b8300] mb B  I16..4:  0.7%  1.1%  0.1%  B16..8: 33.4%  2.7%  0.3%  direct: 1.0%  skip:60.5%  L0:58.0% L1:37.1% BI: 4.9%
    [libx264 @ 0x55aed50b8300] 8x8 transform intra:61.4% inter:88.3%
    [libx264 @ 0x55aed50b8300] coded y,uvDC,uvAC intra: 34.6% 27.8% 4.0% inter: 16.8% 5.4% 0.1%
    [libx264 @ 0x55aed50b8300] i16 v,h,dc,p: 36% 21% 17% 27%
    [libx264 @ 0x55aed50b8300] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 13% 42%  3%  4%  4%  5%  3%  4%
    [libx264 @ 0x55aed50b8300] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 12% 19%  6%  8%  9%  7%  6%  5%
    [libx264 @ 0x55aed50b8300] i8c dc,h,v,p: 75% 11% 13%  1%
    [libx264 @ 0x55aed50b8300] Weighted P-Frames: Y:34.5% UV:6.4%
    [libx264 @ 0x55aed50b8300] ref P L0: 41.0% 13.8% 22.0% 17.7%  5.5%
    [libx264 @ 0x55aed50b8300] ref B L0: 39.0% 50.9% 10.1%
    [libx264 @ 0x55aed50b8300] ref B L1: 84.5% 15.5%
    [libx264 @ 0x55aed50b8300] kb/s:2296.19

    Thx in advance for your help.