Recherche avancée

Médias (91)

Autres articles (98)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

  • 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.

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (12139)

  • Adding images on both sides of a vertical video using FFmpeg

    7 juin 2016, par John Dakota

    I have a video that I recorded with my phone vertically. When viewing the video on a computer, a large margins on both sides of the video are black. I would like to replace this with an image using FFmpeg.

    I read the section on pads on the FFmpeg docs, but it does not say anything about using images as pads (correct me if I’m wrong), it only mentions using colors.

  • Play UDP live video stream in UWP

    19 avril 2018, par Nicolas Séveno

    I need to display a live video stream in a UWP application.

    The video stream comes from a GoPro. It is transported by UDP messages. I think it is a MPEG-2 TS stream.

    I can play it successfully using FFPlay with the following command line :

    ffplay -fflags nobuffer -f:v mpegts udp://:8554

    I would like to play it with MediaPlayerElement without using a third party library.

    According to the following page :
    https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/supported-codecs
    UWP should be able to play it. (I installed the "MPEG 2 video extension" in the Windows Store).

    I tried using DatagramSocket and the MessageReceived event to receive the UDP packets, it works without problem :

    _datagramSocket = new DatagramSocket();
    _datagramSocket.MessageReceived += (s, args) =>
    {
       Debug.WriteLine("message received");
    };
    await _datagramSocket.BindServiceNameAsync(8554);

    Then I create a MseStreamSource :

    _mseStreamSource = new MseStreamSource();
    _mseStreamSource.Opened += (_, __) =>
    {
       _mseSourceBuffer = _mseStreamSource.AddSourceBuffer("video/mp2t");
    };
    this.MediaSource = MediaSource.CreateFromMseStreamSource(_mseStreamSource);

    And in the DatagramSocket.MessageReceived event I send the messages to the MseStreamSource :

    using (IInputStream stream = args.GetDataStream())
    {
       _mseSourceBuffer.AppendStream(stream);
    }

    The AppendStream method fails with error HRESULT 0x8070000B for some packets.
    If I catch the error, the MediaPlayerElement displays the message "video not supported or incorrect file name". (not sure of the message, my Windows is in French).

    Is the MseStreamSource the correct way to display the stream ? Is there a better solution ?

  • How to send encoded video (or audio) data from server to client in a way that's decodable by webcodecs API using minimal latency and data overhead

    11 janvier 2023, par Tiger Yang

    My question (read entire post for context) :

    


    Given the unique circumstance of only ever decoding data from a specifically-configured encoder, what is the best way I can send the encoded bitstream along with the bare minimum extra bytes required to properly configure the decoder on the client's end (including only things that change per stream, and omitting things that don't, such as resolution) ? I'm a sucker for zero compromises, and I think I am willing to design my own minimal container format to accomplish this.

    


    Context and problem :

    


    I'm working on a remote desktop implementation that consists of a server that captures and encodes the display and speakers using FFmpeg and forwards it via pipe to a go (language) program which sends it on two unidirectional webtransport streams to my client, which I plan to decode using the webcodecs API. According to MDN, the video decoder needs to be fed via .configure() an object containing the following : https://developer.mozilla.org/en-US/docs/Web/API/VideoDecoder/configure before it's able to decode anything.

    


    same goes for the audio decoder : https://developer.mozilla.org/en-US/docs/Web/API/AudioDecoder/configure

    


    What I've tried so far :

    


    Because this remote desktop will be for my personal use only, it would only ever receive streams from a specific encoder configured in a specific way encoding video at a specific resolution, framerate, color space, etc.. Therefore, I took my video capture FFmpeg command...

    


    videoString := []string{
        "ffmpeg",
        "-init_hw_device", "d3d11va",
        "-filter_complex", "ddagrab=video_size=1920x1080:framerate=60",
        "-vcodec", "hevc_nvenc",
        "-tune", "ll",
        "-preset", "p7",
        "-spatial_aq", "1",
        "-temporal_aq", "1",
        "-forced-idr", "1",
        "-rc", "cbr",
        "-b:v", "500K",
        "-no-scenecut", "1",
        "-g", "216000",
        "-f", "hevc", "-",
    }


    


    ...and instructed it to write to an mp4 file instead of outputting to pipe, and then I had this webcodecs demo https://w3c.github.io/webcodecs/samples/video-decode-display/ demux it using mp4box.js. Knowing that the demo outputs a proper .configure() object, I blindly copied it and had my client configure using that every time. Sadly, it didn't work, and I since noticed that the "description" part of the configure object changes despite the encoder and parameters being the same.

    


    I knew that mp4 files worked via mp4box, but they can't be streamed with low latency over a network, and additionally, ffmpeg's -f parameters specifies the muxer to use, but there are so many different types.

    


    At this point, I think I'm completely out of my depth, so :

    


    Given the unique circumstance of only ever decoding data from a specifically-configured encoder, what is the best way I can send the encoded bitstream along with the bare minimum extra bytes required to properly configure the decoder on the client's end (including only things that change per stream, and omitting things that don't, such as resolution) ? I'm a sucker for zero compromises, and I think I am willing to design my own minimal container format to accomplish this. (copied above)