Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (100)

  • 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

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (11245)

  • Pass individual frames as BGRA byte array and set the timestamps via pipe to FFmpeg

    30 juillet 2023, par Nicke Manarin

    I have a set of images (as BGRA byte[]) with their respective timestamps in milliseconds and I want to pass it to FFmpeg to build an animation.

    


    I'm using FFmpeg v6 right now and in this example I'm expecting a GIF as output, but I'm going to export to multiple formats later.

    


    var arguments = "-vsync passthrough  
-f rawvideo 
-pix_fmt bgra 
-video_size {width}x{height} 
-i -  
-loop 0 
-lavfi palettegen=stats_mode=diff[pal],[0:v][pal]paletteuse=new=1:dither=sierra2_4a:diff_mode=rectangle 
-f gif 
-y \"C:\Users\User\Desktop\test.gif\"";

var process = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "./ffmpeg.exe",
        Arguments = arguments.Replace("{width}", width.ToString()).Replace("{height}", height.ToString()),
        RedirectStandardInput = true,
        RedirectStandardOutput = true,
        UseShellExecute = false,
        CreateNoWindow = true
    }
};

_process.Start();



    


    Then on my render loop, I'm trying to send the frames and their timestamps one by one.

    


    public void EncodeFrame(IntPtr bufferAddress, int bufferStride, int width, int height, int index, long timestamp, int delay)
{
    var frameSize = height * bufferStride;
    var frameBytes = new byte[frameSize];
    System.Runtime.InteropServices.Marshal.Copy(bufferAddress, frameBytes, 0, frameSize);

    _process.StandardInput.BaseStream.Write(frameBytes, 0, frameSize);
    _process.StandardInput.BaseStream.Write(_delimiter, 0, _delimiter.Length);
    _process.StandardInput.BaseStream.Write(BitConverter.GetBytes(timestamp), 0, sizeof(long));
}


    


    The issue is that I'm getting an IOException (The pipe has been ended), so probably I'm not sending the frames correctly (not sending the delimiter and timestamp doesn't help).

    


    Is this even possible ?

    


  • ffmpeg output pipeing to named windows pipe

    30 juillet 2023, par Lucas

    This question is related to my previous question : Converting raw frames into webm live stream

    



    I want to pipe a video to ffmpeg and read it back through another pipe, but I cannot pipe the output of ffmpeg.exe to a named pipe on windows.

    



    My definition of the pipes in C# :

    



    NamedPipeServerStream p_to_ffmpeg;
NamedPipeServerStream p_from_ffmpeg;
p_to_ffmpeg = new NamedPipeServerStream("to_ffmpeg", PipeDirection.Out, 1, PipeTransmissionMode.Byte);
p_from_ffmpeg = new NamedPipeServerStream("from_ffmpeg", PipeDirection.In, 1, PipeTransmissionMode.Byte);


    



    And then I start ffmpeg.exe in a separate process with the following options : -f rawvideo -vcodec rawvideo -video_size 656x492 -r 10 -pix_fmt rgb24 -i \\.\pipe\to_ffmpeg  -c:v libvpx  -pass 1 -f webm \\.\pipe\from_ffmpeg

    



    ffmpeg.exe refuses to write to the pipe with the following error : File '\\.\pipe\from_ffmpeg' already exists. Overwrite ? [y/N]

    



    When I replace the "output pipe" with a file name, it works like charm : -f rawvideo -vcodec rawvideo -video_size 656x492 -r 10 -pix_fmt rgb24 -i \\.\pipe\to_ffmpeg  -c:v libvpx  -pass 1 -f webm output.webm

    



    How do I get ffmpeg to write to a named pipe in windows ?

    



    Edit : When I force to write to the pipe with ffmpeg's -y option, I get the following error : Could not write header for output file #0 (incorrect codec parameters ?): Error number -32 occurred

    


  • ffmpeg concat multiple files into pipe

    1er août 2023, par Jacob Lambert

    I'm trying to get ffmpeg to concat 2 files and output the result to a pipe but the command never completes. If I output directly to a .mp4 file, the command does complete. The command I am using is :

    


    ffmpeg -f concat -safe 0 -protocol_whitelist file,https,tls,tcp -i /tmp/parts.txt -c copy -video_track_timescale 600 -map 0 -movflags frag_keyframe+empty_moov -f mp4 pipe:1 -y


    


    The sources in /tmp/parts.txt are presigned AWS S3 urls. As this does work when outputting directly to a .mp4, I do not believe the part files to be the issue.

    


    I think the issue may arise from needing to specify -f twice. Once for the concat and again to indicate what format to output on pipe:1.

    


    What could be the issue for this command just hanging ?

    


    Edit :

    


    Adding verbose gives a lot of logs with :

    


    [mp4 @ 0x11ae0a260] pts has no value