Recherche avancée

Médias (1)

Mot : - Tags -/publishing

Autres articles (105)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

Sur d’autres sites (11653)

  • Fluent-ffmpeg Node.js overlay audio

    10 avril 2017, par Dineshkarthik Raveendran

    Using fluent-ffmpeg am trying to merge a set of videos into a single video, which am able to achieve with the following code :

      var ffmpeg = require('fluent-ffmpeg'),
           command = ffmpeg(),
           videoNames = ['video1.mp4', 'video2.mp4', 'video3.mp4'];

       videoNames.forEach(function(videoName){
           command = command.addInput(videoName);
       });
       command.mergeToFile('output.mp4')
       .on('error', function(err) {
           console.log('Error ' + err.message);
       })
       .on('end', function() {
           console.log('Finished!');
       });

    In additon to the above am trying to overlay an audio to the merged video without removing the existing audio. What am trying to do is replicate the following command line using fluent-ffmpeg wrapper

    ffmpeg -i io1.mp4 -i io2.mp4 -i io3.mp4 -i io4.mp4 -i io5.mp4 -i io6.mp4 -i audio.mp3 -filter_complex '[0:a][1:a][2:a][3:a][4:a][5:a]concat=n=7:v=0:a=1,volume=1[aout];[6]volume=0.1[bout];[aout][bout]amerge=[tout];[0:v][1:v][2:v][3:v][4:v][5:v]concat=n=6:v=1:a=0[v1]' -map [v1] -map [tout] -c:a aac -b:a 96K  -shortest -y out.mp4

    Tried the following but unable to implement the filter_complex with streams properly

    var ffmpeg = require('fluent-ffmpeg'),
       command = ffmpeg(),
       videoNames = ['video1.mp4', 'video2.mp4', 'video3.mp4'];

    videoNames.forEach(function(videoName){
       command = command.addInput(videoName);
    });
    command.addInput("myAudio.mp3")
           .audioFilters('volume=0.1'); // trying to overlay new audio without removing existing audio
    command.mergeToFile('output.mp4')
    .on('error', function(err) {
       console.log('Error ' + err.message);
    })
    .on('end', function() {
       console.log('Finished!');
    });

    Which throw the error Error ffmpeg exited with code 1: Cannot find a matching stream for unlabeled input pad 6 on filter Parsed_concat_0

  • How do I properly enable ffmpeg for matplotlib.animation ?

    7 mars 2017, par spanishgum

    I have covered a lot of ground on stack so far trying to get ffmpeg going so I can make a timelapse video.

    I am on a CentOS 7 machine, running python3.7.0a0.

    python3
    >>> import numpy as np
    >>> np.__version__
    '1.12.0'
    >>> import matplotlib as mpl
    >>> mpl.__version__
    '2.0.0'
    >>> import mpl_toolkits.basemap as base
    >>> base.__version__
    '1.0.7'

    I found this github gist on installing ffmpeg. I used the chromium source, and installed without a prefix option (using the default).

    I have confirmed that ffmpeg is installed, although I don’t know anything about testing whether it works.

    which ffmpeg
    /usr/local/bin/ffmpeg

    ffmpeg -version
    ffmpeg version N-83533-gada281d Copyright (c) 2000-2017 the FFmpeg dev elopers
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11
    configuration:
    libavutil      55. 47.100 / 55. 47.100
    libavcodec     57. 80.100 / 57. 80.100
    libavformat    57. 66.102 / 57. 66.102
    libavdevice    57.  2.100 / 57.  2.100
    libavfilter     6. 73.100 /  6. 73.100
    libswscale      4.  3.101 /  4.  3.101
    libswresample   2.  4.100 /  2.  4.100

    I tried to run a few sample examples I found online :

    [1] http://matplotlib.org/examples/animation/basic_example_writer.html

    [2] http://stackoverflow.com/a/23098090/3454650

    Everything works fine up until I try to save the animation file.

    [1]

    anim.save('basic_animation.mp4', writer = FFwriter, fps=30, extra_args=['-vcodec', 'libx264'])

    [2]

    im_ani.save('im.mp4', writer=writer)

    I found here that explictly setting the path to ffmpeg might be necessary so I added this to the top of the test scripts :

    plt.rcParams['animation.ffmpeg_path'] = '/usr/local/bin/ffmpeg'

    I tried a few more tweaks in the code but always get the same response, which I do not know how to begin deciphering :

    Traceback (most recent call last):
     File "testanim.py", line 27, in <module>
       writer.grab_frame()
     File "/usr/local/lib/python3.7/contextlib.py", line 100, in __exit__
       self.gen.throw(type, value, traceback)
     File "/usr/local/lib/python3.7/site-packages/matplotlib/animation.py", line 256, in saving
       self.finish()
     File "/usr/local/lib/python3.7/site-packages/matplotlib/animation.py", line 276, in finish
       self.cleanup()
     File "/usr/local/lib/python3.7/site-packages/matplotlib/animation.py", line 311, in cleanup
       out, err = self._proc.communicate()
     File "/usr/local/lib/python3.7/subprocess.py", line 836, in communicate
       stdout, stderr = self._communicate(input, endtime, timeout)
     File "/usr/local/lib/python3.7/subprocess.py", line 1474, in _communicate
       selector.register(self.stdout, selectors.EVENT_READ)
     File "/usr/local/lib/python3.7/selectors.py", line 351, in register
       key = super().register(fileobj, events, data)
     File "/usr/local/lib/python3.7/selectors.py", line 237, in register
       key = SelectorKey(fileobj, self._fileobj_lookup(fileobj), events, data)
     File "/usr/local/lib/python3.7/selectors.py", line 224, in _fileobj_lookup
       return _fileobj_to_fd(fileobj)
     File "/usr/local/lib/python3.7/selectors.py", line 39, in _fileobj_to_fd
       "{!r}".format(fileobj)) from None
    ValueError: Invalid file object: &lt;_io.BufferedReader name=6>
    </module>

    Is there something with my configuration that is malformed ? I searched google for this error for some time but never found anything relevant to animations / ffmpeg. Any help would be greatly appreciated.


    UPDATE :

    @LordNeckBeard pointed me here : https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

    I ran into problems with installing the x264 encoding dependency. Some files in libavcodec/*.c (in the make output) were reporting undefined references to several functions. After a wild goose chase found this : https://mailman.videolan.org/pipermail/x264-devel/2015-February/010971.html

    To fix the x264 installation, I simply added some configure flags :

    ./configure --enable-static --enable-shared --extra-ldflags="-lswresample -llzma"

    UPDATE :

    So everything installed fine after fixing the libx264 problems. I went ahead and copied the ffmpeg binary from the ffmpeg_build folder into /usr/local/bin/ffmpeg.

    After running the script I was getting problems where ffmpeg could not find the libx264 shared object. I think I will have to recompile everything using different prefixes. My intuition tells me there are old files laying around after I have messed with everything, using some configuration that is broken.

    So I decided maybe I should just try to use NUX : http://linoxide.com/linux-how-to/install-ffmpeg-centos-7/
    I installed ffmpeg using the new rpm, but to no avail. I still was not able to run ffmpeg because of a missing shared object.

    Finally, instead of usiong files copied into my /usr/local/bin folder, I ran ffmpeg directly from the build bin directory. Turns out that this does work properly !

    So in essence, if I want to install ffmpeg system wide, I need to manually compile from sources again but using a nonlocal prefix.

  • avcodec/h264, videotoolbox : fix crash after VT decoder fails

    21 février 2017, par Aman Gupta
    avcodec/h264, videotoolbox : fix crash after VT decoder fails
    

    The way videotoolbox hooks in as a hwaccel is pretty hacky. The VT decode
    API is not invoked until end_frame(), so alloc_frame() returns a dummy
    frame with a 1-byte buffer. When end_frame() is eventually called, the
    dummy buffer is replaced with the actual decoded data from
    VTDecompressionSessionDecodeFrame().

    When the VT decoder fails, the frame returned to the h264 decoder from
    alloc_frame() remains invalid and should not be used. Before
    9747219958060d8c4f697df62e7f172c2a77e6c7, it was accidentally being
    returned all the way up to the API user. After that commit, the dummy
    frame was unref’d so the user received an error.

    However, since that commit, VT hwaccel failures started causing random
    segfaults in the h264 decoder. This happened more often on iOS where the
    VT implementation is more likely to throw errors on bitstream anomolies.
    A recent report of this issue can be see in
    http://ffmpeg.org/pipermail/libav-user/2016-November/009831.html

    The issue here is that the dummy frame is still referenced internally by the
    h264 decoder, as part of the reflist and cur_pic_ptr. Deallocating the
    frame causes assertions like this one to trip later on during decoding :

    Assertion h->cur_pic_ptr->f->buf[0] failed at src/libavcodec/h264_slice.c:1340

    With this commit, we leave the dummy 1-byte frame intact, but avoid returning it
    to the user.

    This reverts commit 9747219958060d8c4f697df62e7f172c2a77e6c7.

    Signed-off-by : wm4 <nfxjfg@googlemail.com>

    • [DH] libavcodec/h264_refs.c
    • [DH] libavcodec/h264dec.c
    • [DH] libavcodec/version.h
    • [DH] libavcodec/videotoolbox.c