Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (47)

  • 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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

Sur d’autres sites (6445)

  • Crossdevice encoding static file to stream in browser using FFMPEG (segmented h264 ?)

    20 mars 2014, par Vprnl

    I'm building a mediacenter application in NodeJS which is going pretty ok.
    (you can check it out on Github : https://github.com/jansmolders86/mediacenterjs )

    I'm using FFMPEG to transcode local (static) movies to a stream which I then send to the browser.

    At first I used h264 with Flash which worked in browsers, but I really need it to work on Android an iOS (so no Flash) and preferably working on a Raspberry Pi.

    But getting it to play on all devices is driving me absolutely insane !

    I have all these bits of the puzzle I've gathered from countless hours reading articles, tutorials and stack overflow posts, which led me to the conclusion that I need to produce the following :

    • Use video codec H264 to transcode to MP4
    • Move the moovatom '-movflags' to make a MP4 streamable
    • Segment the stream so Apple can play the stream as well.

    But getting nowhere with this. Every time I produce a series of FFMPEG settings that either don't work, or work on some devices rather than all.

    Some of my failed attempt where :

    My flash attempt -> Main problem (not running in IOS) :

       '-y','-ss 0','-b 800k','-vcodec libx264','-acodec mp3'\
       '-ab 128','-ar 44100','-bufsize 62000', '-maxrate 620k'\
       metaDuration,tDuration,'-f flv

    my HLS attempt -> Main problem (not running in browser) :

           '-r 15','-b:v 128k','-c:v libx264','-x264opts level=41'\
           '-threads 4','-s 640x480','-map 0:v','-map 0:a:0','-c:a mp3'\
           '-b:a 160000','-ac 2','-f hls','-hls_time 10','-hls_list_size 6'\
           '-hls_wrap 18','-start_number 1'

    My MP4 attempt -> Main problem (duration is shortened and the later part of the video is speeding by)

          '-y','-ss 0','-b 800k','-vcodec libx264','-acodec mp3'\
          '-ab 128','-ar 44100','-bufsize 62000', '-maxrate 620k'\
          metaDuration,tDuration,'-f mp4','-movflags','frag_keyframe+empty_moov'

    Second MP4 attempt : -> Main problem (duration is shortened and the later part of the video is speeding by)

       '-y','-vcodec libx264','-pix_fmt yuv420p','-b 1200k','-flags +loop+mv4'\
       '-cmp 256','-partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8'\
       '-me_method hex','-subq 7','-trellis 1','-refs 5','-bf 3','-coder 1'\
       '-me_range 16','-g 150','-keyint_min 25','-sc_threshold 40'\
       '-i_qfactor 0.71','-acodec mp3','-qmin 10','-qdiff 4','-qmax 51'\
       '-ab 128k','-ar 44100','-threads 2','-f mp4','-movflags','frag_keyframe+empty_moov'])

    Here is an example of the FFMPEG log running with these settings :

           file conversion error ffmpeg version N-52458-gaa96439 Copyright (c) 2000-2013 the FFmpeg developers
             built on Apr 24 2013 22:19:32 with gcc 4.8.0 (GCC)
             configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --e
           nable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable
           -libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --ena
           ble-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwola
           me --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enabl
           e-libxvid --enable-zlib
             libavutil      52. 27.101 / 52. 27.101
             libavcodec     55.  6.100 / 55.  6.100
             libavformat    55.  3.100 / 55.  3.100
             libavdevice    55.  0.100 / 55.  0.100
             libavfilter     3. 60.101 /  3. 60.101
             libswscale      2.  2.100 /  2.  2.100
             libswresample   0. 17.102 /  0. 17.102
             libpostproc    52.  3.100 / 52.  3.100
           [avi @ 02427900] non-interleaved AVI
           Guessed Channel Layout for  Input Stream #0.1 : mono
           Input #0, avi, from 'C:/temp/the avengers.avi':
             Duration: 00:00:34.00, start: 0.000000, bitrate: 1433 kb/s
               Stream #0:0: Video: cinepak (cvid / 0x64697663), rgb24, 320x240, 15 tbr, 15 tbn, 15 tbc
               Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 22050 Hz, mono, u8, 176 kb/s
           Please use -b:a or -b:v, -b is ambiguous
           [libx264 @ 02527c60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
           [libx264 @ 02527c60] profile High, level 2.0
           [libx264 @ 02527c60] 264 - core 130 r2274 c832fe9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x26
           4.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x133 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=2 lookahead_threads=1 sliced_th
           reads=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 we
           ightb=1 open_gop=0 weightp=2 keyint=150 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=120
           0 ratetol=1.0 qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.41 aq=1:1.00
           Output #0, mp4, to 'pipe:1':
             Metadata:
               encoder         : Lavf55.3.100
               Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 320x240, q=10-51, 1200 kb/s, 15360 tbn, 15 tbc
               Stream #0:1: Audio: mp3 (i[0][0][0] / 0x0069), 44100 Hz, mono, s16p, 128 kb/s
           Stream mapping:
             Stream #0:0 -> #0:0 (cinepak -> libx264)
             Stream #0:1 -> #0:1 (pcm_u8 -> libmp3lame)
           Press [q] to stop, [?] for help
           frame=  106 fps=0.0 q=10.0 size=       1kB time=00:00:06.94 bitrate=   1.4kbits/s
           frame=  150 fps=149 q=14.0 size=       1kB time=00:00:09.87 bitrate=   1.0kbits/s
           frame=  191 fps=126 q=16.0 size=       1kB time=00:00:12.61 bitrate=   0.8kbits/s
           frame=  244 fps=121 q=16.0 size=    2262kB time=00:00:16.14 bitrate=1147.6kbits/s
           frame=  303 fps=120 q=14.0 size=    2262kB time=00:00:20.08 bitrate= 922.2kbits/s
           frame=  354 fps=117 q=15.0 size=    3035kB time=00:00:23.48 bitrate=1058.6kbits/s
           frame=  402 fps=113 q=15.0 size=    3035kB time=00:00:26.67 bitrate= 932.1kbits/s
           frame=  459 fps=113 q=16.0 size=    4041kB time=00:00:30.43 bitrate=1087.7kbits/s
           frame=  510 fps=103 q=2686559.0 Lsize=    5755kB time=00:00:33.93 bitrate=1389.3kbits/s

           video:5211kB audio:531kB subtitle:0 global headers:0kB muxing overhead 0.235111%
           [libx264 @ 02527c60] frame I:6     Avg QP:10.55  size: 25921
           [libx264 @ 02527c60] frame P:245   Avg QP:12.15  size: 14543
           [libx264 @ 02527c60] frame B:259   Avg QP:15.55  size:  6242
           [libx264 @ 02527c60] consecutive B-frames:  6.1% 73.7% 14.7%  5.5%
           [libx264 @ 02527c60] mb I  I16..4: 19.9%  6.2% 73.9%
           [libx264 @ 02527c60] mb P  I16..4:  6.0%  0.2% 12.0%  P16..4: 35.4%  9.6% 16.3%  7.0%  5.6%    skip: 7.8%
           [libx264 @ 02527c60] mb B  I16..4:  0.7%  0.0%  4.3%  B16..8: 27.6% 17.2% 17.0%  direct:17.3%  skip:15.9%  L0:39.4% L1:43.2%
           BI:17.4%
           [libx264 @ 02527c60] final ratefactor: 11.41
           [libx264 @ 02527c60] 8x8 transform intra:1.6% inter:4.0%
           [libx264 @ 02527c60] coded y,uvDC,uvAC intra: 93.0% 97.0% 94.9% inter: 58.4% 58.7% 50.6%
           [libx264 @ 02527c60] i16 v,h,dc,p: 15% 26% 54%  5%
           [libx264 @ 02527c60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 17% 39%  4%  4%  3%  1%  6%  9%
           [libx264 @ 02527c60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 34% 21%  4%  2%  2%  2%  2%  5%
           [libx264 @ 02527c60] i8c dc,h,v,p: 51% 24% 19%  6%
           [libx264 @ 02527c60] Weighted P-Frames: Y:4.1% UV:1.2%
           [libx264 @ 02527c60] ref P L0: 68.2%  9.8% 11.0%  5.6%  4.6%  0.8%  0.0%
           [libx264 @ 02527c60] ref B L0: 87.7%  8.0%  3.9%  0.4%
           [libx264 @ 02527c60] ref B L1: 97.8%  2.2%
           [libx264 @ 02527c60] kb/s:1255.36

    Lastly this is my node code fireing up FFMPEG. (I use the module Fluent-ffmpeg : https://github.com/schaermu/node-fluent-ffmpeg )

       var proc = new ffmpeg({ source: movie, nolog: true, timeout:15000})                        
           .addOptions(['-r 15','-b:v 128k','-c:v libx264','-x264opts level=41','-threads 4','-s 640x480','-map 0:v','-map 0:a:0','-c:a mp3','-b:a 160000','-ac 2','-f hls','-hls_time 10','-hls_list_size 6','-hls_wrap 18','-start_number 1 stream.m3u8'])
           .writeToStream(res, function(retcode, error){
               if (!error){
                   console.log('file has been converted succesfully',retcode .green);
               }else{
                   console.log('file conversion error',error .red);
               }
           });

    So to conclude this very long and code heavy question :

    I hope this does not come off as a lazy request, but could someone show/explain to me which FFMPEG settings could/should work on all platforms (modern browsers, Android and iOS) producing a stream of a static file which I can send to a HTML5 player.

    [EDIT] what I need if a generic option isn't available

    And if this is not possible as some posts might suggest, I would love to see a set of FFMPEG settings that get's the job done properly as far as mp4 streaming is concerned. (e.g encoding a streamable mp4).

    The streaming mp4 needs the following

    • A shifted moovAtom
    • It needs to be h264

    Thanks very much for your help !

  • FFMPEG - Images to Video

    24 mars 2014, par Mahesh
    ffmpeg -f image2 -r 15 -i images/img%03d.jpg -vcodec libx264 video.mp4

    I run this code with exec in php.

    I am not getting the output. The video.mp4 is blank.

    However if i modify this commade to something like this,

    ffmpeg -f image2 -i i.jpg -vcodec libx264 -t 15 video.mp4

    The video is running for 15 seconds.

    I tried -r 1/15. It is not working too.
    Where do i do the mistake ?

    <?php
    $command = "/usr/bin/ffmpeg -f image2 -r 15 -i images/img%03d.jpg -vcodec libx264 video.mp4";
    exec($command);
    ?>

    images folder has img001.jpg img002.jpg ... img005.jpg

    Array
    (
    [0] => ffmpeg version N-48645-gf3c9d8d Copyright (c) 2000-2013 the FFmpeg developers
    [1] =>   built on Jan  9 2013 04:08:32 with gcc 4.7 (Debian 4.7.2-5)
    [2] =>   configuration: --extra-cflags=-I../static/include --extra-ldflags='-L../static/lib -static' --enable-gpl --enable-version3 --enable-static --disable-shared --disable-debug --enable-runtime-cpudetect --disable-x11grab --enable-libmp3lame --enable-libx264 --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --disable-ffserver
    [3] =>   libavutil      52. 13.100 / 52. 13.100
    [4] =>   libavcodec     54. 86.100 / 54. 86.100
    [5] =>   libavformat    54. 59.106 / 54. 59.106
    [6] =>   libavdevice    54.  3.102 / 54.  3.102
    [7] =>   libavfilter     3. 32.100 /  3. 32.100
    [8] =>   libswscale      2.  1.103 /  2.  1.103
    [9] =>   libswresample   0. 17.102 /  0. 17.102
    [10] =>   libpostproc    52.  2.100 / 52.  2.100
    [11] => Input #0, image2, from 'images/img%03d.jpg':
    [12] =>   Duration: 00:00:45.00, start: 0.000000, bitrate: N/A
    [13] =>     Stream #0:0: Video: mjpeg, yuvj420p, 200x300 [SAR 1:1 DAR 2:3], 0.07 fps, 0.33 tbr, 0.07 tbn, 0.07 tbc
    [14] => [libx264 @ 0x3283080] using SAR=1/1
    [15] => [libx264 @ 0x3283080] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
    [16] => [libx264 @ 0x3283080] profile High, level 1.2
    [17] => [libx264 @ 0x3283080] 264 - core 129 r2230 1cffe9f - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - 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=6 lookahead_threads=1 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=1 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
    [18] => Output #0, mp4, to 'videos/video.mp4':
    [19] =>   Metadata:
    [20] =>     encoder         : Lavf54.59.106
    [21] =>     Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 200x300 [SAR 1:1 DAR 2:3], q=-1--1, 16384 tbn, 0.07 tbc
    [22] => Stream mapping:
    [23] =>   Stream #0:0 -> #0:0 (mjpeg -> libx264)
    [24] => Press [q] to stop, [?] for help
    [25] => Input stream #0:0 frame changed from size:200x300 fmt:yuvj420p to size:200x300 fmt:yuvj444p
    [26] => frame=    3 fps=0.0 q=-1.0 Lsize=      43kB time=00:00:15.00 bitrate=  23.2kbits/s
    [27] => video:42kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.912722%
    [28] => [libx264 @ 0x3283080] frame I:1     Avg QP:18.97  size: 13250
    [29] => [libx264 @ 0x3283080] frame P:2     Avg QP:18.68  size: 14368
    [30] => [libx264 @ 0x3283080] mb I  I16..4:  0.8% 81.4% 17.8%
    [31] => [libx264 @ 0x3283080] mb P  I16..4:  0.0% 84.8% 15.2%  P16..4:  0.0%  0.0%  0.0%  0.0%  0.0%    skip: 0.0%
    [32] => [libx264 @ 0x3283080] 8x8 transform intra:83.7%
    [33] => [libx264 @ 0x3283080] coded y,uvDC,uvAC intra: 96.4% 99.2% 97.6%
    [34] => [libx264 @ 0x3283080] i16 v,h,dc,p:  0%  0% 100%  0%
    [35] => [libx264 @ 0x3283080] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 13%  5%  8% 11%  8% 10%  7%
    [36] => [libx264 @ 0x3283080] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 14%  9%  7%  9% 13%  8%  7%  7%
    [37] => [libx264 @ 0x3283080] i8c dc,h,v,p: 45% 17% 26% 12%
    [38] => [libx264 @ 0x3283080] Weighted P-Frames: Y:0.0% UV:0.0%
    [39] => [libx264 @ 0x3283080] kb/s:7.46

    )

  • Error concatenating two files with ffmpeg ubuntu

    3 janvier 2014, par Dan Ramos

    The following command works fine in OS X :

    ffmpeg -f concat -i videos_playlist.txt -c copy final.mkv

    But when I try to run it on ubuntu i get the following :

    Unknown input format: 'concat'

    Any idea what I'm missing or a possible work around ?

    OS X build :

    ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug  8 2013 11:49:17 with Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)

    Ubuntu build :

    ffmpeg version 0.10.8-7:0.10.8-1~precise1 Copyright (c) 2000-2013 the FFmpeg developers
    built on Sep  5 2013 14:56:20 with gcc 4.6.3