Recherche avancée

Médias (91)

Autres articles (106)

  • Soumettre bugs et patchs

    10 avril 2011

    Un logiciel n’est malheureusement jamais parfait...
    Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
    Si vous pensez avoir résolu vous même le bug (...)

  • 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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (9404)

  • How to Configure nginx with stunnel to accept parameters for different FB Live Streams OR rtmps with FFMPEG

    15 septembre 2020, par Yogesh Agarwal

    I want to setup RTMPS and learned that only way around is by using nginx and stunnel. I have the setup and it works with just one configured key.

    



    I have several different keys and all are dynamic. A lot of different urls too.

    



    My Goal is to add a parameter or some way by which i can send the custom url to nginx and it can send to Stunnel, and it can read the custom url and forward the encrypted stream to that url.

    



    I am able to get everything done right via ngnix and stunnel but with preconfigured key only - But i want Dynamic key here.. just like a parameter where you can simply plug and send the stream.

    



    I even tried to set this way.

    



    push rtmp ://127.0.0.1:19350/rtmp/ ;

    



    so i can simple forward the stream to rtmp ://127.0.0.1:19350/rtmp/my-key and it takes my-key and forward the stream via stunnel to facebook. but i cannot get it work.

    



    I am about to bang my heads in walls. Kindly give me some pointers.. I am not sure how to do it via ffmpeg as it says it cannot find rtmps protocol.

    



    My Nginx Config :

    



    # RTMP configuration
rtmp {
    server {
        listen 1935; # Listen on standard RTMP port
        chunk_size 4000;
 # This application is to accept incoming stream
        application live {


                live on; # Allows live input from above
                exec_push rtmp://127.0.0.1:19350/rtmp/$name;
                allow play 127.0.0.1;
                dash on;
                dash_path /var/tmp/dashme;

                hls on; # Enable HTTP Live Streaming
                hls_cleanup on;
                hls_sync 100ms;
                hls_fragment 2s;
                hls_path /var/tmp/live/;


        }


    



    and My Stunnel Config :

    



    setuid = nobody
setgid = nobody
pid=/tmp/stunnel.pid
output = /var/log/stunnel.log
;include = /etc/stunnel/conf.d

[fb-live]
client = yes
accept = 127.0.0.1:19350
connect = live-api-s.facebook.com:443
;verifyChain = no


    


  • Anomalie #4623 : Styles des fieldset dans l’espace privé

    17 avril 2021, par RastaPopoulos ♥

    Bé oui ça n’a pas de rapport avec la fin, c’est que dans n’importe quel form, même sans aucun groupe imbriqué, juste ceux racines, il peut y avoir alternance entre fieldsets et champs. Par ex : Prénom, Nom, Adresse (fieldset regroupant des champs logiques entre eux), Téléphone, Etc.

    La règle algorithmique étant : il faut au moins voir la fin de tous les fieldsets qui sont suivis d’un élément n’étant pas un fieldset ni les boutons de fin.

    Et je vois mal comment automatiser ça au niveau production du code puisque par exemple pour un objet, qui aurait à la fin un fieldset, on pourrait se dire qu’on n’a pas à voir sa fin, sauf que Champs Extras peut parfaitement ajouter des champs sans groupe après. Ou n’importe quel plugin.

    Aussi pour aider à styler, comme je le disais tout à l’heure sur IRC, je pense qu’il faudrait corriger une incohérence actuellement : en gros 99% des formulaires dans la nature, core + plugins, ont les vrais fieldsets (pas des radios ensemble quoi), dans un conteneur div.fieldset en plus. Et seulement quelques forms de configs ont des fieldsets directement comme ça qui se baladent sans aucun conteneur dédié. Cela fait qu’on doit à la fois styler ".formulaire_spip .fieldset fieldset" et ".formulaire_spip fieldset" différemment avec des exceptions ajoutées, car ça change les marges !
    Je propose pour ce ticket d’en profiter pour uniformiser tous les quelques formulaires qui ont des "vrais" fieldsets toujours dans un conteneur. Ainsi on stylera toujours une seule chose, et en plus ça sera encore plus simple de styler seulement ces vrais fieldsets par rapport à ceux des radios/checks.

  • How to convert live video stream to mp4 format stream using FFmpeg API [on hold]

    27 avril 2017, par krish

    Using FFmpeg API :ConvertLiveMediaTask

    ConvertLiveMedia(Stream inputStream, string inputFormat, Stream outputStream, string outputFormat, ConvertSettings settings) ;

    Requirement : want to convert video file from any format to mp4 format and conversion should happen on fly using ConvertLiveMedia API

    Please help me for this problem, I googled so many times i didnt get a solution for this.

    Here is my code

    const int megabyte = 1024 * 1024;

    static string theFilename = @"F:\BackUp\Short video clip-nature.avi";

    static string[] VideoExtension = { ".ac3", ".aiff", ".alaw", ".asf", ".ast", ".mp4", ".au", ".avi", ".caf"};

    static void Main(string[] args)
    {
        ChunkedData(theFilename, 0);
    }              

    private static void ChunkedData(string theFilename, long whereToStartReading = 0)
    {
         string extension = System.IO.Path.GetExtension(theFilename);

         Stream chunkStream = new MemoryStream();

         if (VideoExtension.Any(Vi => extension.Contains(Vi)))
         {
              FileStream fileStram = new FileStream(theFilename, FileMode.Open, FileAccess.Read);

              using (fileStram)
              {
                    byte[] buffer = new byte[megabyte];

                    fileStram.Seek(whereToStartReading, SeekOrigin.Begin);

                    int bytesRead = fileStram.Read(buffer, 0, megabyte);

                    while (bytesRead > 0)
                    {
                        // Here i receive and implement
                        chunkStream = StreamData(buffer, bytesRead, extension);

                        bytesRead = fileStram.Read(buffer, 0, megabyte);
                    }
             }
         }                          
    }              

    private static Stream StreamData(byte[] buffer, int bytesRead, string formate)
    {
       // Have no idea what to give for ConvertSettings, i simply pass a object
       ConvertSettings settings = new ConvertSettings();

       var ffmpeg = new FFMpegConverter();

       Stream inputStream = new MemoryStream(buffer);

       Stream outputStream = new MemoryStream();

       try
       {
          // Here im getting outputStream capacity = 0, length = 0, position =0.
          var task = ffmpeg.ConvertLiveMedia(inputStream, formate, outputStream, Format.mp4, settings );
          task.Start();

       }
       catch (Exception ex)
       {
             Console.WriteLine(ex.ToString());
       }

       return outputStream;
    }