Recherche avancée

Médias (91)

Autres articles (41)

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

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

Sur d’autres sites (6026)

  • Multicast video stream from Dahua IP surveillance camera - ffmpeg etc [closed]

    23 mai, par Jaroslav Mazurak

    I have a Dahua IP surveillance camera and want to get the video via a multicast stream.

    


    In the camera settings, I enabled Multicast streaming, IP 239.240.1.2, and port 40000 (the default). The RTSP port is 554 (the default).

    


    Neither VLC 3.0.21 nor ffmpeg 7.1.1 work when I try to use multicast. Both of them work when I use a unicast. OS is Windows 11 x64. Both applications are allowed in the Windows firewall (any protocol, all networks ; same result if the firewall is disabled completely). I have Wireshark installed, and I see that when a client requests the stream via RTSP, the multicast traffic from the camera is present ; ffmpeg determines the stream but doesn't capture any video, and the output file is empty (it contains only the header and no video). When I use unicast, the correct output video file is saved.

    


    I have no idea what I'm doing wrong, and why ffmpeg (and VLC) doesn't capture anything in the multicast mode.

    


    Here are the ffmpeg logs for multicast and unicast modes.

    


    Multicast :

    


    ffmpeg -fflags nobuffer -flags low_delay -timeout 10M -stats -rtsp_transport udp_multicast -i "rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0&unicast=false" -acodec copy -vcodec copy -y output.mkv

ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 projffmpeg -fflags nobuffer -flags low_delay -timeout 10M -stats -i "rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0" -acodec copy -vcodec copy -y output.mkv

ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, rtsp, from 'rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0':
  Metadata:
    title           : Media Server
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, 25 fps, 25 tbr, 90k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Output #0, matroska, to 'output.mkv':
  Metadata:
    title           : Media Server
    encoder         : Lavf61.7.100
  Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, q=2-31, 25 fps, 25 tbr, 1k tbn
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=00:00:01.32 bitrate=   0.0kbits/s speed= 2.6x    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=00:00:01.84 bitrate=   0.0kbits/s speed=1.81x    
frame=   10 fps=6.5 q=-1.0 size=       1KiB time=00:00:02.36 bitrate=   2.2kbits/s speed=1.53x    
frame=   23 fps= 11 q=-1.0 size=       1KiB time=00:00:02.88 bitrate=   1.8kbits/s speed= 1.4x    
frame=   36 fps= 14 q=-1.0 size=       1KiB time=00:00:03.40 bitrate=   1.5kbits/s speed=1.33x    
frame=   49 fps= 16 q=-1.0 size=       1KiB time=00:00:03.92 bitrate=   1.3kbits/s speed=1.27x    
frame=   62 fps= 17 q=-1.0 size=     256KiB time=00:00:04.44 bitrate= 472.3kbits/s speed=1.23x    
frame=   75 fps= 18 q=-1.0 size=     256KiB time=00:00:04.96 bitrate= 422.8kbits/s speed= 1.2x    
frame=   88 fps= 19 q=-1.0 size=     256KiB time=00:00:05.48 bitrate= 382.7kbits/s speed=1.18x    
frame=  100 fps= 19 q=-1.0 size=     256KiB time=00:00:05.96 bitrate= 351.9kbits/s speed=1.16x    
frame=  113 fps= 20 q=-1.0 size=     768KiB time=00:00:06.48 bitrate= 970.9kbits/s speed=1.14x    
frame=  126 fps= 20 q=-1.0 size=     768KiB time=00:00:07.00 bitrate= 898.8kbits/s speed=1.13x    
frame=  139 fps= 21 q=-1.0 size=     768KiB time=00:00:07.52 bitrate= 836.6kbits/s speed=1.12x    
frame=  152 fps= 21 q=-1.0 size=    1280KiB time=00:00:08.04 bitrate=1304.2kbits/s speed=1.11x    
frame=  165 fps= 21 q=-1.0 size=    1280KiB time=00:00:08.56 bitrate=1225.0kbits/s speed=1.11x    
frame=  178 fps= 22 q=-1.0 size=    1280KiB time=00:00:09.08 bitrate=1154.8kbits/s speed= 1.1x    
frame=  191 fps= 22 q=-1.0 size=    1280KiB time=00:00:09.60 bitrate=1092.3kbits/s speed= 1.1x    
frame=  203 fps= 22 q=-1.0 size=    1792KiB time=00:00:10.08 bitrate=1456.4kbits/s speed=1.09x    
frame=  217 fps= 22 q=-1.0 size=    1792KiB time=00:00:10.64 bitrate=1379.7kbits/s speed=1.09x    


[q] command received. Exiting.

[out#0/matroska @ 000001e0329cad80] video:2377KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.100389%
frame=  230 fps= 22 q=-1.0 Lsize=    2380KiB time=00:00:11.16 bitrate=1746.9kbits/s speed=1.08x    
ect)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, rtsp, from 'rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0&unicast=false':
  Metadata:
    title           : Media Server
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, 25 tbr, 90k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Output #0, matroska, to 'output.mkv':
  Metadata:
    title           : Media Server
    encoder         : Lavf61.7.100
  Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, q=2-31, 25 tbr, 1k tbn
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=N/A bitrate=N/A speed=N/A    
[in#0/rtsp @ 0000014b1a80a580] Error during demuxing: Error number -138 occurred
[out#0/matroska @ 0000014b1a7ee700] video:0KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
[out#0/matroska @ 0000014b1a7ee700] Output file is empty, nothing was encoded
frame=    0 fps=0.0 q=-1.0 Lsize=       1KiB time=N/A bitrate=N/A speed=N/A    


    


    Unicast :

    


    ffmpeg -fflags nobuffer -flags low_delay -timeout 10M -stats -i "rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0" -acodec copy -vcodec copy -y output.mkv

ffmpeg version 7.1.1-full_build-www.gyan.dev Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14.2.0 (Rev1, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-lcms2 --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 39.100 / 59. 39.100
  libavcodec     61. 19.101 / 61. 19.101
  libavformat    61.  7.100 / 61.  7.100
  libavdevice    61.  3.100 / 61.  3.100
  libavfilter    10.  4.100 / 10.  4.100
  libswscale      8.  3.100 /  8.  3.100
  libswresample   5.  3.100 /  5.  3.100
  libpostproc    58.  3.100 / 58.  3.100
Input #0, rtsp, from 'rtsp://user:password@10.10.10.10:554/cam/realmonitor?channel=1&subtype=0':
  Metadata:
    title           : Media Server
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, 25 fps, 25 tbr, 90k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Output #0, matroska, to 'output.mkv':
  Metadata:
    title           : Media Server
    encoder         : Lavf61.7.100
  Stream #0:0: Video: hevc (Main), yuv420p(tv), 2560x1440, q=2-31, 25 fps, 25 tbr, 1k tbn
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=00:00:01.32 bitrate=   0.0kbits/s speed= 2.6x    
frame=    0 fps=0.0 q=-1.0 size=       0KiB time=00:00:01.84 bitrate=   0.0kbits/s speed=1.81x    
frame=   10 fps=6.5 q=-1.0 size=       1KiB time=00:00:02.36 bitrate=   2.2kbits/s speed=1.53x    
frame=   23 fps= 11 q=-1.0 size=       1KiB time=00:00:02.88 bitrate=   1.8kbits/s speed= 1.4x    
frame=   36 fps= 14 q=-1.0 size=       1KiB time=00:00:03.40 bitrate=   1.5kbits/s speed=1.33x    
frame=   49 fps= 16 q=-1.0 size=       1KiB time=00:00:03.92 bitrate=   1.3kbits/s speed=1.27x    
frame=   62 fps= 17 q=-1.0 size=     256KiB time=00:00:04.44 bitrate= 472.3kbits/s speed=1.23x    
frame=   75 fps= 18 q=-1.0 size=     256KiB time=00:00:04.96 bitrate= 422.8kbits/s speed= 1.2x    
frame=   88 fps= 19 q=-1.0 size=     256KiB time=00:00:05.48 bitrate= 382.7kbits/s speed=1.18x    
frame=  100 fps= 19 q=-1.0 size=     256KiB time=00:00:05.96 bitrate= 351.9kbits/s speed=1.16x    
frame=  113 fps= 20 q=-1.0 size=     768KiB time=00:00:06.48 bitrate= 970.9kbits/s speed=1.14x    
frame=  126 fps= 20 q=-1.0 size=     768KiB time=00:00:07.00 bitrate= 898.8kbits/s speed=1.13x    
frame=  139 fps= 21 q=-1.0 size=     768KiB time=00:00:07.52 bitrate= 836.6kbits/s speed=1.12x    
frame=  152 fps= 21 q=-1.0 size=    1280KiB time=00:00:08.04 bitrate=1304.2kbits/s speed=1.11x    
frame=  165 fps= 21 q=-1.0 size=    1280KiB time=00:00:08.56 bitrate=1225.0kbits/s speed=1.11x    
frame=  178 fps= 22 q=-1.0 size=    1280KiB time=00:00:09.08 bitrate=1154.8kbits/s speed= 1.1x    
frame=  191 fps= 22 q=-1.0 size=    1280KiB time=00:00:09.60 bitrate=1092.3kbits/s speed= 1.1x    
frame=  203 fps= 22 q=-1.0 size=    1792KiB time=00:00:10.08 bitrate=1456.4kbits/s speed=1.09x    
frame=  217 fps= 22 q=-1.0 size=    1792KiB time=00:00:10.64 bitrate=1379.7kbits/s speed=1.09x    


[q] command received. Exiting.

[out#0/matroska @ 000001e0329cad80] video:2377KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.100389%
frame=  230 fps= 22 q=-1.0 Lsize=    2380KiB time=00:00:11.16 bitrate=1746.9kbits/s speed=1.08x    


    


  • FFMpeg with PHP-7.0 on Ubuntu

    25 octobre 2018, par Gabriel Bueno Lemes da Silva

    I have a NGINX server with PHP-7.0 and I would like to install the ffmpeg-php extension. I’ve been trying for a few days now and in many ways.

    The method that worked so far was compiling ffmpeg (https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2) manually, but when trying to compile ffmpeg-php (https: // sourceforge. net / projects / ffmpeg-php / files / ffmpeg-php / 0.6.0 / ffmpeg-php-0.6.0.tbz2 / download) I am encountering the following error message :

    root@zumbiserver-mercury : /php7-ffmpeg# make /bin/bash

    /root/php7-ffmpeg/libtool —mode=compile cc -I. -I/root/php7-ffmpeg
    -DPHP_ATOM_INC -I/root/php7-ffmpeg/include -I/root/php7-ffmpeg/main -I/root/php7-ffmpeg -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -I/usr/local/include/libavcodec/ -I/usr/local/include/libavformat/ -I/usr/local/include/libavutil/ -I/usr/local/include/libswscale/ -I/usr/local/include/libavfilter/ -I/usr/local/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /root/php7-ffmpeg/ffmpeg-php.c -o ffmpeg-php.lo libtool : compile : cc
    -I. -I/root/php7-ffmpeg -DPHP_ATOM_INC -I/root/php7-ffmpeg/include -I/root/php7-ffmpeg/main -I/root/php7-ffmpeg -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -I/usr/local/include/libavcodec/ -I/usr/local/include/libavformat/ -I/usr/local/include/libavutil/ -I/usr/local/include/libswscale/ -I/usr/local/include/libavfilter/ -I/usr/local/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /root/php7-ffmpeg/ffmpeg-php.c -fPIC -DPIC -o .libs/ffmpeg-php.o In
    file included from /usr/include/x86_64-linux-gnu/sys/stat.h:104:0,
    from /usr/include/php/20151012/Zend/zend_stream.h:28,
    from /usr/include/php/20151012/Zend/zend.h:41,
    from /usr/include/php/20151012/main/php.h:36,
    from /root/php7-ffmpeg/ffmpeg-php.c:40 : /usr/include/x86_64-linux-gnu/bits/stat.h:91:21 : error : field
    ‘st_atim’ has incomplete type
    struct timespec st_atim ; /* Time of last access. /
    ^ /usr/include/x86_64-linux-gnu/bits/stat.h:92:21 : error : field
    ‘st_mtim’ has incomplete type
    struct timespec st_mtim ; /
    Time of last modification. /
    ^ /usr/include/x86_64-linux-gnu/bits/stat.h:93:21 : error : field
    ‘st_ctim’ has incomplete type
    struct timespec st_ctim ; /
    Time of last status change. /
    ^ /usr/include/x86_64-linux-gnu/bits/stat.h:152:21 : error : field
    ‘st_atim’ has incomplete type
    struct timespec st_atim ; /
    Time of last access. /
    ^ /usr/include/x86_64-linux-gnu/bits/stat.h:153:21 : error : field
    ‘st_mtim’ has incomplete type
    struct timespec st_mtim ; /
    Time of last modification. /
    ^ /usr/include/x86_64-linux-gnu/bits/stat.h:154:21 : error : field
    ‘st_ctim’ has incomplete type
    struct timespec st_ctim ; /
    Time of last status change. /
    ^ In file included from /usr/include/php/20151012/Zend/zend_stream.h:28:0,
    from /usr/include/php/20151012/Zend/zend.h:41,
    from /usr/include/php/20151012/main/php.h:36,
    from /root/php7-ffmpeg/ffmpeg-php.c:40 : /usr/include/x86_64-linux-gnu/sys/stat.h:364:31 : error : array type has
    incomplete element type ‘struct timespec’
    const struct timespec __times[2],
    ^ /usr/include/x86_64-linux-gnu/sys/stat.h:371:54 : error : array type has
    incomplete element type ‘struct timespec’ extern int futimens (int
    __fd, const struct timespec __times[2]) __THROW ;
    ^ In file included from /usr/include/php/20151012/main/php.h:395:0,
    from /root/php7-ffmpeg/ffmpeg-php.c:40 : /usr/include/php/20151012/Zend/zend_virtual_cwd.h:218:2 : error :
    unknown type name ‘time_t’ time_t expires ;
    ^ /usr/include/php/20151012/Zend/zend_virtual_cwd.h:248:86 : error :
    unknown type name ‘time_t’ CWD_API realpath_cache_bucket

    realpath_cache_lookup(const char *path, int path_len, time_t t) ;
    ^ /root/php7-ffmpeg/ffmpeg-php.c : In function ‘zm_startup_ffmpeg’ :
    /root/php7-ffmpeg/ffmpeg-php.c:108:5 : warning : implicit declaration of
    function ‘avcodec_init’ [-Wimplicit-function-declaration]
    avcodec_init() ;
    ^ /root/php7-ffmpeg/ffmpeg-php.c:111:5 : warning : ‘av_register_all’ is deprecated [-Wdeprecated-declarations]
    av_register_all() ;
    ^ In file included from /root/php7-ffmpeg/ffmpeg-php.c:43:0 : /usr/local/include/libavformat/avformat.h:2025:6 : note : declared here
    void av_register_all(void) ;

     ^ Makefile:194: recipe for target 'ffmpeg-php.lo' failed make: *** [ffmpeg-php.lo] Error 1

    Can someone give me a light ? I do not know what else to do !

  • Privacy-friendly analytics : The benefits of an ethical, GDPR-compliant platform

    13 juin, par Joe

    Your visitors shouldn’t feel like you’re spying on them — even if you’re just trying to improve the user experience or track your marketing efforts. 

    While many analytics platforms make customers feel that way thanks to intrusive cookie consent banners and highly personalised ads, there is a growing movement towards ethical, privacy-friendly analytics.

    In this article, you’ll learn what privacy-friendly analytics is, why it matters, what to look for in a solution and which of the leading providers is right for you. 

    What is privacy-friendly analytics ? 

    Privacy-friendly analytics is a form of website analytics that collects and analyses data in a way that respects the user’s privacy. It’s a type of ethical web analytics.

    Privacy-friendly platforms limit personal data collection and anonymise individual user data while being transparent about collection and tracking methods. They help companies adhere to data protection laws (like GDPR, CCPA, and HIPAA) and new privacy laws (like OCPA, FDBR, and TDPSA) without configuring custom settings. 

    Why use privacy-friendly analytics ? 

    Millions of businesses choose privacy-friendly analytics platforms like Matomo. Here are a few reasons why : 

    Build trust with customers

    Research shows that the vast majority of consumers don’t trust companies with their data, believing that they prioritise profits over data protection. 

    Privacy-friendly analytics can help businesses prove they aren’t out to profit from consumer data and regain customer trust. This can ultimately boost revenue. According to Cisco’s Data Privacy Benchmark Study, organisations gain $180 for every $100 spent on privacy. 

    Comply with privacy regulations

    Data privacy regulations, such as GDPR, protect consumer privacy and establish strict rules governing how businesses can collect and use personal data.

    The cost of non-compliance is high. Under GDPR, fines can be up to €20 million, or 4% of worldwide annual revenue.

    Thanks to features like data anonymisation and the default use of first-party cookies, privacy-friendly analytics platforms can support and strengthen compliance efforts. 

    In fact, the French Data Protection Authority (CNIL) approved Matomo as one of the only web analytics tools to collect data without tracking consent.

    Minimise the impact of a breach

    According to IBM’s Cost of a Data Breach report, the average cost of a data breach is nearly $4.5 million. The more personally identifiable information (PII) is involved, the higher the fines and penalties. 

    A privacy-friendly analytics tool can reduce the potential impact of a breach by minimising the amount of personal information you hold. 

    Is Google Analytics privacy-friendly ?

    Google may be the best-known analytics platform, but it’s not the best choice for businesses that want to collect data responsibly and ethically. 

    Here are just a few of Google Analytics’s privacy issues :

    • It uses analytics data to run its advertising business.
    • It may train large language models like Gemini with analytics data.
    • It requires a specific setup to be GDPR compliant that isn’t available out of the box.

    Google Analytics’s ongoing issues with privacy laws like GDPR also raise doubt. The French and Austrian Data Protection Authorities have banned Google Analytics in the past, and there is no guarantee they won’t do so again. 

    What to look for in privacy-friendly analytics ?

    Several privacy-friendly analytics tools are available. To find the right one for your brand, look for the following features.

    Data ownership

    Choose a provider that gives you as much control over your users’ data as possible. Ideally, this will be via an on-site solution where you store data on your servers. For cloud-based options, ensure your analytics provider can’t access, use or sell it.

    With 100% data ownership, you have the power to protect your users’ privacy. You know where your customer data is stored and what’s happening to it without external influence.

    Open source

    The only genuinely privacy-friendly software is open-source software. Open-source software means anyone can review the code to ensure it does what it promises — in this case, maximising privacy. 

    Matomo is an open-source software company. Our source code is on GitHub, where everyone can see precisely how our platform tracks and stores user data. A community of developers also regularly examines and reviews our code to further strengthen security. 

    Data anonymisation 

    Privacy-friendly analytics should allow marketers to completely anonymise the data they collect. They achieve this through several techniques like IP anonymisation and pseudonymised user IDs that modify or remove personally identifiable data so it can’t be linked to individuals.

    Data anonymisation settings Matomo

    Matomo’s data anonymisation settings 

    In Matomo, for example, you can anonymise the following things in the platform’s Privacy settings :

    • IP address
    • Location
    • User ID

    IP address anonymisation is enabled by default in Matomo.

    No data sampling 

    Data sampling involves extrapolating analytics reports from an incomplete data set. Google Analytics uses this practice and relies on estimates, leading to incomplete and potentially inaccurate results.

    Privacy-friendly analytics should provide 100% accurate insights without making assumptions about your users’ data.

    GDPR compliance

    Privacy-friendly web analytics platforms adhere to even the strictest privacy laws, including GDPR, HIPAA and CCPA, thanks to the following features :

    • Data anonymisation
    • Cookieless tracking
    • EU data storage
    • First-party cookies by default
    Data subject access request setting Matomo

    Matomo data subject access request settings
    (Image Source)

    Privacy-first platforms also make it easy for companies to fulfil data subject access requests. In Matomo, for example, a dedicated feature lets you find, download and delete all of the data you hold about specific individuals. 

    Cookieless tracking

    Cookieless tracking is a form of visitor tracking that uses methods other than cookies to identify individual users. It is more privacy-friendly because no personal data is collected, and users can withhold consent from cookie banners.

    Matomo uses the most privacy-friendly industry-leading cookieless tracking method, config_id, to anonymously track visitors without fingerprinting them. 

    Top 3 privacy-friendly analytics platforms

    We’ve shortlisted three of the leading privacy-friendly analytics platforms. Learn what they offer, what makes them different and how much they cost.

    Matomo

    Matomo is an open-source web analytics tool and privacy-focused Google Analytics alternative trusted by over one million sites in over 190 countries and over 50 languages. 

    Matomo dashboard

    Matomo dashboard

    Matomo prioritises privacy and keeping businesses compliant with global privacy regulations like GDPR, CCPA and HIPAA. The data you collect is 100% accurate and yours alone. We don’t share it or use it for other purposes. 

    Benefits

    • Matomo’s all-in-one solution offers traditional web and behavioural analytics, such as heatmaps and session recordings. It also includes a free, open-source tag manager
    • Matomo gives you the choice of where to store your user’s data. With Matomo Cloud, that’s in our European servers. With Matomo On-Premise, that’s on your servers.
    • Matomo is open-source. Hundreds of independent developers have reviewed our code, and you can view it yourself on GitHub.

    Pricing 

    Hosting Matomo On-Premise is free, while Matomo Cloud costs $26 per month. 

    Fathom

    Fathom Analytics is a simple, easy-to-use alternative to Google Analytics that puts a premium on privacy. 

    Fathom dashboard

    Fathom dashboard
    (Image Source)

    Fathom has made its platform as easy to use as possible. You can install Fathom on any website or CMS using a single line of code. It also means the platform won’t massively impact your site’s speed or SEO performance. 

    Benefits

    • Fathom complies with all major privacy regulations, including GDPR and CCPA.
    • Fathom doesn’t sample data. It also blocks bots and scrapers, so you only see human visitors.
    • Fathom anonymises IP addresses, so you don’t have to show cookie banners.

    Drawbacks

    • Fathom doesn’t offer many of Matomo’s advanced features like e-commerce tracking, heatmaps, and session recordings.
    • The premium version of Fathom is not open-source. 

    Pricing 

    From $15 per month.

    Plausible

    Plausible Analytics is an open-source, privacy-friendly analytics tool built and hosted in the EU.

    Plausible dashboard

    Plausible dashboard
    (Image Source)

    The platform launched in 2019 as a lightweight, easy-to-use alternative to Google Analytics. Its simplicity is a big selling point. Instead of dozens of menus, it presents the information you need on a single page.

    Benefits

    • Plausible boasts an ultra-lightweight script, which means it has a minimal impact on page loading times. 
    • Plausible is GDPR and CCPA-compliant by design, so there’s no need for cookie banners.
    • Plausible is an open-source software with the source code available on GitHub.

    Drawbacks

    • Plausible lacks advanced privacy controls like a GDPR manager.
    • It has none of Matomo’s advanced features like A/B testing, session recordings or heatmaps. 

    Pricing 

    From $9 per month

    Try Matomo for free

    Ready to try a privacy-friendly analytics solution ? Making the switch is easy with Matomo, as it’s one of the only platforms to import historical Google Analytics data. You can also try Matomo for free for 21 days — no credit card required.