Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (62)

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

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Demande de création d’un canal

    12 mars 2010, par

    En fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
    Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)

Sur d’autres sites (9435)

  • ffmpeg - Use filter in android

    12 décembre 2013, par kikuchi

    I'm trying to use the movie filter in my android project with ffmpeg. I use a fork of the guardian project : Cheers-dev

    It use a recent version of ffmpeg ( 15 days old atm). I added the option --enable-filter=movie to activate the filter.

    I use this command line in my android project :

    ffmpeg -i input.mp4 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" -strict -2 outputvideo.mp4

    It perfectly works with my desktop version on Debian Wheezy. But it's impossible to make it work on my Android. All other commands works.

    Here the error when it fails : No such filter: 'movie'.

    I also tested with the option -filter_complex with a somewhat different error :

    $ ffmpeg -y -loglevel debug -i /storage/sdcard0/test/hsgjr_export.mp4 -i /storage/sdcard0/test/watermark.png -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out]" -map [out] -map 0:a -codec:a copy /storage/sdcard0/test/hsgjr_watermark.mp4

    ffmpeg version N-58429-gccdfa3e Copyright (c) 2000-2013 the FFmpeg developers
    built on Dec 10 2013 01:12:39 with gcc 4.4.3 (GCC)
    configuration: --arch=arm --cpu=cortex-a8 --target-os=linux --enable-runtime-cpudetect --prefix=/data/data/info.guardianproject.ffmpeg/app_opt --enable-pic --disable-shared --enable-static --cross-prefix=/opt/android/ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- --sysroot=/opt/android/ndk-r8/platforms/android-14/arch-arm --extra-cflags='-I../x264 -I/Android/cheers/android-ffmpeg/data/data/info.guardianproject.ffmpeg/app_opt/include -mfloat-abi=softfp -mfpu=neon' --extra-ldflags='-L../x264 -L/Android/cheers/android-ffmpeg/data/data/info.guardianproject.ffmpeg/app_opt/lib' --enable-version3 --enable-gpl --enable-yasm --enable-decoders --enable-encoders --enable-muxers --enable-demuxers --enable-parsers --enable-protocols --enable-filter=movie --enable-avresample --enable-libvorbis --disable-indevs --enable-indev=lavfi
    libavutil      52. 54.100 / 52. 54.100
    libavcodec     55. 44.100 / 55. 44.100
    libavformat    55. 21.101 / 55. 21.101
    libavdevice    55.  5.100 / 55.  5.100
    libavfilter     3. 91.100 /  3. 91.100
    libavresample   1.  1.  0 /  1.  1.  0
    libswscale      2.  5.101 /  2.  5.101
    libswresample   0. 17.104 /  0. 17.104
    libpostproc    52.  3.100 / 52.  3.100
    Splitting the commandline.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
    Reading option '-i' ... matched as input file with argument '/storage/sdcard0/test/hsgjr_export.mp4'.
    Reading option '-i' ... matched as input file with argument '/storage/sdcard0/test/watermark.png'.
    Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '"[0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out]"'.
    Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '[out]'.
    Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:a'.
    Reading option '-codec:a' ... matched as option 'codec' (codec name) with argument 'copy'.
    Reading option '/storage/sdcard0/test/hsgjr_watermark.mp4' ... matched as output file.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option y (overwrite output files) with argument 1.
    Applying option loglevel (set logging level) with argument debug.
    Applying option filter_complex (create a complex filtergraph) with argument "[0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out]".
    Successfully parsed a group of options.
    Parsing a group of options: input file /storage/sdcard0/test/hsgjr_export.mp4.
    Successfully parsed a group of options.
    Opening an input file: /storage/sdcard0/test/hsgjr_export.mp4.
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1274cd0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1274cd0] ISO: File Type Major Brand: isom
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1274cd0] File position before avformat_find_stream_info() is 1196725
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1274cd0] All info found
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1274cd0] File position after avformat_find_stream_info() is 30451
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/sdcard0/test/hsgjr_export.mp4':
    Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf55.21.101
    Duration: 00:00:00.96, start: 0.000000, bitrate: 9972 kb/s
    Stream #0:0(und), 1, 1/1200000: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 1/2400000, 9830 kb/s, 25 fps, 25 tbr, 1200k tbn, 2400k tbc (default)
    Metadata:
    handler_name    : VideoHandler
    Stream #0:1(und), 1, 1/48000: Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
    Metadata:
    handler_name    : SoundHandler
    Successfully opened the file.
    Parsing a group of options: input file /storage/sdcard0/test/watermark.png.
    Successfully parsed a group of options.
    Opening an input file: /storage/sdcard0/test/watermark.png.
    [AVIOContext @ 0x12870f0] Statistics: 26515 bytes read, 0 seeks
    Input #1, image2, from '/storage/sdcard0/test/watermark.png':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #1:0, 1, 1/25: Video: png, rgba, 400x170, 1/25, 25 tbr, 25 tbn, 25 tbc
    Successfully opened the file.
    Parsing a group of options: output file /storage/sdcard0/test/hsgjr_watermark.mp4.
    Applying option map (set input stream mapping) with argument [out].
    Applying option map (set input stream mapping) with argument 0:a.
    Applying option codec:a (codec name) with argument copy.
    Successfully parsed a group of options.
    Opening an output file: /storage/sdcard0/test/hsgjr_watermark.mp4.
    [AVFilterGraph @ 0x127d5f0] No such filter: '"'
    Error configuring filters.
    [AVIOContext @ 0x127d2b0] Statistics: 67296 bytes read, 2 seeks

    The output is better than the previous one but I think I'm missing something.

    SOLUTION : I removed the quote from the filter_complex argument and it worked.

    Here is the working command :

    $ ffmpeg -y -i /storage/sdcard0/test/hsgjr_export.mp4 -i /storage/sdcard0/test/watermark.png -filter_complex [0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] -map [out] -map 0:a -codec:a copy /storage/sdcard0/test/hsgjr_watermark.mp4
  • Screen recording for a specific area in Android application

    19 mars 2016, par Razor

    I need to record a video within a moving rectangular area on the image.

    Now I simply create bitmaps for each frame while moving the rectangle. Then I pick a video file from images using ffmpeg.

    This requires a lot of time and memory especially for temporary storage of frames (about 100MB for 5s video).

    Is there a quick and easy way for this purpose ?

  • arm : vp9 : Add NEON optimizations of VP9 MC functions

    3 novembre 2016, par Martin Storsjö
    arm : vp9 : Add NEON optimizations of VP9 MC functions
    

    This work is sponsored by, and copyright, Google.

    The filter coefficients are signed values, where the product of the
    multiplication with one individual filter coefficient doesn’t
    overflow a 16 bit signed value (the largest filter coefficient is
    127). But when the products are accumulated, the resulting sum can
    overflow the 16 bit signed range. Instead of accumulating in 32 bit,
    we accumulate the largest product (either index 3 or 4) last with a
    saturated addition.

    (The VP8 MC asm does something similar, but slightly simpler, by
    accumulating each half of the filter separately. In the VP9 MC
    filters, each half of the filter can also overflow though, so the
    largest component has to be handled individually.)

    Examples of relative speedup compared to the C version, from checkasm :
    Cortex A7 A8 A9 A53
    vp9_avg4_neon : 1.71 1.15 1.42 1.49
    vp9_avg8_neon : 2.51 3.63 3.14 2.58
    vp9_avg16_neon : 2.95 6.76 3.01 2.84
    vp9_avg32_neon : 3.29 6.64 2.85 3.00
    vp9_avg64_neon : 3.47 6.67 3.14 2.80
    vp9_avg_8tap_smooth_4h_neon : 3.22 4.73 2.76 4.67
    vp9_avg_8tap_smooth_4hv_neon : 3.67 4.76 3.28 4.71
    vp9_avg_8tap_smooth_4v_neon : 5.52 7.60 4.60 6.31
    vp9_avg_8tap_smooth_8h_neon : 6.22 9.04 5.12 9.32
    vp9_avg_8tap_smooth_8hv_neon : 6.38 8.21 5.72 8.17
    vp9_avg_8tap_smooth_8v_neon : 9.22 12.66 8.15 11.10
    vp9_avg_8tap_smooth_64h_neon : 7.02 10.23 5.54 11.58
    vp9_avg_8tap_smooth_64hv_neon : 6.76 9.46 5.93 9.40
    vp9_avg_8tap_smooth_64v_neon : 10.76 14.13 9.46 13.37
    vp9_put4_neon : 1.11 1.47 1.00 1.21
    vp9_put8_neon : 1.23 2.17 1.94 1.48
    vp9_put16_neon : 1.63 4.02 1.73 1.97
    vp9_put32_neon : 1.56 4.92 2.00 1.96
    vp9_put64_neon : 2.10 5.28 2.03 2.35
    vp9_put_8tap_smooth_4h_neon : 3.11 4.35 2.63 4.35
    vp9_put_8tap_smooth_4hv_neon : 3.67 4.69 3.25 4.71
    vp9_put_8tap_smooth_4v_neon : 5.45 7.27 4.49 6.52
    vp9_put_8tap_smooth_8h_neon : 5.97 8.18 4.81 8.56
    vp9_put_8tap_smooth_8hv_neon : 6.39 7.90 5.64 8.15
    vp9_put_8tap_smooth_8v_neon : 9.03 11.84 8.07 11.51
    vp9_put_8tap_smooth_64h_neon : 6.78 9.48 4.88 10.89
    vp9_put_8tap_smooth_64hv_neon : 6.99 8.87 5.94 9.56
    vp9_put_8tap_smooth_64v_neon : 10.69 13.30 9.43 14.34

    For the larger 8tap filters, the speedup vs C code is around 5-14x.

    This is significantly faster than libvpx’s implementation of the same
    functions, at least when comparing the put_8tap_smooth_64 functions
    (compared to vpx_convolve8_horiz_neon and vpx_convolve8_vert_neon from
    libvpx).

    Absolute runtimes from checkasm :
    Cortex A7 A8 A9 A53
    vp9_put_8tap_smooth_64h_neon : 20150.3 14489.4 19733.6 10863.7
    libvpx vpx_convolve8_horiz_neon : 52623.3 19736.4 21907.7 25027.7

    vp9_put_8tap_smooth_64v_neon : 14455.0 12303.9 13746.4 9628.9
    libvpx vpx_convolve8_vert_neon : 42090.0 17706.2 17659.9 16941.2

    Thus, on the A9, the horizontal filter is only marginally faster than
    libvpx, while our version is significantly faster on the other cores,
    and the vertical filter is significantly faster on all cores. The
    difference is especially large on the A7.

    The libvpx implementation does the accumulation in 32 bit, which
    probably explains most of the differences.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DBH] libavcodec/arm/Makefile
    • [DBH] libavcodec/arm/vp9dsp_init_arm.c
    • [DBH] libavcodec/arm/vp9mc_neon.S
    • [DBH] libavcodec/vp9.h
    • [DBH] libavcodec/vp9block.c
    • [DBH] libavcodec/vp9dsp.c