Recherche avancée

Médias (91)

Autres articles (50)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (6886)

  • Invalid data when converting mp4 to x264 with ffmpeg but fine when converting flv to x264

    15 octobre 2018, par Julien

    I have a PHP script that converts uploaded videos to x264, it works fine if I upload an FLV, but with an MP4 it doesn’t work, here’s the command and output :

    Command :

    ffmpeg -y -i ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4 -crf 0 -vcodec libx264 -movflags faststart ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4 2>&1

    Output :

    ffmpeg version N-67321-ge5054c8 Copyright (c) 2000-2014 the FFmpeg developers
     built on Nov  1 2014 12:53:28 with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
     configuration: --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264
     libavutil      54. 11.100 / 54. 11.100
     libavcodec     56. 10.100 / 56. 10.100
     libavformat    56. 11.101 / 56. 11.101
     libavdevice    56.  2.100 / 56.  2.100
     libavfilter     5.  2.100 /  5.  2.100
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       creation_time   : 2018-10-08 12:03:53
       encoder         : Lavf56.15.102
     Duration: 00:03:03.08, start: 0.023129, bitrate: 1647 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 720x404 [SAR 1:1 DAR 180:101], 1547 kb/s, 24 fps, 24 tbr, 12288 tbn, 24 tbc (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : SoundHandler
    [libx264 @ 0x1f0a080] using SAR=1/1
    [libx264 @ 0x1f0a080] using cpu capabilities: MMX2 SSE Cache64
    [libx264 @ 0x1f0a080] profile High 4:4:4 Predictive, level 3.0, 4:2:0 8-bit
    [libx264 @ 0x1f0a080] 64 - core 142 - 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=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, mp4, to '../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       encoder         : Lavf56.11.101
       Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x404 [SAR 1:1 DAR 180:101], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : VideoHandler
         encoder         : Lavc56.10.100 libx264
       Stream #0:1(und): Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : SoundHandler
         encoder         : Lavc56.10.100 libfdk_aac
    Stream mapping:
     Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
    Press [q] to stop, [?] for help
    [mpeg4 @ 0x2004420] ac-tex damaged at 1 1
    [mpeg4 @ 0x2004420] Error at MB: 47
    [mpeg4 @ 0x2004420] concealing 1170 DC, 1170 AC, 1170 MV errors in P frame
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ed3ec0] stream 1, offset 0xee5b: partial file
    ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4: Invalid data found when processing input
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ed3ec0] stream 0, offset 0xef98: partial file
    ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4: Invalid data found when processing input
    [mp4 @ 0x1f08f40] Starting second pass: moving the moov atom to the beginning of the file
    frame=    3 fps=0.0 q=-1.0 Lsize=     116kB time=00:00:00.12 bitrate=7585.3kbits/s dup=1 drop=0    
    video:113kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.171168%
    [libx264 @ 0x1f0a080] frame I:1     Avg QP: 0.00  size:113785
    [libx264 @ 0x1f0a080] frame P:2     Avg QP: 0.00  size:   518
    [libx264 @ 0x1f0a080] mb I  I16..4: 38.4%  0.0% 61.6%
    [libx264 @ 0x1f0a080] mb P  I16..4:  0.2%  0.0%  0.1%  P16..4:  1.2%  0.1%  0.2%  0.0%  0.0%    skip:98.3%
    [libx264 @ 0x1f0a080] 8x8 transform intra:0.0% inter:3.1%
    [libx264 @ 0x1f0a080] coded y,uvDC,uvAC intra: 91.6% 88.7% 88.7% inter: 0.7% 0.2% 0.2%
    [libx264 @ 0x1f0a080] i16 v,h,dc,p: 46% 53%  1%  0%
    [libx264 @ 0x1f0a080] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 44% 40%  3%  2%  3%  2%  2%  2%  2%
    [libx264 @ 0x1f0a080] i8c dc,h,v,p:  2% 55% 43%  0%
    [libx264 @ 0x1f0a080] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x1f0a080] kb/s:7348.61

    As you can see there are some errors, there. I’ve tried with several different mp4 files, from different sources so it’s not a problem of the video files.

    I’ve also tried without the -movflags faststart option, also tried with -q:v 0 instead of -crf 0, nothing works, but like stated above, it works from FLV -> MP4, what am i doing wrong here ?

    PS : By "Nothing works" I mean the resulting MP4 plays for 1 frame in the browser and stops.

  • Invalid data when converting mp4 to x264 with ffmpeg but fine when converting flv to x264

    15 octobre 2018, par Julien

    I have a PHP script that converts uploaded videos to x264, it works fine if I upload an FLV, but with an MP4 it doesn’t work, here’s the command and output :

    Command :

    ffmpeg -y -i ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4 -crf 0 -vcodec libx264 -movflags faststart ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4 2>&1

    Output :

    ffmpeg version N-67321-ge5054c8 Copyright (c) 2000-2014 the FFmpeg developers
     built on Nov  1 2014 12:53:28 with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-16)
     configuration: --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264
     libavutil      54. 11.100 / 54. 11.100
     libavcodec     56. 10.100 / 56. 10.100
     libavformat    56. 11.101 / 56. 11.101
     libavdevice    56.  2.100 / 56.  2.100
     libavfilter     5.  2.100 /  5.  2.100
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       creation_time   : 2018-10-08 12:03:53
       encoder         : Lavf56.15.102
     Duration: 00:03:03.08, start: 0.023129, bitrate: 1647 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 720x404 [SAR 1:1 DAR 180:101], 1547 kb/s, 24 fps, 24 tbr, 12288 tbn, 24 tbc (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : SoundHandler
    [libx264 @ 0x1f0a080] using SAR=1/1
    [libx264 @ 0x1f0a080] using cpu capabilities: MMX2 SSE Cache64
    [libx264 @ 0x1f0a080] profile High 4:4:4 Predictive, level 3.0, 4:2:0 8-bit
    [libx264 @ 0x1f0a080] 64 - core 142 - 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=0x1:0x111 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, mp4, to '../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       encoder         : Lavf56.11.101
       Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x404 [SAR 1:1 DAR 180:101], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : VideoHandler
         encoder         : Lavc56.10.100 libx264
       Stream #0:1(und): Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s (default)
       Metadata:
         creation_time   : 2018-10-08 12:03:53
         handler_name    : SoundHandler
         encoder         : Lavc56.10.100 libfdk_aac
    Stream mapping:
     Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
    Press [q] to stop, [?] for help
    [mpeg4 @ 0x2004420] ac-tex damaged at 1 1
    [mpeg4 @ 0x2004420] Error at MB: 47
    [mpeg4 @ 0x2004420] concealing 1170 DC, 1170 AC, 1170 MV errors in P frame
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ed3ec0] stream 1, offset 0xee5b: partial file
    ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4: Invalid data found when processing input
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1ed3ec0] stream 0, offset 0xef98: partial file
    ../../flv/rjaRGKzSMtksUJ4kGbsLMYEcr.mp4: Invalid data found when processing input
    [mp4 @ 0x1f08f40] Starting second pass: moving the moov atom to the beginning of the file
    frame=    3 fps=0.0 q=-1.0 Lsize=     116kB time=00:00:00.12 bitrate=7585.3kbits/s dup=1 drop=0    
    video:113kB audio:2kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.171168%
    [libx264 @ 0x1f0a080] frame I:1     Avg QP: 0.00  size:113785
    [libx264 @ 0x1f0a080] frame P:2     Avg QP: 0.00  size:   518
    [libx264 @ 0x1f0a080] mb I  I16..4: 38.4%  0.0% 61.6%
    [libx264 @ 0x1f0a080] mb P  I16..4:  0.2%  0.0%  0.1%  P16..4:  1.2%  0.1%  0.2%  0.0%  0.0%    skip:98.3%
    [libx264 @ 0x1f0a080] 8x8 transform intra:0.0% inter:3.1%
    [libx264 @ 0x1f0a080] coded y,uvDC,uvAC intra: 91.6% 88.7% 88.7% inter: 0.7% 0.2% 0.2%
    [libx264 @ 0x1f0a080] i16 v,h,dc,p: 46% 53%  1%  0%
    [libx264 @ 0x1f0a080] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 44% 40%  3%  2%  3%  2%  2%  2%  2%
    [libx264 @ 0x1f0a080] i8c dc,h,v,p:  2% 55% 43%  0%
    [libx264 @ 0x1f0a080] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x1f0a080] kb/s:7348.61

    As you can see there are some errors, there. I’ve tried with several different mp4 files, from different sources so it’s not a problem of the video files.

    I’ve also tried without the -movflags faststart option, also tried with -q:v 0 instead of -crf 0, nothing works, but like stated above, it works from FLV -> MP4, what am i doing wrong here ?

    PS : By "Nothing works" I mean the resulting MP4 plays for 1 frame in the browser and stops.

  • ffmpeg concat + scale2ref, reduced framerate

    15 décembre 2020, par Erwan Douaille

    I would like to concatenate multiple videos with differents aspect ratio, framerates, etc.
