Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (51)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • 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 ;

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (8640)

  • 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 !

  • Open Banking Security 101 : Is open banking safe ?

    3 décembre 2024, par Daniel Crough — Banking and Financial Services

    Open banking is changing the financial industry. Statista reports that open banking transactions hit $57 billion worldwide in 2023 and will likely reach $330 billion by 2027. According to ACI, global real-time payment (RTP) transactions are expected to exceed $575 billion by 2028.

    Open banking is changing how banking works, but is it safe ? And what are the data privacy and security implications for global financial service providers ?

    This post explains the essentials of open banking security and addresses critical data protection and compliance questions. We’ll explore how a privacy-first approach to data analytics can help you meet regulatory requirements, build customer trust and ultimately thrive in the open banking market while offering innovative financial products.

     

    Discover trends, strategies, and opportunities to balance compliance and competitiveness.

    What is open banking ?

    Open banking is a system that connects banks, authorised third-party providers and technology, empowering customers to securely share their financial data with other companies. At the same time, it unlocks access to more innovative and personalised financial products and services like spend management solutions, tailored budgeting apps and more convenient payment gateways. 

    With open banking, consumers have greater choice and control over their financial data, ultimately fostering a more competitive financial industry, supporting technological innovation and paving the way for a more customer-centric financial future.

    Imagine offering your clients a service that analyses spending habits across all accounts — no matter the institution — and automatically finds ways to save them money. Envision providing personalised financial advice tailored to individual needs or enabling customers to apply for a mortgage with just a few taps on their phone. That’s the power of open banking.

    Embracing this technology is an opportunity for banks and fintech companies to build new solutions for customers who are eager for a more transparent and personalised digital experience.

    How is open banking different from traditional banking ?

    In traditional banking, consumers’ financial data is locked away and siloed within each bank’s systems, accessible only to the bank and the account holder. While account holders could manually aggregate and share this data, the process is cumbersome and prone to errors.

    With open banking, users can choose what data to share and with whom, allowing trusted third-party providers to access their financial information directly from the source. 

    Side-by-side comparison between open banking and traditional banking showing the flow of financial information between the bank and the user with and without a third party.

    How does open banking work ?

    The technology that makes open banking possible is the application programming interface (API). Think of banking APIs as digital translators for different software systems ; instead of translating languages, they translate data and code.

    The bank creates and publishes APIs that provide secure access to specific types of customer data, like credit card transaction history and account balances. The open banking API acts like a friendly librarian, ready to assist apps in accessing the information they need in a secure and organised way.

    Third-party providers, like fintech companies, use these APIs to build their applications and services. Some tech companies also act as intermediaries between fintechs and banks to simplify connections to multiple APIs simultaneously.

    For example, banks like BBVA (Spain) and Capital One (USA) offer secure API platforms. Fintechs like Plaid and TrueLayer use those banking APIs as a bridge to users’ financial data. This bridge gives other service providers like Venmo, Robinhood and Coinbase access to customer data, allowing them to offer new payment gateways and investment tools that traditional banks don’t provide.

    Is open banking safe for global financial services ?

    Yes, open banking is designed from the ground up to be safe for global financial services.

    Open banking doesn’t make customer financial data publicly available. Instead, it uses a secure, regulated framework for sharing information. This framework relies on strong security measures and regulatory oversight to protect user data and ensure responsible access by authorised third-party providers.

    In the following sections, we’ll explore the key security features and banking regulations that make this technology safe and reliable.

    Regulatory compliance in open banking

    Regulatory oversight is a cornerstone of open banking security.

    In the UK and the EU, strict regulations govern how companies access and use customer data. The revised Payment Services Directive (PSD2) in Europe mandates strong customer authentication and secure communication, promoting a high level of security for open banking services.

    To offer open banking services, companies must register with their respective regulatory bodies and comply with all applicable data protection laws.

    For example, third-party service providers in the UK must be authorised by the Financial Conduct Authority (FCA) and listed on the Financial Services Register. Depending on the service they provide, they must get an Account Information Service Provider (AISP) or a Payment Initiation Service Provider (PISP) license.

    Similar regulations and registries exist across Europe, enforced by the European National Competent Authority, like BaFin in Germany and the ACPR in France.

    In the United States, open banking providers don’t require a special federal license. However, this will soon change, as the U.S. Consumer Financial Protection Bureau (CFPB) unveiled a series of rules on 22 October 2024 to establish a regulatory framework for open banking.

    These regulations ensure that only trusted providers can participate in the open banking ecosystem. Anyone can check if a company is a trusted provider on public databases like the Regulated Providers registry on openbanking.org.uk. While being registered doesn’t guarantee fair play, it adds a layer of safety for consumers and banks.

    Key open banking security features that make it safe for global financial services

    Open banking is built on a foundation of solid security measures. Let’s explore five key features that make it safe and reliable for financial institutions and their customers.

    List of the five most important features that make open banking safe for global finance

    Strong Customer Authentication (SCA)

    Strong Customer Authentication (SCA) is a security principle that protects against unauthorised access to user financial data. It’s a regulated and legally required form of multi-factor authentication (MFA) within the European Economic Area.

    SCA mandates that users verify their identity using at least two of the following three factors :

    • Something they know (a password, PIN, security question, etc.)
    • Something they have (a mobile phone, a hardware token or a bank card)
    • Something they are (a fingerprint, facial recognition or voice recognition)

    This type of authentication helps reduce the risk of fraud and unauthorised transactions.

    API security

    PSD2 regulations mandate that banks provide open APIs, giving consumers the right to use any third-party service provider for their online banking services. According to McKinsey research, this has led to a surge in API adoption within the banking sector, with the largest banks allocating 14% of their IT budget to APIs. 

    To ensure API security, banks and financial service providers implement several measures, including :

    • API gateways, which act as a central point of control for all API traffic, enforcing security policies and preventing unauthorised access
    • API keys and tokens to authenticate and authorise API requests (the equivalent of a library card for apps)
    • Rate limiting to prevent denial-of-service attacks by limiting the number of requests a third-party application can make within a specific timeframe
    • Regular security audits and penetration testing to identify and address potential vulnerabilities in the API infrastructure

    Data minimisation and purpose limitation

    Data minimisation and purpose limitation are fundamental principles of data protection that contribute significantly to open banking safety.

    Data minimisation means third parties will collect and process only the data necessary to provide their service. Purpose limitation requires them to use the collected data only for its original purpose.

    For example, a budgeting app that helps users track their spending only needs access to transaction history and account balances. It doesn’t need access to the user’s full transaction details, investment portfolio or loan applications.

    Limiting the data collected from individual banks significantly reduces the risk of potential misuse or exposure in a data breach.

    Encryption

    Encryption is a security method that protects data in transit and at rest. It scrambles data into an unreadable format, making it useless to anyone without the decryption key.

    In open banking, encryption protects users’ data as it travels between the bank and the third-party provider’s systems via the API. It also protects data stored on the bank’s and the provider’s servers. Encryption ensures that even if a breach occurs, user data remains confidential.

    Explicit consent

    In open banking, before a third-party provider can access user data, it must first inform the user what data it will pull and why. The customer must then give their explicit consent to the third party collecting and processing that data.

    This transparency and control are essential for building trust and ensuring customers feel safe using third-party services.

    But beyond that, from the bank’s perspective, explicit customer consent is also vital for compliance with GDPR and other data protection regulations. It can also help limit the bank’s liability in case of a data breach.

    Explicit consent goes beyond sharing financial data. It’s also part of new data privacy regulations around tracking user behaviour online. This is where an ethical web analytics solution like Matomo can be invaluable. Matomo fully complies with some of the world’s strictest privacy regulations, like GDPR, lGPD and HIPAA. With Matomo, you get peace of mind knowing you can continue gathering valuable insights to improve your services and user experience while respecting user privacy and adhering to regulations.

    Risks of open banking for global financial services

    While open banking offers significant benefits, it’s crucial to acknowledge the associated risks. Understanding these risks allows financial institutions to implement safeguards and protect themselves and their customers.

    List of the three key risks that banks should always keep in mind.

    Risk of data breaches

    By its nature, open banking is like adding more doors and windows to your house. It’s convenient but also gives burglars more ways to break in.

    Open banking increases what cybersecurity professionals call the “attack surface,” or the number of potential points of vulnerability for hackers to steal financial data.

    Data breaches are a serious threat to banks and financial institutions. According to IBM’s 2024 Cost of a Data Breach Report, each breach costs companies in the US an average of $4.88 million. Therefore, banks and fintechs must prioritise strong security measures and data protection protocols to mitigate these risks.

    Risk of third-party access

    By definition, open banking involves granting third-party providers access to customer financial information. This introduces a level of risk outside the bank’s direct control.

    Financial institutions must carefully vet third-party providers, ensuring they meet stringent security standards and comply with all relevant data protection regulations.

    Risk of user account takeover

    Open banking can increase the risk of user account takeover if adequate security measures are not in place. For example, if a malicious third-party provider gains unauthorised access to a user’s bank login details, they could take control of the user’s account and make fraudulent bank transactions.

    A proactive approach to security, continuous monitoring and a commitment to evolving best practices and security protocols are crucial for navigating the open banking landscape.

    Open banking and data analytics : A balancing act for financial institutions

    The additional data exchanged through open banking unveils deeper insights into customer behaviour and preferences. This data can fuel innovation, enabling the development of personalised products and services and improved risk management strategies.

    However, using this data responsibly requires a careful balancing act.

    Too much reliance on data without proper safeguards can erode trust and invite regulatory issues. The opposite can stifle innovation and limit the technology’s potential.

    Matomo Analytics derisks web and app environments by giving full control over what data is tracked and how it is stored. The platform prioritises user data privacy and security while providing valuable data and analytics that will be familiar to anyone who has used Google Analytics.

    Open banking, data privacy and AI

    The future of open banking is entangled with emerging technologies like artificial intelligence (AI) and machine learning. These technologies significantly enhance open banking analytics, personalise services, and automate financial tasks.

    Several banks, credit unions and financial service providers are already exploring AI’s potential in open banking. For example, HSBC developed the AI-enabled FX Prompt in 2023 to improve forex trading. The bank processed 823 million client API calls, many of which were open banking.

    However, using AI in open banking raises important data privacy considerations. As the American Bar Association highlights, balancing personalisation with responsible AI use is crucial for open banking’s future. Financial institutions must ensure that AI-driven solutions are developed and implemented ethically, respecting customer privacy and data protection.

    Conclusion

    Open banking presents a significant opportunity for innovation and growth in the financial services industry. While it’s important to acknowledge the associated risks, security measures like explicit customer consent, encryption and regulatory frameworks make open banking a safe and reliable system for banks and their clients.

    Financial service providers must adopt a multifaceted approach to data privacy, implementing privacy-centred solutions across all aspects of their business, from open banking to online services and web analytics.

    By prioritising data privacy and security, financial institutions can build customer trust, unlock the full potential of open banking and thrive in today’s changing financial environment.