Recherche avancée

Médias (91)

Autres articles (95)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, 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 (...)

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

Sur d’autres sites (10983)

  • Low latency routing of rtp input to rtsp output with ffmpeg on a server

    29 mai 2020, par guillefix

    I want to be able to do some simple low-latency screen share. I know peer-to-peer would be the lowest latency, but it seems using an intermediate server is a lot easier to setup. I have found this awesome little library, which sets up an RTSP server, which I'm running on my digital ocean server. I then :

    



      

    1. Set up OBS to stream using RTP to the server on port 8558 with libx264 encoding.
    2. 


    3. Run ffmpeg -re -stream_loop -1 -i rtp://127.0.0.1:8558 -c:v libx264 -c:a aac -f rtsp rtsp://localhost:8554/mystream on the server.
    4. 


    5. Open rtsp://<server ip="ip">:8554/mystream</server> on VLC.
    6. &#xA;

    &#xA;&#xA;

    However, the latency seems to be quite high. With my crappy internet it must have been like half a minute. A friend with better internet saw it fluctuating between 4-15 seconds. Furthermore, there seems to be a lot of artifacts on the video (problems with encoding ? I'm not sure why these happen ?)

    &#xA;&#xA;

    I attach below my OBS settings, and an example of artifacts.

    &#xA;&#xA;

    My question is : is there some settings on OBS and on ffmpeg that would allow this to have as low end-to-end latency as possible, while not having too many bad artifacts ? I'm not very well versed on video encoding and streaming, so this is all quite new to me. I'm willing to learn !

    &#xA;&#xA;

    OBS settings

    &#xA;&#xA;

    video artifacts

    &#xA;

  • Is there any way that I can speed up the ffmpeg processing time

    20 mai 2020, par Ahmed Al-Rayan

    I am facing a problem with the processing process. I use a real joint server in a digital hosting package of $ 10 and use cloud service from Amazon s3. The problem is when uploading a video, whatever the size of the video, whether its size is 1 megabyte or 2 Giga. After the upload process, the processing process starts to upload, there is no problem But when the processing process takes a very long time so that I cannot complete it, what is the solution to that, is there a problem for me or is this process normal ?&#xA; I use laravel-ffmpeg and through laravel queue I am cutting the video into several qualities I will attach the code to you below.

    &#xA;&#xA;

    public function handle()&#xA;{&#xA;    //180p&#xA;    $lowBitrate1 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(613);&#xA;    //270p&#xA;    $lowBitrate2 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(906);&#xA;    //360p&#xA;    $midBitrate1 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(1687);&#xA;    //540p&#xA;    $midBitrate2 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(2227);&#xA;    //720p&#xA;    $highBitrate1 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(4300);&#xA;    //1080&#xA;    $highBitrate2 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(7917);&#xA;&#xA;FFMpeg::fromDisk(&#x27;s3&#x27;)&#xA;    ->open($this->movie->path)&#xA;    ->exportForHLS()&#xA;    ->onProgress(function ($percent) {&#xA;        $this->movie->update([&#xA;            &#x27;percent&#x27; => $percent&#xA;        ]);&#xA;    })&#xA;    ->setSegmentLength(10)// optional&#xA;    ->addFormat($lowBitrate1)&#xA;    ->addFormat($lowBitrate2)&#xA;    ->addFormat($midBitrate1)&#xA;    ->addFormat($midBitrate2)&#xA;    ->addFormat($highBitrate1)&#xA;    ->addFormat($highBitrate2)&#xA;    ->toDisk(&#x27;s3&#x27;)&#xA;    ->save("public/Movies/{$this->movie->id}/{$this->movie->id}.m3u8");&#xA;}//end of handle&#xA;

    &#xA;

  • Video Feedback Loop with ffmpeg

    4 mai 2020, par driangle

    I am trying to create a digital video feedback loop between two computers.

    &#xA;&#xA;

    What I mean by this is the following :

    &#xA;&#xA;

    digital video feedback loop

    &#xA;&#xA;

    I attempted several combinations of protocols and video formats and I found out this is the closest I can get. The original video was an "mov" but I had to convert it to .ts in order to get this far, had other issues when using mov or mp4.

    &#xA;&#xA;

    I ran the commands in this order to make sure tcp listeners were up before the clients.

    &#xA;&#xA;

    On Local Computer

    &#xA;&#xA;

    # Command 1: Temporary attempt to capture output of loop&#xA;ffmpeg -i &#x27;udp://0.0.0.0:6002?listen&amp;overrun_nonfatal=1&#x27; -c copy out.ts&#xA;

    &#xA;&#xA;

    # Command 2: Receives stream from remote host and forwards back to beginning of loop&#xA;ffmpeg -i tcp://0.0.0.0:6001?listen -f mpegts udp://localhost:6002&#xA;

    &#xA;&#xA;

    On Remote Computer

    &#xA;&#xA;

    #  Command 3: Receives stream from local host and returns stream to another ffmpeg instance&#xA;ffmpeg -i tcp://0.0.0.0:6000?listen -f mpegts tcp://:6001&#xA;

    &#xA;&#xA;

    On Local Computer

    &#xA;&#xA;

    # Command 4: Sends stream to remote host&#xA;ffmpeg -re -i in.ts  -f mpegts tcp://:6000&#xA;

    &#xA;&#xA;

    The steps above don't quite complete the feedback loop, but they do result in a successful video out.ts

    &#xA;&#xA;

    Then I tried to modify Command 4 so that it could merge both a file and a udp stream, this is a naive attempt I know, I am not very good with ffmpeg.

    &#xA;&#xA;

     ffmpeg \&#xA;    -re -i in.ts -i udp://0.0.0.0:6002 \&#xA;    -filter_complex " \&#xA;        [0:v]setpts=PTS-STARTPTS, scale=540x960[top]; \&#xA;        [1:v]setpts=PTS-STARTPTS, scale=540x960, \&#xA;             format=yuva420p,colorchannelmixer=aa=0.5[bottom]; \&#xA;        [top][bottom]overlay=shortest=1" \&#xA;    -f mpegts tcp://:6000&#xA;

    &#xA;&#xA;

    The result was that the command hung waiting for a data on the udp port, which makes sense in hindsight.

    &#xA;&#xA;

    I would like to know :

    &#xA;&#xA;

      &#xA;
    • Can this be done at all ? If so, what do I need to change ?
    • &#xA;

    • Do I need to abandon ffmpeg for this task and look into something else ?
    • &#xA;

    &#xA;&#xA;

    If you're asking why would I do this, the answer is there is no good reason other than I am curious to know if it's possible and what results it would yield.

    &#xA;