The working solution is scale2ref option with black background, no re-scale and concat.

    


    If I use my command line with movie1.mp4 (30fps 1920x1080 2sec) and movie2.mp4 (25fps 800x600 3sec) I except a final output at 25fps 1920x1080 5sec. This part works well.

    


    Then if I use my command line with movie1.mp4 (30fps 1920x1080 2sec) and movie2.mp4 (30fps 1920x1080 3sec) I except a final output at 30fps 1920x1080 5sec. But for an unknown reason my final output is 25fps 1920x1080 5 sec.

    


    I tried with a copy of movie1.mp4 and rename it to movie2.mp4 to ensure they are both perfectly identical and got the same issue.

    


    Input #0, lavfi, from 'color':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from './1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:02.47, start: 0.000000, bitrate: 6737 kb/s
    Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 6567 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #1:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from './2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:02.47, start: 0.000000, bitrate: 6737 kb/s
    Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 6567 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #2:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      handler_name    : SoundHandler


    


    Output file :

    


    [libx264 @ 000001a689d44180] using SAR=1/1
[libx264 @ 000001a689d44180] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001a689d44180] profile High, level 4.0, 4:2:0, 8-bit
[libx264 @ 000001a689d44180] 264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - 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=24 lookahead_threads=4 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=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to './out.mp4':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
    Metadata:
      encoder         : Lavc58.54.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.54.100 aac
