Recherche avancée

Médias (1)

Mot : - Tags -/remix

Autres articles (84)

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

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

Sur d’autres sites (8872)

  • How to convert a Stream on the fly with FFMpegCore ?

    18 octobre 2023, par Adrian

    For a school project, I need to stream videos that I get from torrents while they are downloading on the server.
When the video is a .mp4 file, there's no problem, but I must also be able to stream .mkv files, and for that I need to convert them into .mp4 before sending them to the client, and I can't find a way to convert my Stream that I get from MonoTorrents with FFMpegCore into a Stream that I can send to my client.

    


    Here is the code I wrote to simply download and stream my torrent :

    


    var cEngine = new ClientEngine();

var manager = await cEngine.AddStreamingAsync(GenerateMagnet(torrent), ) ?? throw new Exception("An error occurred while creating the torrent manager");

await manager.StartAsync();
await manager.WaitForMetadataAsync();

var videoFile = manager.Files.OrderByDescending(f => f.Length).FirstOrDefault();
if (videoFile == null)
    return Results.NotFound();

var stream = await manager.StreamProvider!.CreateStreamAsync(videoFile, true);
return Results.File(stream, contentType: "video/mp4", fileDownloadName: manager.Name, enableRangeProcessing: true);


    


    I saw that the most common way to convert videos is by using ffmpeg. .NET has a package called FFMpefCore that is a wrapper for ffmpeg.

    


    To my previous code, I would add right before the return :

    


    if (!videoFile.Path.EndsWith(".mp4"))
{
    var outputStream = new MemoryStream();
    FFMpegArguments
        .FromPipeInput(new StreamPipeSource(stream), options =>
        {
            options.ForceFormat("mp4");
        })
        .OutputToPipe(new StreamPipeSink(outputStream))
        .ProcessAsynchronously();
    return Results.File(outputStream, contentType: "video/mp4", fileDownloadName: manager.Name, enableRangeProcessing: true);
}


    


    I unfortunately can't get a "live" Stream to send to my client.

    


  • Evolution #3928 : les emails sont publics dans le privé

    6 mai 2017, par guytarr °

    nico d_ a écrit :

    J’aurais dû préciser que je parlais de masquer les emails des auteurs pour les rédacteurs uniquement.
    C’est à dire le cas de figure soulevé par la citation de départ : je m’inscris sur un site et je vois les emails de tout le monde.

    Ca va dépendre des sites et des usages / sites :
    - parfois, on voudra que les inscrits choississent s’ils partagent leur email ou pas lorsqu’ils s’inscrivent
    - parfois, on aura besoin de le forcer
    - parfois on voudra le masquer
    - etc...

    Je le lie à l’autre sujet sur la modération des inscriptions car c’est un petit chantier à appréhender de façon global

  • Array Getting Lost While Passing From C++ to C Using Callback [duplicate]

    23 décembre 2020, par Abhishek Sharma

    I am trying to write Video Using FFmpeg by generating frame at run time using direct3d and the frames are generated using sharp dx at c# and I use window runtime to callback to c# to generate Frame And return Platform::Array of Byte ;

    


    so for writing video using FFmpeg, I used C code that writes video, and to ask for generating frame I implemented a callback to generate a frame and all that in StaticLib

    


    uint8_t*(*genrate_frame_callback)(int) = NULL;   


    


    now in C-File, I call fill_image to get the frame and write to the video

    


    static void fill_image(int frame_index, int width, int height)
{
    int x, y, i;

    i = frame_index;
    auto result = genrate_frame_callback(frame_index);// after passing this point while using debugger reults single element not even array
    .
    .
    .
    code to write video
    
}


    


    now when I call to Write Video before that pass this function to the callback that is in the c++ file in a Window Runtime Component that reference to static lib

    


    uint8_t* genrate_frame(int args)&#xA;{&#xA;    auto frame = FireGenrateFramet(args); // returns Platform::Array<byte>&#xA;    vector v(frame->begin(), frame->end());&#xA;    return v.data();// data is abilabe to this point &#xA;}&#xA;</byte>

    &#xA;

    now the result variable contains a single element&#xA;I am new to c++ and c and unable to understand why is data not passed to the function using call back

    &#xA;

    Edit :

    &#xA;

    then can you help me with how to pass Data I tried using the global Scope Variable c++ file too but still,&#xA;it gets lost,&#xA;but after introducing another call back to read data stored in global Variable it read the whole data correctly

    &#xA;

    vector frame_v;&#xA;uint8_t* genrate_frame(int args)&#xA;{&#xA;    auto frame = FireGenrateFrame(args);&#xA;     vector v(frame->begin(), frame->end());&#xA;    frame_v = v;&#xA;    return v.data();// this loose the Same &#xA;}&#xA;&#xA;uint8_t read_pixal(int args)&#xA;{&#xA;    return frame_v[args];// where as it read out correctly&#xA;}&#xA;

    &#xA;

    but I don't want to store and add new call back an read from their just pass the array

    &#xA;