Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (99)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (10012)

  • ffmpeg x11grab inputting improperly

    20 décembre 2017, par Not a superuser

    I have the stock ffmpeg install from the xbps repository. I’ve used it before, but am on a new system.

    Running "ffmpeg x11grab -video_size 1280x800 -framerate 60 -i $DISPLAY output.mkv" yeilds no errors, but when I watch the video it is a mess switching between workspaces and with only partly rendered programs.

    Taking other inputs such as webcam work fine, and different encoding methods don’t change anything (though webm flat out doesn’t work, but that’s not a problem for me).

    I’ve tried what’s here : https://wiki.archlinux.org/index.php/FFmpeg

    Only other thing to note is that I use i3 as a dm, which shouldn’t be a problem, but figured I’d state it just in case.

    EDIT :
    I was using compton for composite, and that was where my issue lied...
    https://github.com/chjj/compton/issues/381

    Thanks !

  • FFMPEG : Recurring onMetaData for RTMP ? [on hold]

    30 novembre 2017, par stevendesu

    For whatever reason this was put on hold as "too broad", although I felt I was quite specific. So I’ll try rephrasing here :

    My former understanding :

    The RTMP Protocol involves sending several parallel streams of data as a series of packets, with an ID correlating to which stream they are a part of. For instance :

    [VIDEO] <data>
    [AUDIO] <data>
    [VIDEO] <data>
    [VIDEO] <data>
    [SERVER] <metadata about="about" bandwidth="bandwidth">
    [VIDEO] <data>
    [AUDIO] <data>
    ...
    </data></data></metadata></data></data></data></data>

    Then on the player side these packets are split up into separate buffers based on type (all video data is concatenated, all audio data is concatenated, etc)

    One of the packet types is called onMetaData (ID : 0x12)

    An onMetaData packet includes a timestamp for when to trigger the metadata (this way it can be synchronized with the video) as well as the contents of the metadata (a text string)

    My setup :

    I’m using Red5Pro as my ingest server to take in an RTMP stream and then watch this stream via WebRTC. When an onMetaData packet is received by Red5, it sends out a JSON object to all subscribers of the stream over WebSockets with the contents of the stream.

    What I want :

    I want to take advantage of this onMetaData channel to embed the server’s system clock into a stream. This way anyone viewing the stream can determine when (according to the server) a stream was encoded and, if they synchronize their clock with the server, they can then compute the end-to-end latency of the stream. Due to Red5’s use of WebSockets to send metadata this isn’t a perfect solution (you may receive the metadata before or after you actually receive the video information), however I have some plans to work around this.

    In other words, I want my stream to look like this :

    [VIDEO] <data>
    [AUDIO] <data>
    [ONMETADATA] time: 2:05:77.382
    [VIDEO] <data>
    [VIDEO] <data>
    [SERVER] <metadata about="about" bandwidth="bandwidth">
    [VIDEO] <data>
    [ONMETADATA] time: 2:05:77.423
    [AUDIO] <data>
    ...
    </data></data></metadata></data></data></data></data>

    What I would like is to generate this stream (with the server’s current time periodically embedded into the onMetaData channel) using FFMPEG

    Simpler problem :

    FFMPEG offers a -metadata command-line parameter.

    In my experiments, using this parameter caused a single onMetaData event to be fired including things like "title", "author", etc. I could not inject additional onMetaData packets periodically as the stream progressed.

    Even if the metadata packets do not contain the system clock, if I could send any metadata packets periodically using FFMPEG then I could include something static like "the server’s clock at the time the broadcast started". I can then compare this to the current timestamp of the video and calculate the latency.

    My confusion :

    Continuing to look into this after creating my post, there are a couple things that I don’t fully understand or which don’t quite make sense to me. For one, if FFMPEG is only injecting a single onMetaData packet into the stream, then I would expect anyone joining the stream late to miss it. However when I join the stream 8 hours later I see Red5 send me the metadata packet complete with title, author, etc. So it’s almost like the metadata packet doesn’t have a timestamp associated with it but instead is just generic metadata about the video

    Furthermore, there’s something called "AMF" which I’m not familiar with, but it may be important ?

    Original Post

    I spent today playing around with methods to embed the system clock at time of encode into a stream, so that I could compare this value to the same system clock at time of decode to get a rough estimate of RTMP latency. Unfortunately the majority of techniques I used ended up failing.

    One thing I wanted to try next was taking advantage of RTMP’s onMetaData to send the current system clock periodically (maybe every 5 seconds) as part of the stream for any clients to listen for.

    Unfortunately FFMPEG’s -metadata option seems to only be for one-time metadata when the stream first loads. I can’t figure out how to add continuous (and generated) values to a stream.

    Is there a way to do this ?

  • how to do mjpeg streaming using ffmpeg and c#

    19 décembre 2017, par Mahesh Vemuri

    I am trying to create a preview of my rtmp stream. But RTMP playback occupies the bandwidth as source, I want to do mjpeg streaming using ffmpeg and c#. Is it possible to do ?

    I am trying to create a webpage where users can monitor the stream. For this I dont need to use RTMP url to watch as it needs more and more bandwidth.

    So, my idea is to capture images and show them in sequence rate controlled at 1 frame per second. In this way users can monitor.

    I have tried various methods like using mjpeg

    ffmpeg.exe -i renditiontest.mp4 -c:v mjpeg -q:v 31 -an sample.avi

    Now, output file is getting generated. But, it is occupying harddisk.

    So, next way is to create images overwriting previous images

    ffmpeg.exe -y -i renditiontest.mp4 -f image2 -updatefirst 1 sample2.jpg

    Now, I tried creating a stream which will continously read the image and write it as response in C#.

    using (WebClient webClient = new WebClient())
                   {
                       string url = "http://localhost/probe_VOD/mjpg/sample2.jpg";
                       var memoryStream = new MemoryStream(webClient.DownloadData(url));

                       response.Headers.AcceptRanges.Add("bytes");
                       response.StatusCode = HttpStatusCode.OK;
                       response.Content = new StreamContent(memoryStream);
                       //response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("render");
                       //response.Content.Headers.ContentDisposition.FileName = "sample.jpg";
                       response.Content.Headers.ContentType = new MediaTypeHeaderValue("multipart/x-mixed-replace; boundary=myboundary");
                       response.Content.Headers.ContentLength = memoryStream.Length;
                   }
                   return response;

    Please let me know how do I acheive this.