frame=  124 fps= 72 q=-1.0 Lsize=    3842kB time=00:00:04.84 bitrate=6502.6kbits/s speed=2.79x


    


    Here is my command line :

    


    ffmpeg -y -f lavfi -i color -i ./1.mp4 -i ./2.mp4 -filter_complex_script ./3.txt  ./out.mp4


    


    The content of filter comple script :

    


    [0][1]scale2ref[canvas][vid1];[canvas][2]scale2ref='max(iw,main_w)':'max(ih,main_h)'[canvas][vid2];[canvas]split=2[canvas1][canvas2];[canvas1][vid1]overlay=x='(W-w)/2':y='(H-h)/2':shortest=1[vid1];[canvas2][vid2]overlay=x='(W-w)/2':y='(H-h)/2':shortest=1[vid2];[vid1][vid2]concat=n=2:v=1,setsar=1


    


    I´m quite sure it´s related to the lavfi input but I don´t know how to enforce it to be the best framerate available.

    


    Is it possible to enforce the "best" framerate available ?
Something like :

    


      

    • 30fps + 30fps = 30fps
    • 


    • 25fps + 25fps = 25fps
    • 


    • 25fps + 30fps = 30fps (or maybe 25 with perfect down sampling for the 30fps video)
    • 


    


    My ffmpeg commands are programmaticaly generated. Any automatic solution is prefered.