Recherche avancée

Médias (91)

Autres articles (41)

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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (4451)

  • Can't preserve metadata in ffmpeg video conversion

    23 mai 2024, par sakovias

    I would like to preserve the creation time metadata when I convert videos using ffmpeg/avconv. Here is the file I'm trying to convert :

    



    $ ffmpeg -i in.avi 
ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:00:59 with gcc 4.6.3
Input #0, avi, from 'in.avi':
  Metadata:
    creation_time   : 2013-08-12 06:59:14
    encoder         : CanonMVI06
  Duration: 00:00:12.26, start: 0.000000, bitrate: 14549 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 tbr, 30 tbn, 30 tbc
    Stream #0.1: Audio: pcm_u8, 11024 Hz, 1 channels, u8, 88 kb/s


    



    In the first approach I run

    



    $ ffmpeg -i in.avi -vcodec libx264 -acodec libmp3lame -r 30 -map_metadata 0 out.avi


    



    and get an output file which doesn't have the 'creation_date' metadata that I'd like to keep :

    



    $ ffmpeg -i out.avi 
ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:00:59 with gcc 4.6.3
[avi @ 0x83ba260] max_analyze_duration reached
Input #0, avi, from 'out.avi':
  Metadata:
    encoder         : Lavf53.21.1
  Duration: 00:00:12.38, start: 0.000000, bitrate: 704 kb/s
    Stream #0.0: Video: h264 (Main), yuv420p, 640x480, 30 fps, 30 tbr, 30 tbn, 60 tbc
    Stream #0.1: Audio: mp3, 11025 Hz, mono, s16, 200 kb/s


    



    I also tried another approach

    



    $ ffmpeg -i in.avi -f ffmetadata metadata.txt
$ ffmpeg -i in.avi -f ffmetadata -i metadata.txt -vcodec libx264 -acodec libmp3lame -r 30 out.avi


    



    with the same success even though metadata.txt has the right info :

    



    ;FFMETADATA1
creation_time=2013-08-12 06:59:14
encoder=CanonMVI06


    



    What am I doing wrong ?

    


  • Multicolor text in FFmpeg

    14 septembre 2018, par Holy_diver

    How to use drawtext in ffmpeg to draw multicolor text over video ?
    Example : I want to highlight a proper nouns in a sentence,
    "XYZ company shares hike 91%"
    highlight XYZ white yellow
    highlight 91% with green

    If you have any other approach not using ffmpeg to draw multicolor text over video, that would work too.

  • Processing a single frame of audio and image in FFmpeg

    21 juillet 2015, par James F

    Currently we have an implementation of FFmpeg which is triggered from an ActionScript 3 (AS3) application, via CrossBridge (formerly Flascc). In this implementation, we write the entire audio track into the CModule’s memory, using malloc from the AS3 application. Once written, the application starts to process each of the image frames we would like to combine with our audio. This process begins by the AS3 application calling the CModule’s write_frame public method.

    C :
    int write_frame(struct Session *s, uint8_t *buffer, int bufferSize){}

    AS3 :
    var ret:int = writeFrame(_sessionPtr, _pixelBytesPtr, _pixelBytes.length);

    Once the video output has been created, it is retrieved from the CModule to AS3 as a byte array.

    With this implementation, a long duration video or audio track - the application runs out of memory (there’s a memory limit within our CrossBridge sandbox environment). The largest portion of this memory is currently our audio track, as it’s uncompressed PCM data (raw float values).

    Ideally, we would like to write a single audio frame and video frame together, with the AS3 application writing the 1 x audio frame byte array to the CModule’s memory. I have attempted to do this, by allocating the memory requirement for a single frame of audio using malloc, and then overwriting this memory, each time write_frame is called. However, this results in the video file containing a single frame of audio at the start of the video, and no other audio.

    I’m convinced that the audio frame is being constructed correctly, but I believe this approach is conflicting with some of the code within our Muxing.c file. It’s a little different to FFmpeg’s example file (https://ffmpeg.org/doxygen/trunk/muxing_8c-source.html), as this file has been modified by several people. Here’s the methods calls from within write_frame :

    fill_audio_buffer(s->audio_input, s->audio_input_length, s->audio_input_index, s->audio_input_frame_size * 2, s->audio_frame_buffer);

    retval = av_samples_alloc(converted_buffer, NULL, 2, out_samples, audio_st->codec->sample_fmt, 0);

    out_samples = swr_convert(s->audio_swr_context, converted_buffer, out_samples (void *) &s->audio_frame_buffer, in_samples);

    retval = write_audio_frame(s, s->oc, s->audio_st, s->audio_input_frame_size (uint16_t *) converted_buffer[0]);

    s->audio_input_index += s->audio_input_frame_size * 2;

    Is it possible to move to procedural muxing of 1 x frame of audio and 1 x frame of image approach ? Even if it’s slightly slower - it’ll mean we’re not hold the entire audio track in memory. Any suggestions to the required approach would be great, thanks in advance !

    @VC. One - The PCM data is made outside of FFmpeg and then written to the memory that FFmpeg has access to. (using malloc, and then the pointer to this address is sent to the FFmpeg).

    The FFmpeg output file can either be a .WMV file, or .AVi file - the codecs WMV2 and DIVX are used in each case. I have made some modifications since posting the original question, but you’re correct in thinking that the first chunk was being used and then the last frame size increased, meaning the next read of the buffer would yield nothing as it exceeded the buffer.

    I’ve now made some progress by resetting the index audio_input_index back to ’0’ at the start of each write_frame call. However, i’ll need to check whether this is the correct approach, as between each audio frame (1 second at 1fps), there is a slight blip/audio pop noise. In addition to this - the last few frames of audio seem to overlap, causing some of the audio to be repeated. Is it safe practice with C/FFmpeg to recycle a buffer in this way ? It seems that the length of each audio frame changes - at AS3 level my current calculation of the audio frame byte length is (44,100 kHz sample rate * 8) / Frames per second. It’s * 8 as it’s two channel, and each float value is 4 bytes.

    Thanks again for your help