Recherche avancée

Médias (1)

Mot : - Tags -/biographie

Autres articles (73)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (12080)

  • Evolution #3674 : Chaine de traitement dans la table des traitements

    27 février 2016, par Fil _

    La bonne syntaxe en l’état actuel des choses serait :

    ```
    ’LOGO_EVENT’ =>
    array (size=1)
    0 => string ’massicoter_logo(logo_par_defaut(%s), $connect, event, $Pile1[’id_event’])’ (length=xx)

    ```

    c’est un `array` mais seulement parce que la valeur pour 0 est le filtre générique, et qu’on peut spécialiser avec d’autres clés comme par exemple ’TEXTE’. Pour le moment on n’"empile" pas les filtres (j’avoue que je n’y avais jamais pensé, c’est peut-être une bonne idée d’évolution).

    En attendant ton plugin peut faire quelque chose comme :
    `filtre = str_replace(’%s’, $filtre, ’’massicoter_logo(%s, $connect, event, $Pile1[’id_event’]" )`

  • Dynamically record parts of a video stream using ffmpeg based on incoming events

    12 septembre 2023, par ganjim

    Say I have a RTSP stream running on some server.

    


    I want to record parts of this video stream based on some events that will come up on my machine.
My goal is to record 10 seconds before up to 10 seconds after the PTS in any received event. Consider that I have a way to synchronize the PTS between the sender and the receiver, but by the time I receive the events, its already streamed and is in the past.
So I either need to have the ffmpeg command running already, or to have buffered streaming video in my memory.

    


    I just added some code with comments as a way to simulate the situation, it is not complete as I still don't have a working solution. But I'm looking to understand if ffmpeg has capabilities for dealing with rtsp streams suitable for this situation.

    


    const { spawn } = require('child_process');

function processEvent(event){
  
  let startTime = event.pts - 10
  let endTime = event.pts + 10

  const ffmpegArgs = [
    '-i', "rtspUrl",
    '-ss', startTime.toString(),
    '-to', endTime.toString(),
    '-c', 'copy',
    '-f', 'mp4',
    `output_${startTime}_${endTime}.mp4` // Output filename
  ];
  // Here it is obviously not possible to give ffmpeg a negative startTime.
  // We either have to have spawned the ffmpeg command and somehow give it a starting time for recording on demand or have a buffering system in place.
  // Having a buffer to store every raw frame and then attach them after endTime is also considerably CPU and memory intensive.
  // Looking for alternative ways to achieve the same output.

  const ffmpegProcess = spawn('ffmpeg', ffmpegArgs, {
    stdio: 'inherit'
  });
}

// Code to simulate the events:
// imagine these pts to be relative to Date.now(), so using negative PTS to show the events are going to be in the past by the time we receive them.
setTimeout(() => {
  const event1= { pts: -30 };
  processEvent(event1);
}, 1000);

setTimeout(() => {
  const event2 = { pts: -20 };
  processEvent(event2);
}, 5000);


    


  • Erreur dans squelette collection

    https://www.mediaspip.net/IMG/png/erreurskelcollection.png
    2 décembre 2013

    Slt,

    Erreur dans squelette collection à http://cyc.mediaspip.net/collection/saint-malo-event-youth-workers?id_media=417#media_417
    « Aucun squelette breadcrumb/collection n’est disponible... »

    N’apparait que quand connecté

    ++
    Pierre-Yves