Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (36)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (5595)

  • Playing videos on iPhone after video conversion using ffmpeg

    12 juillet 2013, par Shashi

    It is a backend API(developed in Ruby on Rails) which is used by iphone and android mobiles to upload the videos. API is converting uploaded videos to MP4 format. I am using paperclip-ffmpeg gem for video conversion at backend. Here is what I used :

    has_attached_file :video ,
                 :styles=>{
                   :medium=>{ :geometry=>"480x360",:format=>'mp4',:streaming => true,
                       :convert_options => { :output =>
                                           {
                                             :acodec => 'aac',
                                             :ac => 2 ,
                                             :strict => 'experimental',
                                             'b:a' => '160k',

                                             :vcodec => 'libx264',
                                             :preset => 'slow',
                                             'profile:v' => 'baseline',
                                             :level => '30',
                                             :maxrate => '10000000',
                                             :bufsize => '10000000',
                                             'b:v' => '750k',
                                             :f => 'mp4',
                                             :threads => '0'
                                           }
                                       } },
                     :thumb => { :geometry => "160x120", :format => 'jpg', :time => 2 },
                     :thumb_large => { :geometry => "520x390", :format => 'jpg', :time => 2}
                   }, :processors => [:ffmpeg, :qtfaststart],
           :path => path/to/store/video,
           :url => url/of/video

    Problems I am facing are :

    When user uploads videos from android mobile it works perfect on android but does not play on iPhone. One more strange thing happens when user upload videos from iPhone, then it play perfect just after video upload, but after some time(2 or 3 hours) it stops to play those videos.

    How can I get rid of both these issues ? Any suggestion would be appreciated. Thanks

    @Michael, here is the detailed log for the video conversion uploaded by android mobile

    ffmpeg version git-2013-05-28-ced0307 Copyright (c) 2000-2013 the FFmpeg developers
     built on May 28 2013 07:45:18 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
     configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3
     libavutil      52. 34.100 / 52. 34.100
     libavcodec     55. 12.100 / 55. 12.100
     libavformat    55.  7.100 / 55.  7.100
     libavdevice    55.  1.101 / 55.  1.101
     libavfilter     3. 72.100 /  3. 72.100
     libswscale      2.  3.100 /  2.  3.100
     libswresample   0. 17.102 /  0. 17.102
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l':
     Metadata:
       major_brand     : isom
       minor_version   : 0
       compatible_brands: isom3gp4
       creation_time   : 2013-06-19 15:39:02
     Duration: 00:00:25.88, start: 0.000000, bitrate: 16700 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 16829 kb/s, 29.75 fps, 30 tbr, 90k tbn, 180k tbc
       Metadata:
         rotate          : 90
         creation_time   : 2013-06-19 15:39:02
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 122 kb/s
       Metadata:
         creation_time   : 2013-06-19 15:39:02
         handler_name    : SoundHandle
    [libx264 @ 0x2613c00] using cpu capabilities: MMX2 SSE2Fast SSEMisalign LZCNT
    [libx264 @ 0x2613c00] profile Constrained Baseline, level 3.0
    [libx264 @ 0x2613c00] 264 - core 133 r2 a3ac64b - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 ref=5 deblock=1:0:0 analyse=0x1:0x111 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=abr mbtree=1 bitrate=750 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=10000 vbv_bufsize=10000 nal_hrd=none ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 0
       compatible_brands: isom3gp4
       encoder         : Lavf55.7.100
       Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x360, q=-1--1, 750 kb/s, 15360 tbn, 30 tbc
       Metadata:
         rotate          : 90
         creation_time   : 2013-06-19 15:39:02
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 160 kb/s
       Metadata:
         creation_time   : 2013-06-19 15:39:02
         handler_name    : SoundHandle
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (aac -> aac)
    Press [q] to stop, [?] for help
    frame=  765 fps= 19 q=-1.0 Lsize=    2621kB time=00:00:25.88 bitrate= 829.4kbits/s dup=7 drop=0    
    video:2093kB audio:504kB subtitle:0 global headers:0kB muxing overhead 0.878228%
    [libx264 @ 0x2613c00] frame I:4     Avg QP:25.48  size: 11731
    [libx264 @ 0x2613c00] frame P:761   Avg QP:26.71  size:  2754
    [libx264 @ 0x2613c00] mb I  I16..4: 33.0%  0.0% 67.0%
    [libx264 @ 0x2613c00] mb P  I16..4:  2.1%  0.0%  0.9%  P16..4: 47.2%  9.5%  3.4%  0.0%  0.0%    skip:36.9%
    [libx264 @ 0x2613c00] final ratefactor: 23.58
    [libx264 @ 0x2613c00] coded y,uvDC,uvAC intra: 31.9% 54.5% 9.5% inter: 11.9% 24.4% 0.5%
    [libx264 @ 0x2613c00] i16 v,h,dc,p: 25% 33%  7% 34%
    [libx264 @ 0x2613c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 14%  9% 14% 10% 10% 11%  8%  7%
    [libx264 @ 0x2613c00] i8c dc,h,v,p: 50% 25% 17%  9%
    [libx264 @ 0x2613c00] ref P L0: 67.6% 15.2% 10.1%  3.9%  3.2%
    [libx264 @ 0x2613c00] kb/s:672.30
    ffmpeg version git-2013-05-28-ced0307 Copyright (c) 2000-2013 the FFmpeg developers
     built on May 28 2013 07:45:18 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
     configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3
     libavutil      52. 34.100 / 52. 34.100
     libavcodec     55. 12.100 / 55. 12.100
     libavformat    55.  7.100 / 55.  7.100
     libavdevice    55.  1.101 / 55.  1.101
     libavfilter     3. 72.100 /  3. 72.100 octet-stream\r\n" name="video" tempfile=#tmp/RackMultipart20130620-28711-187049m>>
     libswscale      2.  3.100 /  2.  3.100
     libswresample   0. 17.102 /  0. 17.102
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.7.100
     Duration: 00:00:25.91, start: 0.021333, bitrate: 828 kb/s
       Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 672 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
       Metadata:
         rotate          : 90
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s
       Metadata:
         handler_name    : SoundHandler
    [libx264 @ 0x326d820] using cpu capabilities: MMX2 SSE2Fast SSEMisalign LZCNT
    [libx264 @ 0x326d820] profile Constrained Baseline, level 3.0
    [libx264 @ 0x326d820] 264 - core 133 r2 a3ac64b - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 ref=5 deblock=1:0:0 analyse=0x1:0x111 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=abr mbtree=1 bitrate=750 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=10000 vbv_bufsize=10000 nal_hrd=none ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-130rd1i.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.7.100
       Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 480x270, q=-1--1, 750 kb/s, 15360 tbn, 30 tbc
       Metadata:
         rotate          : 90
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 160 kb/s
       Metadata:
         handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (aac -> aac)
    Press [q] to stop, [?] for help
    frame=  766 fps= 38 q=-1.0 Lsize=    2666kB time=00:00:25.90 bitrate= 843.2kbits/s dup=1 drop=0    
    video:2138kB audio:505kB subtitle:0 global headers:0kB muxing overhead 0.863633%
    [libx264 @ 0x326d820] frame I:4     Avg QP:20.82  size: 11283
    [libx264 @ 0x326d820] frame P:762   Avg QP:22.03  size:  2813
    [libx264 @ 0x326d820] mb I  I16..4: 19.9%  0.0% 80.1%
    [libx264 @ 0x326d820] mb P  I16..4:  1.7%  0.0%  1.1%  P16..4: 49.3% 20.6%  7.0%  0.0%  0.0%    skip:20.3%
    [libx264 @ 0x326d820] final ratefactor: 19.24
    [libx264 @ 0x326d820] coded y,uvDC,uvAC intra: 43.4% 76.7% 29.0% inter: 23.0% 44.6% 1.7%
    [libx264 @ 0x326d820] i16 v,h,dc,p: 23% 29%  9% 39%
    [libx264 @ 0x326d820] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 21%  9% 11% 10% 10% 11%  8%  8%
    [libx264 @ 0x326d820] i8c dc,h,v,p: 44% 26% 18% 12%
    [libx264 @ 0x326d820] ref P L0: 74.0% 13.1%  7.7%  3.0%  2.1%
    [libx264 @ 0x326d820] kb/s:685.81
    ffmpeg version git-2013-05-28-ced0307 Copyright (c) 2000-2013 the FFmpeg developers
     built on May 28 2013 07:45:18 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
     configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3
     libavutil      52. 34.100 / 52. 34.100
     libavcodec     55. 12.100 / 55. 12.100
     libavformat    55.  7.100 / 55.  7.100
     libavdevice    55.  1.101 / 55.  1.101
     libavfilter     3. 72.100 /  3. 72.100
     libswscale      2.  3.100 /  2.  3.100
     libswresample   0. 17.102 /  0. 17.102
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.7.100
     Duration: 00:00:25.91, start: 0.021333, bitrate: 828 kb/s
       Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 672 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
       Metadata:
         rotate          : 90
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s
       Metadata:
         handler_name    : SoundHandler
    Output #0, image2, to '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-1bdslpu.jpg':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.7.100
       Stream #0:0(eng): Video: mjpeg, yuvj420p, 160x90, q=2-31, 200 kb/s, 90k tbn, 30 tbc
       Metadata:
         rotate          : 90
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> mjpeg)
    Press [q] to stop, [?] for help
    frame=    1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A dup=0 drop=57    
    video:4kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.479303%
    ffmpeg version git-2013-05-28-ced0307 Copyright (c) 2000-2013 the FFmpeg developers
     built on May 28 2013 07:45:18 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
     configuration: --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3
     libavutil      52. 34.100 / 52. 34.100
     libavcodec     55. 12.100 / 55. 12.100
     libavformat    55.  7.100 / 55.  7.100
     libavdevice    55.  1.101 / 55.  1.101
     libavfilter     3. 72.100 /  3. 72.100
     libswscale      2.  3.100 /  2.  3.100
     libswresample   0. 17.102 /  0. 17.102
     libpostproc    52.  3.100 / 52.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.7.100
     Duration: 00:00:25.91, start: 0.021333, bitrate: 828 kb/s
       Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 672 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
       Metadata:
         rotate          : 90
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s
       Metadata:
         handler_name    : SoundHandler
    Output #0, image2, to '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-1vp4al6.jpg':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.7.100
       Stream #0:0(eng): Video: mjpeg, yuvj420p, 520x292, q=2-31, 200 kb/s, 90k tbn, 30 tbc
       Metadata:
         rotate          : 90
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> mjpeg)
    Press [q] to stop, [?] for help
    frame=    1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.03 bitrate=N/A dup=0 drop=57    
    video:19kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.113677%


    Started POST "/api/v1/videos/create" for 69.42.0.13 at 2013-06-20 09:41:50 -0500
    Command :: file -b --mime '/tmp/RackMultipart20130620-28711-187049m'
    [paperclip] [ffmpeg] ffmpeg -i "/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l" 2>&1
    [paperclip] [ffmpeg] Command Success
    [paperclip] [ffmpeg] Making...
    [paperclip] [ffmpeg] Building Destination File: 'RackMultipart20130620-28711-187049m20130620-28711-2x7b7l' + 'mp4'
    [paperclip] [ffmpeg] Destination File Built
    [paperclip] [ffmpeg] Adding Geometry
    [paperclip] [ffmpeg] Extracting Target Dimensions
    [paperclip] [ffmpeg] Target Size is Available
    [paperclip] [ffmpeg] Keeping Aspect Ratio
    [paperclip] [ffmpeg] Resize
    [paperclip] [ffmpeg] Convert Options: 640x360
    [paperclip] [ffmpeg] Adding Format
    [paperclip] [ffmpeg] Adding Source
    [paperclip] [ffmpeg] Building Parameters
    [paperclip] [ffmpeg] -i :source -acodec aac -ac 2 -strict experimental -b:a 160k -vcodec libx264 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b:v 750k -f mp4 -threads 0 -s 640x360 -y :dest
    Command :: ffmpeg -i '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l' -acodec aac -ac 2 -strict experimental -b:a 160k -vcodec libx264 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b:v 750k -f mp4 -threads 0 -s 640x360 -y '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p.mp4'
    [paperclip] [qt-faststart] :source :dest
    Command :: qt-faststart '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p.mp4' '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl.mp4'
    [paperclip] [ffmpeg] ffmpeg -i "/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4" 2>&1
    [paperclip] [ffmpeg] Command Success
    [paperclip] [ffmpeg] Making...
    [paperclip] [ffmpeg] Building Destination File: 'RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06' + 'mp4'
    [paperclip] [ffmpeg] Destination File Built
    [paperclip] [ffmpeg] Adding Geometry
    [paperclip] [ffmpeg] Extracting Target Dimensions
    [paperclip] [ffmpeg] Target Size is Available
    [paperclip] [ffmpeg] Keeping Aspect Ratio
    [paperclip] [ffmpeg] Resize
    [paperclip] [ffmpeg] Convert Options: 480x270
    [paperclip] [ffmpeg] Adding Format
    [paperclip] [ffmpeg] Adding Source
    [paperclip] [ffmpeg] Building Parameters
    [paperclip] [ffmpeg] -i :source -acodec aac -ac 2 -strict experimental -b:a 160k -vcodec libx264 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b:v 750k -f mp4 -threads 0 -s 480x270 -y :dest
    Command :: ffmpeg -i '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4' -acodec aac -ac 2 -strict experimental -b:a 160k -vcodec libx264 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -b:v 750k -f mp4 -threads 0 -s 480x270 -y '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-130rd1i.mp4'
    [paperclip] [qt-faststart] :source :dest
    Command :: qt-faststart '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-130rd1i.mp4' '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-130rd1i20130620-28711-snde6v.mp4'
    [paperclip] [ffmpeg] ffmpeg -i "/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4" 2>&1
    [paperclip] [ffmpeg] Command Success
    [paperclip] [ffmpeg] Making...
    [paperclip] [ffmpeg] Building Destination File: 'RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06' + 'jpg'
    [paperclip] [ffmpeg] Destination File Built
    [paperclip] [ffmpeg] Adding Geometry
    [paperclip] [ffmpeg] Extracting Target Dimensions
    [paperclip] [ffmpeg] Target Size is Available
    [paperclip] [ffmpeg] Keeping Aspect Ratio
    [paperclip] [ffmpeg] Resize
    [paperclip] [ffmpeg] Convert Options: 160x90
    [paperclip] [ffmpeg] Adding Format
    [paperclip] [ffmpeg] Adding Source
    [paperclip] [ffmpeg] Building Parameters
    [paperclip] [ffmpeg] -ss 2 -i :source -s 160x90 -vframes 1 -f image2 -y :dest
    Command :: ffmpeg -ss 2 -i '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4' -s 160x90 -vframes 1 -f image2 -y '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-1bdslpu.jpg'
    [paperclip] [ffmpeg] ffmpeg -i "/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4" 2>&1
    [paperclip] [ffmpeg] Command Success
    [paperclip] [ffmpeg] Making...
    [paperclip] [ffmpeg] Building Destination File: 'RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06' + 'jpg'
    [paperclip] [ffmpeg] Destination File Built
    [paperclip] [ffmpeg] Adding Geometry
    [paperclip] [ffmpeg] Extracting Target Dimensions
    [paperclip] [ffmpeg] Target Size is Available
    [paperclip] [ffmpeg] Keeping Aspect Ratio
    [paperclip] [ffmpeg] Resize
    [paperclip] [ffmpeg] Convert Options: 520x292
    [paperclip] [ffmpeg] Adding Format
    [paperclip] [ffmpeg] Adding Source
    [paperclip] [ffmpeg] Building Parameters
    [paperclip] [ffmpeg] -ss 2 -i :source -s 520x292 -vframes 1 -f image2 -y :dest
    Command :: ffmpeg -ss 2 -i '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi06.mp4' -s 520x292 -vframes 1 -f image2 -y '/tmp/RackMultipart20130620-28711-187049m20130620-28711-2x7b7l20130620-28711-uibd1p20130620-28711-1tgemjl20130620-28711-15qsi0620130620-28711-1vp4al6.jpg'
    [paperclip] Saving attachments.
  • Rails : Encoder error when converting video using FFMPEG on Heroku

    2 janvier 2013, par andmcgregor

    I'm trying to upload a video and convert the file to mp4 and reduce the file size using the paperclip-ffmpeg and paperclip gems. Everything works fine running a local server and I'm only getting this problem on heroku. I have ffmpeg installed in vendor/ffmpeg/ (I followed these steps : https://gist.github.com/3963576). Here is the code I've got and the error I'm getting :

    models/video.rb :

    class Video < ActiveRecord::Base
     attr_accessible :content, :user_id, :video
     has_attached_file :video , :styles => {
       :medium => { :geometry => "500x500", :format => 'mp4',
           :convert_options => { :output => { :vcodec => 'libx264',
           :b => '1000k', :bt => '200k',
           :acodec => 'libfaac', :ab => '56k', :ac => 2 } } }
     }, :processors => [:ffmpeg]

     belongs_to :user
    end

    when I run heroku logs :

    2013-01-02T00:38:20+00:00 app[web.1]: Started POST "/videos" for 101.170.255.251 at 2013-01-02 00:38:20 +0000
    2013-01-02T00:38:20+00:00 app[web.1]: Processing by VideosController#create as HTML
    2013-01-02T00:38:20+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "authenticity_token"=>"X0IKts46TF8aFvEb1I/szFo/28omlVBXIIyJ3APz3YA=", "video"=>{"content"=>"", "video"=>#quicktime\r\n", @tempfile=#tmp/RackMultipart20130102-2-1ch9zcp>>}, "commit"=>"Post"}
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] ffmpeg -i "/tmp/sample20130102-2-4j5sgh.mov" 2>&1
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Resize
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Command Success
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Making...
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Building Destination File: 'sample20130102-2-4j5sgh' + 'mp4'
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Destination File Built
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Adding Source
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Adding Geometry
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Convert Options: 500x280
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Adding Format
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] -i :source -y -vcodec libx264 -b 1000k -bt 200k -acodec libfaac -ab 56k -ac 2 -s 500x280 :dest
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Extracting Target Dimensions
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Building Parameters
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Target Size is Available
    2013-01-02T00:38:20+00:00 app[web.1]: [paperclip] [ffmpeg] Keeping Aspect Ratio
    2013-01-02T00:38:20+00:00 app[web.1]: Command :: ffmpeg -i '/tmp/sample20130102-2-4j5sgh.mov' -y -vcodec libx264 -b 1000k -bt 200k -acodec libfaac -ab 56k -ac 2 -s 500x280 '/tmp/sample20130102-2-4j5sgh20130102-2-1mr35ix.mp4'
    2013-01-02T00:38:20+00:00 app[web.1]: ffmpeg version git-2013-01-01-d079d1d Copyright (c) 2000-2012 the FFmpeg developers
    2013-01-02T00:38:20+00:00 app[web.1]:   built on Jan  1 2013 12:59:49 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
    2013-01-02T00:38:20+00:00 app[web.1]:   configuration: --enable-shared --disable-asm --prefix=/app/vendor/ffmpeg
    2013-01-02T00:38:20+00:00 app[web.1]:   libavfilter     3. 30.102 /  3. 30.102
    2013-01-02T00:38:20+00:00 app[web.1]:   libavcodec     54. 85.100 / 54. 85.100
    2013-01-02T00:38:20+00:00 app[web.1]:   libavdevice    54.  3.102 / 54.  3.102
    2013-01-02T00:38:20+00:00 app[web.1]:   libavutil      52. 13.100 / 52. 13.100
    2013-01-02T00:38:20+00:00 app[web.1]:   libswresample   0. 17.102 /  0. 17.102
    2013-01-02T00:38:20+00:00 app[web.1]:   libswscale      2.  1.103 /  2.  1.103
    2013-01-02T00:38:20+00:00 app[web.1]:   libavformat    54. 58.100 / 54. 58.100
    2013-01-02T00:38:21+00:00 app[web.1]:     creation_time   : 2013-01-02 00:36:58
    2013-01-02T00:38:21+00:00 app[web.1]:     minor_version   : 0
    2013-01-02T00:38:21+00:00 app[web.1]:     major_brand     : qt  
    2013-01-02T00:38:21+00:00 app[web.1]: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/sample20130102-2-4j5sgh.mov':
    2013-01-02T00:38:21+00:00 app[web.1]:     model           : iPhone 4
    2013-01-02T00:38:21+00:00 app[web.1]:     compatible_brands: qt  
    2013-01-02T00:38:21+00:00 app[web.1]:     model-eng       : iPhone 4
    2013-01-02T00:38:21+00:00 app[web.1]:     make-eng        : Apple
    2013-01-02T00:38:21+00:00 app[web.1]:     date-eng        : 2012-12-28T00:39:34+1100
    2013-01-02T00:38:21+00:00 app[web.1]:     encoder         : 6.0
    2013-01-02T00:38:21+00:00 app[web.1]:     encoder-eng     : 6.0
    2013-01-02T00:38:21+00:00 app[web.1]:   Duration: 00:00:00.03, start: 0.000000, bitrate: 9465 kb/s
    2013-01-02T00:38:21+00:00 app[web.1]:     Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 75 kb/s
    2013-01-02T00:38:21+00:00 app[web.1]:     date            : 2012-12-28T00:39:34+1100
    2013-01-02T00:38:21+00:00 app[web.1]:       creation_time   : 2013-01-02 00:36:58
    2013-01-02T00:38:21+00:00 app[web.1]:     make            : Apple
    2013-01-02T00:38:21+00:00 app[web.1]:   Metadata:
    2013-01-02T00:38:21+00:00 app[web.1]:     Metadata:
    2013-01-02T00:38:21+00:00 app[web.1]:       handler_name    : Core Media Data Handler
    2013-01-02T00:38:21+00:00 app[web.1]:     Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 8605 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc
    2013-01-02T00:38:21+00:00 app[web.1]:     Metadata:
    2013-01-02T00:38:21+00:00 app[web.1]:       handler_name    : Core Media Data Handler
    2013-01-02T00:38:21+00:00 app[web.1]: Unknown encoder 'libx264'
    2013-01-02T00:38:21+00:00 app[web.1]: Please use -b:a or -b:v, -b is ambiguous
    2013-01-02T00:38:21+00:00 app[web.1]:       creation_time   : 2013-01-02 00:36:58
    2013-01-02T00:38:21+00:00 app[web.1]: [paperclip] An error was received while processing: #
    2013-01-02T00:38:21+00:00 app[web.1]:   Rendered videos/new.html.erb within layouts/application (3.2ms)
    2013-01-02T00:38:21+00:00 heroku[router]: at=info method=POST path=/videos host=stark-sea-5654.herokuapp.com fwd=101.170.255.251 dyno=web.1 queue=0 wait=0ms connect=3ms service=3685ms status=200 bytes=1878
    2013-01-02T00:38:21+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.0ms)
    2013-01-02T00:38:21+00:00 app[web.1]: Completed 200 OK in 342ms (Views: 124.8ms | ActiveRecord: 10.4ms)
    2013-01-02T00:38:21+00:00 app[web.1]:   Rendered layouts/_header.html.erb (1.2ms)

    Everything works fine until the message Unknown encoder 'libx264' so I'm thinking it's something to do with ffmpeg perhaps ?

  • Do FFMPEG H264 compression presets affect the video quality ? [closed]

    14 novembre 2013, par angainor

    I am definitely not an FFMPEG expert, but according to this document :

    A preset is a collection of options that will provide a certain encoding speed to compression ratio. A slower preset will provide better compression (compression is quality per filesize). General usage is to use the slowest preset that you have patience for. Current presets in descending order of speed are : ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo.

    So as I understand it, the ffmpeg presets should not affect the quality of the output video, but should only determine the compression ratio / output file size. Consequently, assuming the same quality setting (I will use -crf 24), the files should be larger for e.g., faster preset than for the slower preset. That would be the only reason to use a slower preset - to get a smaller file size.

    This turns out not to be the case. I encode a HD stream from a handycam using different presets, everything else is the same :

    ffmpeg -y -i "$fname" -vf yadif=1,scale=-1:720 -acodec aac -ab 128k -ac 2 -strict experimental -vcodec libx264 -vpre slow -threads 2 -crf 24 "$outp"

    Surprisingly, I get the smallest file size for veryfast preset ! For example :

    • slower : output bitrate 3500kbps, encoding speed 17 fps, file size 29MB
    • veryfast : output bitrate 3050kbps, encoding speed 34 fps, file size 25MB

    Which I think is not as it should be. Now I wonder, is that due to a worse encoding quality for the veryfast preset ? Or in my case using slower does simply not make sense for some reason ?