Recherche avancée

Médias (0)

Mot : - Tags -/content

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (57)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (7465)

  • Revision f332c6305e : Renames interface field in VpxInterface Renames interface to codec_interface si

    16 juillet 2014, par Deb Mukherjee

    Changed Paths :
     Modify /examples/decode_to_md5.c


     Modify /examples/decode_with_drops.c


     Modify /examples/postproc.c


     Modify /examples/set_maps.c


     Modify /examples/simple_decoder.c


     Modify /examples/simple_encoder.c


     Modify /examples/twopass_encoder.c


     Modify /examples/vp8cx_set_ref.c


     Modify /examples/vpx_temporal_svc_encoder.c


     Modify /tools_common.h


     Modify /vpxdec.c


     Modify /vpxenc.c



    Renames interface field in VpxInterface

    Renames interface to codec_interface since it is a reserved
    word on windows.

    Change-Id : I84f2cbf257a4c44f16dc2464127e35ee405c2c3e

  • Search pre-defined words in live stream video

    31 janvier 2018, par Brajraj Agrawal

    I want to search for some pre-defined keywords in youtube live stream ( or some other live stream) in my application.
    I have gone through the many articles. I just have a URL that is a live streaming URL and a set of keywords. If any of that keywords appear in the video I just want the user to provide a link to jump to that frame where the keyword appears in as real-time as possible.

    My understanding for that is to use Google Speech API and FFMPEG. But I am confused how can I do playback and which HTML player should I use for that.

    E.g. A video is streaming live and If a word "dog" is spoked in the video then the user should get notify with playback URL from 5 sec behind it appears in the video.

    Please suggest

  • Fluent-ffmpeg randomly doesn't add the text I want to the video, even though it's in the filters

    15 décembre 2022, par ToborWinner

    I am making a simple script to add some text to a 4 seconds video, it all works fine, but sometimes it randomly doesn't add some of the text.
You can find here the relevant parts of my code :

    


    
const video = ffmpeg('path/to/video.mp4')

let index = 0
let left = true

const filters = [{
  filter: 'drawtext',
  options: {
    //fontfile:'font.ttf',
    text: title,
    fontsize: 30,
    fontcolor: 'white',
    x: '(main_w/2-text_w/2)',
    y: 130,
    shadowcolor: 'black',
    shadowx: 2,
    shadowy: 2
  }
}]

for (let thought of thoughts) {
    if (thought.length == 0) {
      continue
    }
    thought = wrap(thought, {width: 35})
    const strings = thought.split("\n")
    let line = 0
    for (const string of strings
      .filter(string => string.length > 0)
      .map(string => string.trim())
      ) {
      let yoffset = 130+(130*(index+1))+(line*20)
      if (yoffset < 0) {
        yoffset = 0
      }
      console.log(string, yoffset)
      filters.push({
        filter: 'drawtext',
        options: {
          //fontfile:'font.ttf',
          text: string,
          fontsize: 18,
          fontcolor: 'white',
          x: `(main_w${left ? "*0.3" : "*0.7"}-text_w/2)`,
          y: yoffset,
          shadowcolor: 'black',
          shadowx: 2,
          shadowy: 2
        }
      })
      line++;
    }
    index++;
    left = !left
  }


video.videoFilters(filters)
video.noAudio()


video.save('path/to/output.mp4');



    


    The wrap function comes from the package word-wrap (const wrap = require('word-wrap');)
Thoughts is a list of strings that aren't too long (with the wrap function they end up being like 2-4 lines).

    


    This is inside an async function.

    


    For some reason only a few lines appear on the output video.
Sometimes, when it doesn't do that, it also throws an error saying that one of the inputs is invalid (while processing filters).
The wrap function seems to work, and also the yoffset, I have printed them.

    


    If someone has an idea why, please help me solve this.

    


    I tried chasing the text in thoughts, and for example, this works with no problems (shows the title, and the texts right, left, right, left, ...).

    


    const thoughts = ["Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things","Nothing is on fire, fire is on things"]