Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Profil pro
    Inscrit en
    février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : février 2007
    Messages : 19
    Points : 0
    Points
    0

    Par défaut expression régulière preg_match_all

    bonjour,
    je recup la sortie du programme ffmpeg et j'aimerais récupérer la valeur de SAR et DAR

    j'arrive à trouver le nbr de pixels largeur hauteur par cette fonction
    Code :
    1
    2
    3
    4
     
    $pattern = '/Video: .*, ([0-9]{2,4}x[0-9]{2,4})/';
    	preg_match_all($pattern, $result, $matches, PREG_PATTERN_ORDER);
    	$resolution = $matches[1][0];
    j'ai essayé cela mais je ne recupère pas la valeur entre les crochets [ et ] (je récup celle qui est plus loin et qui ne m'intéresse pas ;p)
    c'est celle ci qui m'interesse : [SAR 16:15 DAR 4:3],
    Code :
    1
    2
    3
    4
    5
    6
    7
     
     
     
      $pattern = '/SAR ([0-9]{1,3}:[0-9]{2})/';
     
    preg_match_all($pattern, $result,$out, PREG_PATTERN_ORDER);
    print_r($out);
    voici la sortie
    Code :
    1
    2
    3
     
    ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers  built on Sep 29 2012 11:22:50 with gcc 4.7.1 (GCC) 20120721 (prerelease)  configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-libpulse --enable-libv4l2 --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static  libavutil      51. 73.101 / 51. 73.101  libavcodec     54. 59.100 / 54. 59.100  libavformat    54. 29.104 / 54. 29.104  libavdevice    54.  2.101 / 54.  2.101  libavfilter     3. 17.100 /  3. 17.100  libswscale      2.  1.101 /  2.  1.101  libswresample   0. 15.100 /  0. 15.100  libpostproc    52.  0.100 / 52.  0.100Guessed Channel Layout for  Input Stream #0.1 : stereoInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/website/0rd9ZjyU.mov':  Metadata:    major_brand     : qt    minor_version   : 537199360    compatible_brands: qt    creation_time   : 2012-10-07 11:15:31  Duration: 00:01:59.68, start: 0.000000, bitrate: 30340 kb/s    Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 
    720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25 tbn, 25 tbc    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d�alias Apple      timecode        : 01:00:00:00    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d�alias Apple    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)    Metadata:      creation_time   : 2012-10-07 11:15:45      handler_name    : Gestionnaire d�alias Apple      timecode        : 01:00:00:00At least one output file must be specified
    merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro Vincent
    Inscrit en
    juillet 2005
    Messages
    20 844
    Détails du profil
    Informations personnelles :
    Nom : Homme Vincent

    Informations forums :
    Inscription : juillet 2005
    Messages : 20 844
    Points : 27 196
    Points
    27 196

    Par défaut

    "A la main" ça marche :
    Code :
    1
    2
    3
    4
    5
    6
    <?php
    $result = "ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers  built on Sep 29 2012 11:22:50 with gcc 4.7.1 (GCC) 20120721 (prerelease)  configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-libpulse --enable-libv4l2 --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static  libavutil      51. 73.101 / 51. 73.101  libavcodec     54. 59.100 / 54. 59.100  libavformat    54. 29.104 / 54. 29.104  libavdevice    54.  2.101 / 54.  2.101  libavfilter     3. 17.100 /  3. 17.100  libswscale      2.  1.101 /  2.  1.101  libswresample   0. 15.100 /  0. 15.100  libpostproc    52.  0.100 / 52.  0.100Guessed Channel Layout for  Input Stream #0.1 : stereoInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/website/0rd9ZjyU.mov':  Metadata:    major_brand     : qt    minor_version   : 537199360    compatible_brands: qt    creation_time   : 2012-10-07 11:15:31  Duration: 00:01:59.68, start: 0.000000, bitrate: 30340 kb/s    Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 
    720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25 tbn, 25 tbc    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d&#65533;alias Apple      timecode        : 01:00:00:00    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d&#65533;alias Apple    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)    Metadata:      creation_time   : 2012-10-07 11:15:45      handler_name    : Gestionnaire d&#65533;alias Apple      timecode        : 01:00:00:00At least one output file must be specified";
    $pattern = '/SAR ([0-9]{1,3}:[0-9]{2})/';
    preg_match_all($pattern, $result,$out, PREG_PATTERN_ORDER);
    print_r($out);
    Code :
    Array ( [0] => Array ( [0] => SAR 16:15 [1] => SAR 59:54 ) [1] => Array ( [0] => 16:15 [1] => 59:54 ) )

  3. #3
    Membre confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Inscrit en
    mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mars 2009
    Messages : 213
    Points : 257
    Points
    257

    Par défaut

    Bonjour,

    Code :
    1
    2
    3
    4
    $pattern = '/(\d{2,4})x(\d{2,4})\s\[SAR\s(\d{1,2}:\d{1,2})\sDAR\s(\d{1,2}:\d{1,2}])/';
    preg_match($pattern, $ffmpegOutput, $match);
    array_shift($match);
    $result = array_combine(array('width', 'height', 'SAR', 'DAR'), $match);

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •