Recherche avancée

Médias (91)

Autres articles (74)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (6408)

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

    


  • h.264 lossless video in python with ffmpeg

    7 mars 2015, par Ojtwist

    I have raw video files which I encoded via ffmpeg (lossless) :

    ffmpeg -i test.avi -c:v libx264 -preset veryslow -crf 0 output.mkv

    Now I tried to read these in python :

       FFMPEG_BIN = "ffmpeg"

       command = [FFMPEG_BIN,
                      '-i',path,
                      '-f', 'image2pipe',
                      '-pix_fmt','yuv444p',
                      '-r',framerate,
                      '-ss',startposition,
                      '-vcodec','rawvideo','-']

       pipe = sp.Popen(command,stdout=sp.PIPE,bufsize=10**8)

       while True:
           raw_image = pipe.stdout.read(640*480*3)

           image = np.fromstring(raw_image,dtype='uint8')

           image = image.reshape((480,640,3))

    I can’t find the good command to get the video lossless in python. If I try it as mentioned above and show it with matplotlib, I get :
    enter image description here

    If I set -vcodec to libx264 I get noise.

    enter image description here

    If i set -pix_fmt to rgb24, I get a normal looking image, but I can see some artifact due to the color conversion.

    What is the command I am looking for ?


    extra info, the output of the encoding (initial raw video ==> lossless h.264) :

    worker@worklati:~/data/DMG/test$ ffmpeg -i test.avi -c:v libx264 -preset veryslow -crf 0 output.mkv
    ffmpeg version 2.5.3 Copyright (c) 2000-2015 the FFmpeg developers
     built on Jan 11 2015 17:53:45 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
     configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libpulse --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
     libavutil      54. 15.100 / 54. 15.100
     libavcodec     56. 13.100 / 56. 13.100
     libavformat    56. 15.102 / 56. 15.102
     libavdevice    56.  3.100 / 56.  3.100
     libavfilter     5.  2.103 /  5.  2.103
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, avi, from 'test.avi':
     Duration: 00:10:25.17, start: 0.000000, bitrate: 44237 kb/s
       Stream #0:0: Video: rawvideo, bgr24, 640x480, 6 fps, 6 tbr, 6 tbn, 6 tbc
    File 'output.mkv' already exists. Overwrite ? [y/N] y
    No pixel format specified, yuv444p for H.264 encoding chosen.
    Use -pix_fmt yuv420p for compatibility with outdated media players.
    [libx264 @ 0x1fd7160] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
    [libx264 @ 0x1fd7160] profile High 4:4:4 Predictive, level 3.2, 4:4:4 8-bit
    [libx264 @ 0x1fd7160] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=9 psy=0 mixed_ref=1 me_range=24 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=6 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
    Output #0, matroska, to 'output.mkv':
     Metadata:
       encoder         : Lavf56.15.102
       Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv444p, 640x480, q=-1--1, 6 fps, 1k tbn, 6 tbc
       Metadata:
         encoder         : Lavc56.13.100 libx264
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    frame= 3751 fps= 40 q=-1.0 Lsize=  133724kB time=00:10:25.16 bitrate=1752.3kbits/s    
    video:133691kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.024307%
    [libx264 @ 0x1fd7160] frame I:16    Avg QP: 0.00  size: 58298
    [libx264 @ 0x1fd7160] frame P:3735  Avg QP: 0.00  size: 36403
    [libx264 @ 0x1fd7160] mb I  I16..4: 65.3%  6.9% 27.7%
    [libx264 @ 0x1fd7160] mb P  I16..4:  3.0%  2.1%  0.2%  P16..4: 71.2%  0.8% 22.4%  0.0%  0.0%    skip: 0.1%
    [libx264 @ 0x1fd7160] 8x8 transform intra:36.9% inter:49.5%
    [libx264 @ 0x1fd7160] coded y,u,v intra: 79.3% 0.0% 0.0% inter: 97.6% 0.0% 0.0%
    [libx264 @ 0x1fd7160] i16 v,h,dc,p: 20%  3% 76%  1%
    [libx264 @ 0x1fd7160] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  5%  8% 80%  1%  1%  2%  1%  1%  1%
    [libx264 @ 0x1fd7160] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 28% 16%  5%  7%  8%  5%  4%  5%
    [libx264 @ 0x1fd7160] Weighted P-Frames: Y:0.2% UV:0.0%
    [libx264 @ 0x1fd7160] ref P L0: 63.2%  0.0% 14.2%  5.3%  4.0%  3.2%  2.6%  1.1%  1.0%  1.0%  0.9%  1.1%  0.7%  0.6%  0.6%  0.6%
    [libx264 @ 0x1fd7160] kb/s:1751.85