Recherche avancée

Médias (0)

Mot : - Tags -/organisation

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (39)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

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

  • ANNEXE : Les extensions, plugins SPIP des canaux

    11 février 2010, par

    Un plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
    Les extensions que MediaSPIP nécessite pour fonctionner
    Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
    Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...)

Sur d’autres sites (6852)

  • ffmpeg command for faster encoding at a decent bitrate with smaller file size

    14 septembre 2016, par Blair Holmes

    I’m currently using an implementation of ffmpeg on my android app. I’m allowing users to take short videos within my app and then when they upload them to the server, I’m crunching them down with ffmpeg to decrease file size so they’re not passing huge amounts of data over the wire.

    the problem is, it’s taking forever to encode the videos on the android device. These videos usually aren’t longer than 45 seconds and can take 20 minutes to encode. I’ve done some playing around with different switches / parameters on the ffmpeg command line and I now have it at a more comfortable time, but the file sizes are significantly bigger. I’m just not sure what codec I should use (fastest encoding but with decent quality output), how ffmpeg handles changing size (aspect ratio) in terms of speed of encoding etc.

    Here are the two commands I’ve been using. This first one outputs the file size / quality that I want, but it just takes way too long to encode, not to mention it makes my device get really hot while it’s encoding for so long :

    ffmpeg -i input.mp4 -b:v 1024k -c:a copy -vf scale=960:540 output.mp4

    I’ve tweaked the bitrate some on that as well as changed the scale to a smaller size, but I don’t want to have to make the videos really small (in terms of scale) to accomplish a faster encoding. this second command goes a lot faster but makes the file size significantly bigger :

    ffmpeg -i input.mp4 -vcodec libx264 -preset fast -c:a copy -s 960x540 output.mp4

    I’d like to find a happy medium (smaller file size but faster encoding) keeping the video scale size close to the original. ffmpeg just has so many different parameters / switches that it’s difficult to wrap my head around what I should be doing.

    EDIT : adding ffmpeg output.

    ffmpeg -i input.mp4 -vcodec libx264 -crf 30 -preset veryfast -c:a copy -s 960x540 output.mp4

       09-13 11:06:28.330 10881-10881/someapp D/home: ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
    09-13 11:06:28.330 10881-10881/someapp D/home:   built with gcc 4.8 (GCC)
    09-13 11:06:28.331 10881-10881/someapp D/home:   configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    09-13 11:06:28.331 10881-10881/someapp D/home:   libavutil      55. 17.103 / 55. 17.103
    09-13 11:06:28.331 10881-10881/someapp D/home:   libavcodec     57. 24.102 / 57. 24.102
    09-13 11:06:28.331 10881-10881/someapp D/home:   libavformat    57. 25.100 / 57. 25.100
    09-13 11:06:28.331 10881-10881/someapp D/home:   libavdevice    57.  0.101 / 57.  0.101
    09-13 11:06:28.331 10881-10881/someapp D/home:   libavfilter     6. 31.100 /  6. 31.100
    09-13 11:06:28.331 10881-10881/someapp D/home:   libswscale      4.  0.100 /  4.  0.100
    09-13 11:06:28.331 10881-10881/someapp D/home:   libswresample   2.  0.101 /  2.  0.101
    09-13 11:06:28.331 10881-10881/someapp D/home:   libpostproc    54.  0.100 / 54.  0.100
    09-13 11:06:28.430 10881-10881/someapp D/home: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/ExpeditionSpot/Videos/20160913110411.mp4':
    09-13 11:06:28.430 10881-10881/someapp D/home:   Metadata:
    09-13 11:06:28.430 10881-10881/someapp D/home:     major_brand     : mp42
    09-13 11:06:28.430 10881-10881/someapp D/home:     minor_version   : 0
    09-13 11:06:28.430 10881-10881/someapp D/home:     compatible_brands: isommp42
    09-13 11:06:28.430 10881-10881/someapp D/home:     creation_time   : 2016-09-13 17:04:33
    09-13 11:06:28.430 10881-10881/someapp D/home:     com.android.version: 6.0.1
    09-13 11:06:28.430 10881-10881/someapp D/home:   Duration: 00:00:19.41, start: 0.000000, bitrate: 20222 kb/s
    09-13 11:06:28.430 10881-10881/someapp D/home:     Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 19963 kb/s, SAR 1:1 DAR 16:9, 30.03 fps, 30 tbr, 90k tbn, 180k tbc (default)
    09-13 11:06:28.430 10881-10881/someapp D/home:     Metadata:
    09-13 11:06:28.430 10881-10881/someapp D/home:       creation_time   : 2016-09-13 17:04:33
    09-13 11:06:28.430 10881-10881/someapp D/home:       handler_name    : VideoHandle
    09-13 11:06:28.431 10881-10881/someapp D/home:     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
    09-13 11:06:28.431 10881-10881/someapp D/home:     Metadata:
    09-13 11:06:28.431 10881-10881/someapp D/home:       creation_time   : 2016-09-13 17:04:33
    09-13 11:06:28.431 10881-10881/someapp D/home:       handler_name    : SoundHandle
    09-13 11:06:28.448 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] using SAR=1/1
    09-13 11:06:28.448 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] using cpu capabilities: none!
    09-13 11:06:28.516 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] profile High, level 3.1
    09-13 11:06:28.516 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 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=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=27.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    09-13 11:06:28.532 10881-10881/someapp D/home: Output #0, mp4, to '/storage/emulated/0/ExpeditionSpot/.tmp/small-20160913110411.mp4':
    09-13 11:06:28.532 10881-10881/someapp D/home:   Metadata:
    09-13 11:06:28.532 10881-10881/someapp D/home:     major_brand     : mp42
    09-13 11:06:28.533 10881-10881/someapp D/home:     minor_version   : 0
    09-13 11:06:28.533 10881-10881/someapp D/home:     compatible_brands: isommp42
    09-13 11:06:28.533 10881-10881/someapp D/home:     com.android.version: 6.0.1
    09-13 11:06:28.533 10881-10881/someapp D/home:     encoder         : Lavf57.25.100
    09-13 11:06:28.533 10881-10881/someapp D/home:     Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 960x540 [SAR 1:1 DAR 16:9], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
    09-13 11:06:28.533 10881-10881/someapp D/home:     Metadata:
    09-13 11:06:28.533 10881-10881/someapp D/home:       creation_time   : 2016-09-13 17:04:33
    09-13 11:06:28.533 10881-10881/someapp D/home:       handler_name    : VideoHandle
    09-13 11:06:28.533 10881-10881/someapp D/home:       encoder         : Lavc57.24.102 libx264
    09-13 11:06:28.533 10881-10881/someapp D/home:     Side data:
    09-13 11:06:28.533 10881-10881/someapp D/home:       unknown side data type 10 (24 bytes)
    09-13 11:06:28.533 10881-10881/someapp D/home:     Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 96 kb/s (default)
    09-13 11:06:28.533 10881-10881/someapp D/home:     Metadata:
    09-13 11:06:28.533 10881-10881/someapp D/home:       creation_time   : 2016-09-13 17:04:33
    09-13 11:06:28.533 10881-10881/someapp D/home:       handler_name    : SoundHandle
    09-13 11:06:28.533 10881-10881/someapp D/home: Stream mapping:
    09-13 11:06:28.533 10881-10881/someapp D/home:   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    09-13 11:06:28.533 10881-10881/someapp D/home:   Stream #0:1 -> #0:1 (copy)
    09-13 11:06:28.533 10881-10881/someapp D/home: Press [q] to stop, [?] for help
    09-13 11:06:29.102 10881-10881/someapp D/home: frame=    7 fps=0.0 q=0.0 size=       0kB time=00:00:01.04 bitrate=   0.4kbits/s speed=2.08x    
    09-13 11:06:29.699 10881-10881/someapp D/home: frame=   16 fps= 15 q=0.0 size=       0kB time=00:00:01.04 bitrate=   0.4kbits/s speed=0.998x    
    ....
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] frame I:3     Avg QP:26.83  size: 21896
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] frame P:279   Avg QP:28.76  size:  5859
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] frame B:296   Avg QP:29.93  size:   863
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] consecutive B-frames: 18.3% 32.2% 23.9% 25.6%
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] mb I  I16..4: 16.9% 54.2% 28.9%
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] mb P  I16..4:  7.7%  9.1%  0.4%  P16..4: 27.5% 11.1%  4.0%  0.0%  0.0%    skip:40.1%
    09-13 11:07:12.674 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] mb B  I16..4:  0.8%  0.6%  0.0%  B16..8: 10.9%  2.4%  0.1%  direct: 1.8%  skip:83.5%  L0:35.8% L1:54.2% BI:10.0%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] 8x8 transform intra:52.0% inter:41.3%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] coded y,uvDC,uvAC intra: 28.9% 26.0% 2.1% inter: 6.4% 5.0% 0.0%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] i16 v,h,dc,p: 57% 20% 17%  6%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 23% 34%  1%  2%  1%  3%  2%  2%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 21% 17%  2%  7%  4%  6%  4%  4%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] i8c dc,h,v,p: 59% 16% 23%  2%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] Weighted P-Frames: Y:16.8% UV:4.7%
    09-13 11:07:12.675 10881-10881/someapp D/home: [libx264 @ 0xf71c4400] kb/s:812.09
  • FFMPEG reconnect input if error

    15 septembre 2016, par Alkitab Suhano

    I’m finding a way to make ffmpeg reconnect if any error occurered. For my case I restream from hls to rtmp for example

    ffmpeg -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2000 -i "input" -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -strict -2 -f flv rtmp://output

    FFMpeg always disconnected every 10 minutes. I searched on google and can’t find stable solution for this job.

    P.S. OS is linux (Centos 7 64bit)

    Thank you,
    Akitab

  • Run ffmpeg without outputting configuration information ?

    28 mars 2014, par Matt Joiner

    I'm invoking ffmpeg with subprocess.Popen, and trying to capture the stderr output and write it to logging.

    args = ['ffmpeg', '-i', path]
    if start:
       args += ['-ss', start]
    if end:
       args += ['-t', end]
    args += [
       '-vcodec', 'copy',
       '-acodec', 'copy',
       '-scodec', 'copy',
       '-f', 'mpegts',
       '-y', '/dev/stdout']
    self.child = subprocess.Popen(
       args,
       stdin=open(os.devnull, 'rb'),
       stdout=subprocess.PIPE,
       stderr=subprocess.PIPE)

    ffmpeg generates a lot of configuration information like the following :

    FFmpeg version 0.6.2-4:0.6.2-1ubuntu1,
    Copyright (c) 2000-2010 the Libav
    developers built on Mar 22 2011
    15:55:04 with gcc 4.5.2
    configuration :
    —extra-version=4:0.6.2-1ubuntu1 —prefix=/usr —enable-avfilter —enable-avfilter-lavf —enable-vdpau —enable-bzlib —enable-libgsm —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-libvorbis —enable-pthreads —enable-zlib —enable-libvpx —disable-stripping —enable-runtime-cpudetect —enable-vaapi —enable-gpl —enable-postproc —enable-swscale —enable-x11grab —enable-libdc1394 —enable-shared —disable-static WARNING : library configuration
    mismatch libavutil configuration :
    —extra-version=4:0.6.2-1ubuntu2 —prefix=/usr —enable-avfilter —enable-avfilter-lavf —enable-vdpau —enable-bzlib —enable-libdirac —enable-libgsm —enable-libopenjpeg —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-libvorbis —enable-pthreads —enable-zlib —enable-libvpx —disable-stripping —enable-runtime-cpudetect —enable-vaapi —enable-libopenjpeg —enable-gpl —enable-postproc —enable-swscale —enable-x11grab —enable-libfaad —enable-libdirac —enable-libfaad —enable-libmp3lame —enable-librtmp —enable-libx264 —enable-libxvid —enable-libdc1394 —enable-shared —disable-static libavcodec configuration :
    —extra-version=4:0.6.2-1ubuntu2 —prefix=/usr —enable-avfilter —enable-avfilter-lavf —enable-vdpau —enable-bzlib —enable-libdirac —enable-libgsm —enable-libopenjpeg —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-libvorbis —enable-pthreads —enable-zlib —enable-libvpx —disable-stripping —enable-runtime-cpudetect —enable-vaapi —enable-libopenjpeg —enable-gpl —enable-postproc —enable-swscale —enable-x11grab —enable-libfaad —enable-libdirac —enable-libfaad —enable-libmp3lame —enable-librtmp —enable-libx264 —enable-libxvid —enable-libdc1394 —enable-shared —disable-static libavutil 50.15. 1 / 50.15. 1
    libavcodec 52.72. 2 / 52.72. 2
    libavformat 52.64. 2 / 52.64. 2
    libavdevice 52. 2. 0 / 52. 2. 0
    libavfilter 1.19. 0 / 1.19. 0
    libswscale 0.11. 0 / 0.11. 0
    libpostproc 51. 2. 0 / 51. 2. 0

    Prior to finally outputting the stuff I'd like to log :

    Seems stream 0 codec frame rate
    differs from container frame rate :
    47.95 (66893/1395) -> 23.98 (66893/2790) At least one output file
    must be specified

    Is there an option to prevent this excessive output ? Should I be doing it differently ?