Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (28)

  • Soumettre bugs et patchs

    10 avril 2011

    Un logiciel n’est malheureusement jamais parfait...
    Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
    Si vous pensez avoir résolu vous même le bug (...)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

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

  • Android - Adding Effects to Videos like Instagram

    7 novembre 2017, par San

    I am in need of a idea to apply filters to video like Instagram, video trimming and fetching images from the video. I have researched a lot and all I can come up with is the following ways to achieve what I want :

    1. FFMPEG
    2. Open CV
    3. Camera2 API

    FFMPEG :

    As far as FFMPEG is considered, majority of the average level droid devs feel that its a pain cause it involves NDK and compiling the FFMPEG commands.The above mentioned link is self-explanatory and it saves me the pain of setting up the NDK but the biggest drawback in this is that its not stable and its REALLY slow.
    My query on this topic is that how do I compile FFMPEG into my project. I have gone through several links to integrate FFMPEG as follows :

    One

    Two

    Three

    The third link seemed to make sense but ultimately I couldn’t understand completely and go where,do what after following those steps.

    Question 1 :

    Is there is a solid Android - FFMPEG Integration Document that can help a beginner like me ?

    Open CV

    Question 2 :

    I haven’t tried Open CV yet but will it be worth it ?

    Camera2 API

    Question 3 :

    As far as I researched, I can see that the Camera2 API can help us shoot videos and images with effects added to it but will it be useful for me to process the already existing videos and images ? I don’t have the requirement to add effects to the camera while its captured, its aftermath is where I want to add my effects.

    If someone is kind enough to accept my stupidity and help me out, I am thankful to them.

    Will going ahead with FFMPEG be good or OpenCV or Camera2 API will be better ?

  • avformat/dashdec : add dash demuxer base version

    9 septembre 2017, par Steven Liu
    avformat/dashdec : add dash demuxer base version
    

    ffmpeg need a dash demuxer for demux the dash formats base on
    https://github.com/samsamsam-iptvplayer/exteplayer3/blob/master/tmp/ffmpeg/patches/3.2.2/000001_add_dash_demux.patch

    TODO :
    1. support multi bitrate dash.

    v2 fixed :
    1. from autodetect to disabled
    2. from camelCase code style to ffmpeg code style
    3. from RepType to AVMediaType
    4. fix variable typo
    5. change time value from uint32_t to uint64_t
    6. removed be used once API
    7. change 'time(NULL)`, except it is not 2038-safe.' to av_gettime and av_timegm
    8. merge complex free operation to free_fragment
    9. use API from snprintf to av_asprintf

    v3 fixed :
    1. fix typo from —enabled-xml2 to —enable-xml2

    v4 fixed :
    1. from —enable-xml2 to —enable-libxml2
    2. move system includes to top
    3. remove nouse includes
    4. rename enum name
    5. add a trailing comma for the last entry enum
    6. fix comment typo
    7. add const to DASHContext class front
    8. check sscanf if return arguments and give warning message when error
    9. check validity before free seg->url and seg
    10. check if the val is null, before use atoll

    v5 fixed :
    1. fix typo from mainifest to manifest

    v6 fixed :
    1. from realloc to av_realloc
    2. from free to av_free

    v7 fixed :
    1. remove the -lxml2 from configure when require_pkg_config

    v8 fixed :
    1. fix replace filename template by av_asprintf secure problem

    v9 modified :
    1. make manifest parser clearly

    v10 fixed :
    1. fix function API name code style
    2. remove redundant strreplace call
    3. remove redundant memory operation and check return value from get_content_url()
    4. add space between ) and
    5. remove no need to log the value for print

    v11 fixed :
    1. from atoll to strtoll
    Suggested-by : Michael Niedermayer <michael@niedermayer.cc>

    v12 fixed :
    1. remove strreplace and instead by av_strreplace
    Suggested-by : Nicolas George <george@nsup.org>

    v13 fixed :
    1. fix bug : cannot play :
    http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps.mpd
    Reported-by : Andy Furniss <adf.lists@gmail.com>

    v14 fixed :
    1. fix bug : TLS connection was non-properly terminated
    2. fix bug : No trailing CRLF found in HTTP header
    Reported-by : Andy Furniss <adf.lists@gmail.com>

    v15 fixed :
    1. play youtube link : ffmpeg -i $(youtube-dl -J "https://www.youtube.com/watch?v=XmL19DOP_Ls" ; | jq -r ".requested_formats[0].manifest_url")
    2. code refine for timeline living stream
    Reported-by : Ricardo Constantino <wiiaboo@gmail.com>

    v16 fixed :
    1. remove the snprintf and instead by get_segment_filename make safety
    2. remove unnecessary loops
    3. updated xmlStrcmp and xmlFree to av_* functions
    4. merge code repeat into one function
    5. add memory alloc faild check
    6. update update_init_section and open_url
    7. output safety error message when filename template not safe
    Suggested-by : wm4 <nfxjfg@googlemail.com>

    v17 fixed :
    1. add memory alloc faild check
    2. fix resource space error at free_representation

    v18 fixed :
    1. add condition of template format

    v19 fixed :
    1. fix typo of the option describe

    v20 fixed :
    1. add the c->base_url alloc check
    2. make the DASHTmplId same to dashenc

    v21 fixed :
    1. remove get_repl_pattern_and_format and get_segment_filename
    2. process use dashcomm APIs

    v22 fixed :
    1. modify the include "dashcomm.h" to include "dash.h"
    2. use internal API from dash_fill_tmpl_params to ff_dash_fill_tmpl_params

    Signed-off-by : Steven Liu <lq@onvideo.cn>
    Signed-off-by : samsamsam <samsamsam@o2.pl>

    • [DH] configure
    • [DH] libavformat/Makefile
    • [DH] libavformat/allformats.c
    • [DH] libavformat/dashdec.c
  • Ffmpeg error in Docker Container : ffmpeg exited with code 1 :

    2 octobre 2017, par Uğur Kaya

    I am currently working on a project and almost ready to deploy, but there is one problem : the code which is working perfectly on my Ubuntu 16.04 (Elementary OS Loki) machine does not work in Docker container. What might be the problem in my code ?

    Here is my Dockerfile :

    FROM beevelop/nodejs-python:latest

    RUN apt-get -y update &amp;&amp; apt-get install -y libav-tools
    RUN ffmpeg --help

    # Global install yarn package manager
    RUN apt-get update &amp;&amp; apt-get install -y curl apt-transport-https &amp;&amp; \
       curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - &amp;&amp; \
       echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list &amp;&amp; \
       apt-get update &amp;&amp; apt-get install -y yarn

    WORKDIR /app
    COPY package.json .
    RUN yarn
    COPY . .
    RUN yarn prod:build
    EXPOSE 8080
    CMD [ "yarn", "start" ]

    I run sudo docker exec -it  ffmpeg --help and it outputs the expected help print. In my code, I download a Youtube video in mp4 format with this code :

    const download = idParam => (
     new Promise((fulfill, reject) => {
       const id = `http://www.youtube.com/watch?v=${idParam}`
       let videoMeta
       youtubedl(id, ['--format=36'], { cwd: __dirname })
         .on('info', (info) => {
           const customDimensions = calculateCustomDimensions(info.format)
           videoMeta = { ...info, ...customDimensions }
         })
         .pipe(fs.createWriteStream(`temp/${idParam}.mp4`))
         .on('finish', () => {
           console.log('Dirname: ', __dirname)
           fulfill(videoMeta)
         })
         .on('error', (err) => {
           console.log('There is an error:', err)
           console.log('Dirname: ', __dirname)
           reject(err)
         })
     })
    )

    And then try to process the video with fluent-ffmpeg :

    const processVideo = (videoName, cropStart, cropEnd) => (
     new Promise((resolve, reject) => {
       try {
         console.log('Trying to run ffmpeg binary.')
         ffmpeg()
           .addInput(`temp/${videoName}.mp4`)
           .seekInput(cropStart)
           .duration(cropEnd)
           .outputOption('-movflags frag_keyframe+faststart')
           .on('end', () => {
             console.log('Processing has finished with ffmpeg. ')
             console.log('Resolved for upload: ', [`temp/cropped_${videoName}.mp4`, `temp/${videoName}.mp4`])
             console.log('Going out of processVideo script.')
             resolve([`temp/cropped_${videoName}.mp4`, `temp/${videoName}.mp4`])
           })
           .on('error', (err, stdout, stderr) => {
             console.log('Error. Output option olmasına rağmen: ', err.message)
             console.log('ffmpeg output:\n', stdout)
             console.log('ffmpeg stderr:\n', stderr)
           })
           .save(`temp/cropped_${videoName}.mp4`)
       } catch (e) {
         console.log('There has been an error while converting ffmpeg binary!')
         console.log(e.msg)
         console.log(e.code)
         reject(e)
       }
     })
    )

    It gives the following error :

    Entering download script.
    WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.

    `info.resolution` is deprecated, use `info.format`
    Dirname:  /app/lib/server/scripts
    Download script is done.
    Custom dimensions of the downloaded video:  320 180
    Crop start and end of the downloaded video:  00:00:00.517 00:00:00.998
    Entering processVideo script.
    Trying to run ffmpeg binary.
    Error:  ffmpeg exited with code 1:
    ffmpeg output:

    ffmpeg stderr:
    ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'temp/kfchvCyHmsc.mp4':
     Metadata:
       major_brand     : 3gp6
       minor_version   : 256
       compatible_brands: isom3gp6
       creation_time   : 2015-03-26 09:22:44
     Duration: 00:00:08.27, start: 0.000000, bitrate: 218 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 187 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
       Metadata:
         creation_time   : 2015-03-26 09:22:44
         handler_name    : IsoMedia File Produced by Google, 5-11-2011
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 31 kb/s (default)
       Metadata:
         creation_time   : 2015-03-26 09:22:44
         handler_name    : IsoMedia File Produced by Google, 5-11-2011
    [libx264 @ 0x2641fc0] using SAR=1/1
    [libx264 @ 0x2641fc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x2641fc0] profile High, level 1.2
    [libx264 @ 0x2641fc0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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=23 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
    [aac @ 0x2642f00] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.