Recherche avancée

Médias (0)

Mot : - Tags -/publication

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

Autres articles (71)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • Activation de l’inscription des visiteurs

    12 avril 2011, par

    Il est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
    Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
    Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)

  • MediaSPIP : Modification des droits de création d’objets et de publication définitive

    11 novembre 2010, par

    Par défaut, MediaSPIP permet de créer 5 types d’objets.
    Toujours par défaut les droits de création et de publication définitive de ces objets sont réservés aux administrateurs, mais ils sont bien entendu configurables par les webmestres.
    Ces droits sont ainsi bloqués pour plusieurs raisons : parce que le fait d’autoriser à publier doit être la volonté du webmestre pas de l’ensemble de la plateforme et donc ne pas être un choix par défaut ; parce qu’avoir un compte peut servir à autre choses également, (...)

Sur d’autres sites (9186)

  • How to prescale a frame using ffmpeg and H.265

    20 juillet 2017, par akw

    I want to decode video frames with the H.265 coded (AV_CODEC_ID_HEVC)
    I use the following code :

    AVCodec *hevcCodec = avcodec_find_decoder(AV_CODEC_ID_HEVC);
    AVCodecContext *avctx  = avcodec_alloc_context3(hevcCodec);
    avcodec_open2(avctx, hevcCodec, 0);
    AVFrame *frame = av_frame_alloc();
    AVPacket pkt;
    av_init_packet(&pkt);
    pkt.data = myDataPtr;
    pkt.size = myDataSize;
    int got_frame = 0;
    avcodec_send_packet(avctx, &pkt);
    if (avcodec_receive_frame(avctx, frame) >=0 ) {
           got_frame = 1;
           ...
    }

    This works fine, I got my YUV frame and can process it further (like converting to RGB or scaling, etc.)
    However, I would like to somehow tell the ffmpeg library, to scale the AVFrame while decoding (a scale factor of a power of 2 would be sufficient).
    I don’t want to scale after converting to RGB or use swscale or anything. I have to decode a lot of frames and need a smaller resolution.

    Is it possible to give the AVCodecContext some hints to scale the frames ?
    (I tried setting avctx.width and avctx.height, but this did not help)

  • ppc : Clarify and extend the cpuid check

    10 mai 2015, par Luca Barbato
    ppc : Clarify and extend the cpuid check
    

    Add POWER entries.

    • [DBH] libavutil/ppc/cpu.c
  • Spawned ffmpeg process in nodejs Transform stream with flow control doesn't process input stream

    30 septembre 2022, par user1832894

    I have implemented a node.js Transform stream class that spawns ffmpeg and streams out the transformed stream at a controlled realtime rate. Below is my _transform() method.

    


    this.rcvd += chunk.length
console.log('received bytes %d', this.rcvd)
const ready = this.ffmpeg.stdin.write(chunk, encoding, err => err
  ? cb(err)
  : ready
    ? cb
    : this.ffmpeg.stdin.once('drain', cb))


    


    I want to write to ffmpeg's stdin stream till it returns false, at which point I wait for the drain event to write more data.

    


    Concurrently, I have a timer that fires every 40 milliseconds that reads ffmpeg's stdout and pushes it to the Transform stream's output (the readable side). Code not complete, but the folllowing describes it well.

    


    const now = Date.now()
const bytesToTransmit = (now - this.lastTx) * 32

const buf = this.ffmpeg.stdout.read()

if (buf == null) return

if (buf.length <= bytesToTransmit) {
  this.push(buf)
  this.lastTx += buf.length * 32
  return
}

this.push(buf.slice(0, bytesToTransmit))
this.lastTx = now

// todo(handle pending buffer)
this.pending = buf.slice(bytesToTransmit)


    


    The issue I am facing is that the first write (of 65k bytes) returns false, and after that I never receive the drain event. FFMpeg doesn't start processing the data until certain amount of data (256k bytes in my case) has been written, and once I start waiting for the drain event, I never recover control.

    


    I've tried a few ffmpeg options like nobuffer but to no avail. What am I doing wrong ? Any ideas would be super helpful.

    


    Thanks !