Recherche avancée

Médias (1)

Mot : - Tags -/publier

Autres articles (72)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

Sur d’autres sites (7677)

  • Revision 4beb889f99 : Remove redundant mode update in sub8x8 decoding The probability model used to c

    24 septembre 2013, par Jingning Han

    Changed Paths :
     Modify /vp9/decoder/vp9_decodemv.c



    Remove redundant mode update in sub8x8 decoding

    The probability model used to code prediction mode is conditioned
    on the immediate above and left 8x8 blocks' prediction modes. When
    the above/left block is coded in sub8x8 mode, we use the prediction
    mode of the bottom-right sub8x8 block as the reference to generate
    the context.

    This commit moves the update of mbmi.mode out of the sub8x8 decoding
    loop, hence removing redundant update steps and keeping the bottom-
    right block's mode for the decoding process of next blocks.

    Change-Id : I1e8d749684d201c1a1151697621efa5d569218b6

  • Serving video stream in Node with ffmpeg

    30 mars 2023, par Spedwards

    I have a local-only utility where the backend is Adonis.js and the frontend is Vue.js. I'm trying to get a readable stream and have it play in my frontend. I have got the very basics down, the video plays, but I can't skip to anywhere else in the video, it'll just jump back to where it left off and continue playing.

    &#xA;

    I've been told that it requires a bi-directional data flow. What I was planning on doing was updating the frontend stream URL to add a query string to the end with the timestamp of where the user (me) skips to. This would go back to the backend and I'd use ffmpeg to create a new stream from the video starting at that timestamp.

    &#xA;

    The problem is that I've never really messed around with streams before and I'm finding all of this very confusing. I'm able to get a ReadStream of my video and serve it, but I can't write to it. I can create a WriteStream and have it start at my timestamp (I think) but I can't serve it because I can only return ReadStream, ReadWriteStream, or ReadableStream. The ReadWriteStream sounds perfect but I have no idea how to create one and I couldn't find anything fruitful after a few hours of searching, nor could I find anyway of converting a WriteStream to a ReadStream.

    &#xA;

    There's also the problem I alluded to ; I have no idea if my ffmpeg method is actually working since I can't serve it to test.

    &#xA;

    My working controller method without any of the timestamp stuff is as follows :

    &#xA;

    public async stream({ params, response }: HttpContextContract) {&#xA;    const file = await File.find(params.id)&#xA;    if (!file) {&#xA;        return response.badRequest()&#xA;    }&#xA;    const stream = await Drive.getStream(file.path) // this creates a ReadableStream&#xA;    return response.stream(stream)&#xA;}&#xA;

    &#xA;

    For all the ffmpeg stuff, I'm using fluent-ffmpeg as it was the best wrapper I could find.

    &#xA;

    This was my first attempt.

    &#xA;

    public async stream({ params, request, response }: HttpContextContract) {&#xA;    const file = await File.find(params.id)&#xA;    if (!file) {&#xA;        return response.badRequest()&#xA;    }&#xA;    const stream = await Drive.getStream(file.path) // this creates a ReadableStream&#xA;    if (request.input(&#x27;t&#x27;)) {&#xA;        const timestamp = request.input(&#x27;t&#x27;)&#xA;        ffmpeg()&#xA;            .input(stream)&#xA;            .seekInput(timestamp)&#xA;            .output(stream)&#xA;    }&#xA;    return response.stream(stream)&#xA;}&#xA;

    &#xA;

    How can I achieve what I want ? Am I going about this the wrong way and/or is there a better way ?

    &#xA;

  • Révision 19367 : sur un fichier vide ou inexistant, taille en octet renvoie une chaine vide pluto...

    14 mai 2012, par Fil Up