Recherche avancée

Médias (91)

Autres articles (98)

  • 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

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

Sur d’autres sites (7037)

  • FFmpeg av_interleaved_write_frame to buffer

    2 juin 2022, par phantasm

    Hi I am using FFmpeg Autogen C#. Everything works when I use mkv output as a file and h264 rtsp stream as input. Codec is libx264

    


      ffmpeg.avio_open(&container->pb, filename, 2),
  fmpeg.avformat_write_header(container, null)
  ffmpeg.av_read_frame(inputContainer, &pkt)
  ffmpeg.av_interleaved_write_frame(container, &pkt).


    


    Mkv file output is working perfect.
But when I am trying to open AVIOContext to the buffer

    


    ffmpeg.avio_alloc_context(avio_ctx_buffer, 32768, 1, &bd, null, write, seek)


    


    Seek Function

    


    unsafe long seek(void* opaque, long offset, int whence)
    {
        buffer_data* bd = (buffer_data*)opaque;
        switch (whence)
        {
            case 0:
                bd->ptr = bd->buf + offset;
                return (long)bd->ptr;
            case 1:
                bd->ptr += offset;
                break;
            case 2:
                bd->ptr = (bd->buf + bd->size) + offset;
                return (long)bd->ptr;
            case 65536:
                return bd->size;
            default:
                return -1;
        }
        return 1;
    }


    


    Write Function

    


     unsafe int write(void* opaque, byte* buf, int buf_size)
        {

            buffer_data* bd = (buffer_data*)opaque;
            while ((ulong)buf_size > bd->room)
            {
                long offset = bd->ptr - bd->buf;
                bd->buf = (byte*)ffmpeg.av_realloc_f(bd->buf, 2, (ulong)bd->size);
                if (bd->buf == null)
                    return ffmpeg.AVERROR(ffmpeg.ENOMEM);
                bd->size *= 2;
                bd->ptr = bd->buf + offset;
                bd->room = (ulong)(bd->size - offset);
            } 
            memcpy((IntPtr)bd->ptr, (IntPtr)buf, (UIntPtr)buf_size); 
            bd->ptr += buf_size;
            bd->room -= (ulong)buf_size;
            byte[] b = new byte[buf_size];
            Marshal.Copy((IntPtr)buf, b, 0, buf_size);
            using (var fs = new FileStream(@"D:\file1.mkv", FileMode.Append, FileAccess.Write, FileShare.ReadWrite))
            {
                using (BinaryWriter writer = new BinaryWriter(fs))
                {
                    writer.Write(b);
                }

            }
            return buf_size;
        }


    


    Buffer Data

    


    public unsafe struct buffer_data
        {
            public byte* buf;
            public long size;
            public byte* ptr;
            public ulong room; ///< size left in the buffer
        };


    


    Result I am getting is 1 second mkv video(its size increases but vlc player is unable to play it).Also notice that writing to file is just for testing I am trying to keep mkv data in buffer.Thank you !!!. If smth missing please comment I will add

    


  • Combine mp4 init file and m4s segments to a single mp4 file

    5 août 2020, par David Oz

    In my Nodejs server, I'm trying to combine init-file in mp4 format, with some m4s segments.
I've used Buffer.concat() and it partially worked, it seems like the segments hold an offset because they are taken from the middle of a video that is played with mpeg-dash, which causes an incorrect start time. when I use the fluent-ffmpeg npm library, the file is fixed, but it takes way too long (about as long as the video itself).
I was wondering if is it possible to fix the problem by changing some bytes in the buffer or anything faster like that.

    


  • How to add audio to video file at a specific time using ffmpeg

    7 avril 2017, par LEM

    I have an avi and a wav file. Let’s suppose the video file is one hour long, and the audio file 30 minutes long and it’s associated with the last 30 minutes of the video file.

    Is there a way to create a new video file with the video and audio combined but audio starting after the first 30 minutes of the video ?