Recherche avancée

Médias (91)

Autres articles (77)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (8953)

  • Video cropping with FFMpeg on Android is very slow [duplicate]

    7 avril 2017, par Rami Jemli

    This question already has an answer here :

    What i tried :

    I am trying to implement video cropping on android using FFMpeg (ffmpeg-android).

    Here is the command I use :

    String[] complexCommand = {"-i", inputPath, "-strict", "experimental", "-vf", "crop=1080:1080:0:0", "-threads", "5", "-c:v", "libx264", "-preset", "ultrafast", filePath};

    The problem :

    Video cropping is working, but even though I am using all needed options to make the operation fast, it still takes a 1min long video the same duration to crop.

    How can I achieve better speeds ?
    Will I need to implement video cropping on server instead of device ?
    Is there another way to implement video cropping on Android instead of FFMpeg ?

    I understand that I can achieve better UX by letting the user edit a cropped TextureView/SurfaceView while doing the actual cropping in background, but I want to avoid this way as it takes more time.

    UPDATE

    Here is FFMpeg’s log output :

    SUCCESS with output : ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
       built with gcc 4.8 (GCC)
       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=
       libavutil      55. 17.103 / 55. 17.103
       libavcodec     57. 24.102 / 57. 24.102
       libavformat    57. 25.100 / 57. 25.100
       libavdevice    57.  0.101 / 57.  0.101
       libavfilter     6. 31.100 /  6. 31.100
       libswscale      4.  0.100 /  4.  0.100
       libswresample   2.  0.101 /  2.  0.101
       libpostproc    54.  0.100 / 54.  0.100
       Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/DCIM/100ANDRO/MOV_0066.mp4':
       Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2017-04-02 11:58:58
       com.android.version: 6.0.1
       Duration: 00:00:59.60, start: 0.000000, bitrate: 17759 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17498 kb/s, SAR 1:1 DAR 16:9, 29.90 fps, 29.92 tbr, 90k tbn, 180k tbc (default)
       Metadata:
       rotate          : 90
       creation_time   : 2017-04-02 11:58:58
       handler_name    : VideoHandle
       Side data:
       displaymatrix: rotation of -90.00 degrees
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s (default)
       Metadata:
       creation_time   : 2017-04-02 11:58:58
       handler_name    : SoundHandle
       [libx264 @ 0xb5bc4400] using SAR=1/1
       [libx264 @ 0xb5bc4400] using cpu capabilities: none!
       [libx264 @ 0xb5bc4400] profile High 4:4:4 Predictive, level 3.2, 4:2:0 8-bit
       [libx264 @ 0xb5bc4400] 64 - 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=0x1:0x1 me=dia subme=1 psy=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=5 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=cqp mbtree=0 qp=0
       Output #0, mp4, to '/storage/emulated/0/Download/compress_video1.mp4':
       Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       com.android.version: 6.0.1
       encoder         : Lavf57.25.100
       Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1080x1080 [SAR 1:1 DAR 1:1], q=-1--1, 29.92 fps, 11488 tbn, 29.92 tbc (default)
       Metadata:
       handler_name    : VideoHandle
       creation_time   : 2017-04-02 11:58:58
       encoder         : Lavc57.24.102 libx264
       Side data:
       unknown side data type 10 (24 bytes)
       Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
       creation_time   : 2017-04-02 11:58:58
       handler_name    : SoundHandle
       encoder         : Lavc57.24.102 aac
       Stream mapping:
       Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
       Stream #0:1 -> #0:1 (aac (native) -> aac (native))
       Press [q] to stop, [?] for help
       frame=    6 fps=0.0 q

    Any help is greatly appreciated !

  • Conditional expressions not working in ffmpeg ?

    8 avril 2017, par Don Clifton

    I’m having trouble with conditional expressions generating errors in ffmpeg. Here is an example of the problem, which is taken from the ffmpeg documentation for the blend filter :

    ffmpeg -i lyt1s.mp4 -i lyt1r.mp4 -filter_complex \
       'blend=all_expr=if(eq(mod(X,2),mod(Y,2)),A,B)' lytx.mp

    The following output is generated :

    ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
    built with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
    configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads         --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --disable-doc --arch=x86_64 --enable-runtime-cpudetect``
     libavutil      55. 34.101 / 55. 34.101
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.101 / 57. 56.101
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'lyt1s.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.56.101
     Duration: 00:00:40.04, start: 0.000000, bitrate: 4337 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 4202 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'lyt1r.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.56.101
     Duration: 00:00:40.04, start: 0.000000, bitrate: 2410 kb/s
       Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2275 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
     handler_name    : SoundHandler
    [AVFilterGraph @ 0x7fc7f1d0a6a0] No such filter: '2)'
    Error initializing complex filters.
    Invalid argument

    If I replace the all_expr argument to something that doesn’t include a conditional expression (such as A*0.5+B*0.5) the blend filter does what it’s supposed to, without any errors.

    Can anyone tell me what’s going on here ?

  • FFmpeg - selecting appropriate bitrate for VP9 encoding

    6 avril 2017, par fastily

    I am looking to encode a 4k video shot with iPhone 6s in VP9 in the best quality possible.

    For reference, stream data of the video I would like to encode, via ffprobe :

    Duration: 00:00:10.48, start: 0.000000, bitrate: 46047 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 45959 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
       Metadata:
         creation_time   : 2017-03-13T21:12:56.000000Z
         handler_name    : Core Media Data Handler
         encoder         : H.264
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 79 kb/s (default)
       Metadata:
         creation_time   : 2017-03-13T21:12:56.000000Z
         handler_name    : Core Media Data Handler

    I am using the following FFmpeg commands, based on these instructions (see Best Quality (Slowest) Recommended Settings section).

    1. ffmpeg -i INPUT.mov -c:v libvpx-vp9 -pass 1 -b:v 46000K -threads 4 -speed 4 -g 9999 -an -f webm -y /dev/null
    2. ffmpeg -I INPUT.mov -c:v libvpx-vp9 -pass 2 -b:v 46000K -threads 4 -speed 0 -g 9999 -an -f webm OUTPUT.webm

    Is there a best practice to select an optimal -b:v value such that the resulting video is visually indistinguishable from the original ? I have tried values ranging from 36000K-46000K, but these result in massive files with an overall bitrate exceeding the target bitrate.

    Thanks in advance !