Recherche avancée

Médias (91)

Autres articles (75)

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

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (9151)

  • avformat/mpegtsenc : Restrict "async" behavior to KLV async packets

    9 mars 2023, par Devin Heitmueller
    avformat/mpegtsenc : Restrict "async" behavior to KLV async packets
    

    The original code would strip off the PTS/DTS of any packets
    which had a stream ID of STREAM_ID_PRIVATE_STREAM_1. While the
    intent was to apply this to asynchronous KLV packets, it was
    being applied to any codec that had that same stream ID (including
    types such as SMPTE 2038).

    Add a clause to the if() statement to ensure it only gets applied
    if the codec actually is KLV.

    Signed-off-by : Devin Heitmueller <dheitmueller@ltnglobal.com>
    Signed-off-by : Marton Balint <cus@passwd.hu>

    • [DH] libavformat/mpegtsenc.c
  • ffmpeg produces video with misaligned frames

    28 mars 2023, par massivemoisture

    I have a WPF app that uses DeckLinkAPI to stream video from Blackmagic capture card (similar to their 'CapturePreviewCSharp' sample project, which can be found here : https://www.blackmagicdesign.com/developer/)

    &#xA;

    'VideoInputFrameArrived' method is called when a video input frame arrives :

    &#xA;

    void IDeckLinkInputCallback.VideoInputFrameArrived(IDeckLinkVideoInputFrame videoFrame, IDeckLinkAudioInputPacket audioPacket)&#xA;{&#xA;    if (videoFrame != null)&#xA;    {&#xA;        CurrentFrame = videoFrame;&#xA;        VideoFrameArrived?.Invoke(this, new DeckLinkDeviceInputVideoFrameEventArgs(videoFrame));&#xA;        GC.AddMemoryPressure(videoFrame.GetRowBytes() * videoFrame.GetHeight());&#xA;    }&#xA;}&#xA;

    &#xA;

    I want to record the stream to a file. So I open a ffmpeg process with these arguments :

    &#xA;

    // My source is 1080p&#xA;string args = $".\\ffmpeg.exe -y -f rawvideo -pix_fmt bgra -s 1920x1080 -r 30 -i - -c:v libx264 -preset ultrafast -pix_fmt yuv420p -crf 23 \"{outputFilePath}\"";&#xA;

    &#xA;

    And I write to ffmpeg's pipe :

    &#xA;

    // ffmpegInputStream = FfmpegProcess.StandardInput.BaseStream&#xA;public void WriteVideoFrameToProcessStream(Stream ffmpegInputStream)&#xA;{&#xA;    while (true)&#xA;    {&#xA;        if (isRecording == true)&#xA;        {&#xA;            if (ffmpegInputStream != null)&#xA;            {&#xA;                // Convert the frame to BGRA32 format and convert the video frame to a byte array&#xA;                byte[] frameData = ConvertVideoFrameToByteArray(CurrentFrame);&#xA;                // Write the frame data to the ffmpeg input stream&#xA;                ffmpegInputStream.Write(frameData, 0, frameData.Length);&#xA;            }&#xA;        }&#xA;    }&#xA;}&#xA;

    &#xA;

    But the video file output has misaligned frames. The frame looks like it has been shifted to the left. 1/5 of the frame on the right is supposed to be on the left.&#xA;enter image description here

    &#xA;

    I tried saving the frameData byte array in WriteVideoFrameToProcessStream to an image file and it looks fine. What could be wrong here ?

    &#xA;

  • "Output stream closed" when streaming PassThrough stream to AWS using @aws-sdk/lib-storage

    5 avril 2023, par cjd

    I am attempting to stream a PassThrough stream directly to S3 using @aws-sdk/lib-storage.

    &#xA;

    My upload function is :

    &#xA;

    const uploadStreamToS3 = () => {&#xA;    const Key = &#x27;test.mp4&#x27;;&#xA;    const Bucket = &#x27;bucket-name&#x27;;&#xA;    const stream = new PassThrough();&#xA;    const upload = new Upload({&#xA;        client: s3Client,&#xA;        params: { Bucket, Key, Body: stream },&#xA;        tags: [], // optional tags&#xA;        queueSize: 4, // optional concurrency configuration&#xA;        partSize: 1024 * 1024 * 5, // optional size of each part, in bytes, at least 5MB&#xA;        leavePartsOnError: false // optional manually handle dropped parts&#xA;    });&#xA;    return {&#xA;        stream,&#xA;        uploadComplete: upload.done(),&#xA;        upload&#xA;    };&#xA;};&#xA;

    &#xA;

    I am piping from ffmpeg directly to the PassThrough stream :

    &#xA;

            ffmpegInstance&#xA;            .addOutputOptions(&#xA;                &#x27;-movflags &#x2B;frag_keyframe&#x2B;separate_moof&#x2B;omit_tfhd_offset&#x2B;empty_moov&#x27;&#xA;            )&#xA;            .format(&#x27;mp4&#x27;)&#xA;            .pipe(stream, { end: true });&#xA;

    &#xA;

    When I run this locally, everything works.

    &#xA;

    I am using a container lambda function with Docker.

    &#xA;

    If I run the Docker container locally, everything works as expected. If I run the same code on Lambda, I get the following error Output stream is closed.

    &#xA;

    One work around is to write the file to the Lambda tmp folder using a writeStream and once the file is written I can stream the file to S3 using a readStream as the Body of new Upload. However, I would like to stream directly to S3 and not create this temporary file in Lambda.

    &#xA;

    Is this possible ? Is the issue with using a PassThrough stream in the Body for S3 ?

    &#xA;