Recherche avancée

Médias (0)

Mot : - Tags -/diogene

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (90)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

  • Mediabox : ouvrir les images dans l’espace maximal pour l’utilisateur

    8 février 2011, par

    La visualisation des images est restreinte par la largeur accordée par le design du site (dépendant du thème utilisé). Elles sont donc visibles sous un format réduit. Afin de profiter de l’ensemble de la place disponible sur l’écran de l’utilisateur, il est possible d’ajouter une fonctionnalité d’affichage de l’image dans une boite multimedia apparaissant au dessus du reste du contenu.
    Pour ce faire il est nécessaire d’installer le plugin "Mediabox".
    Configuration de la boite multimédia
    Dès (...)

Sur d’autres sites (7362)

  • Want to convert WebM files to Mp4, AVI, MOV etc

    17 janvier 2015, par shilpi_agrawal

    I converted Mp4, AVI, MOV files to WebM using ffmpeg with good quality. Now I need my original files with same size and quality. Will it be possible to get it back ?

  • How to have multiple websocket RTSP streams ?

    6 octobre 2020, par kinx

    After spending some time reading various open-source projects on how to develop RTSP and WebSocket streams, I've almost built a simple project that allows me to display multiple streams on the page.

    


    I have a working example of just one stream working with the code below. A single URL in an array is sent to the client via WebSocket and with JSMPeg, it displays it with some success.

    


    However, I'm not sure how to build this where I have multiple sockets with an RTSP stream in each one and how to give each socket url it's own id. The idea is to encrypt the URL and when the client requests the list of streams, send back that as a socket id, and with JSMPeg, request that data.

    


    Server :

    


    class Stream extends EventEmitter {
  constructor() {
    super();
    this.urls = ["rtsp://someIPAddress:554/1"];
    this.urls.map((url) => {
      this.start(url);
    });
  }
  start(url) {
    this.startStream(url);
  }
  setOptions(url) {
    const options = {
      "-rtsp_transport": "tcp",
      "-i": url,
      "-f": "mpegts",
      "-codec:v": "mpeg1video",
      "-codec:a": "mp2",
      "-stats": "",
      "-b:v": "1500k",
      "-ar": "44100",
      "-r": 30,
    };
    let params = [];
    for (let key in options) {
      params.push(key);
      if (String(options[key]) !== "") {
        params.push(String(options[key]));
      }
    }
    params.push("-");
    return params;
  }
  startStream(url) {
    const wss = new WebSocket.Server({ port: 8080 });
    this.child = child_process.spawn("ffmpeg", this.setOptions(url));
    this.child.stdout.on("data", (data) => {
      wss.clients.forEach((client) => {
        client.send(data);
      });
      return this.emit("data", data);
    });
  }
}

const s = new Stream();
s.on("data", (data) => {
  console.log(data);
});


    


    In the constructor, there's an array of URLs, while I only have one here, i'd like to add multiple. I create a websocket and send that back. What I'd like to do is encrypt that URL with Crypto.createHash('md5').update(url).digest('hex') to give it it's own ID and create a websocket based on that id, send the data to that websocket and send that with a list of other id's to the client.

    


    client :

    


      <canvas style="width: 100%"></canvas>&#xA;  <code class="echappe-js">&lt;script type=&quot;text/javascript&quot;&gt;&amp;#xA;    var player = new JSMpeg.Player(&quot;ws://localhost:8080&quot;, {&amp;#xA;      loop: true,&amp;#xA;      autoplay: true,&amp;#xA;      canvas: document.getElementById(&quot;video&quot;),&amp;#xA;    });&amp;#xA;  &lt;/script&gt;&#xA;

    &#xA;

    What I'd like to do here is request from /api/streams and get back an array of streams/socket id's and request them from the array.

    &#xA;

    But how do I open up multiple sockets with multiple URLs ?

    &#xA;

  • MP4 libx264 converted to libx265 results in skipped frames

    5 mai 2023, par RGC

    FFmpeg 5-1-2-full_build on Windows10 and storage on windows server 2016.&#xA;We have about 1.5 TB data in videos as evidence to document compliance to manufacturing standards.&#xA;In a PowerShell batch script I move an libx264 mp4 to a USB3 backup location and then convert it back to the server location it came from :&#xA;FFMpeg -i backup\inputFile.mp4 c:v libx265 \server\outputFile.mp4 -n&#xA;in order to save much needed space on our server.&#xA;It did create a significantly smaller file, but while reviewing the results the length in time is the same as the input but frames seems like they were dropped.

    &#xA;

    I am stumped as to use what additional parameters as ffmpeg has so many.&#xA;Can the fact that it does the conversion over a network to the server be an influence, or the input coming from a USB3 backup drive ?

    &#xA;

    Thanks for your feedback,&#xA;RGC

    &#xA;

    $noOfFiles&#x2B;&#x2B;                            # count progress   &#xA;$serverMp4 = "$serverLine"          # Server MP4 input address&#xA;&#xA;# Before Conversion grab MP4 from server and move to backup drive&#xA;# First grab input file path name and add as destination path, if not exist&#xA;$backupMp4 = $serverMp4.Substring(2)&#xA;$backupMp4 = "E:\Videos$backupMp4"&#xA;$serverLastFolder = (Split-Path $serverLine -Parent)&#xA;$serverLastFolder = (Split-Path $serverLastFolder -NoQualifier)&#xA;$destinationPath = Join-Path $destinationFolder $serverLastFolder&#xA;if(!(Test-Path $destinationPath)) {&#xA;    New-Item -ItemType Directory -Path $destinationPath&#xA;}&#xA;&#xA;Move-Item -Path $serverMp4 -Destination $destinationPath&#xA;&#xA;$myTime = get-date -format "yyyy-MM-dd HH:mm:ss"        # log Move&#xA;$msgOut = "$myTime Moved $serverMp4  to E:\Videos\"&#xA;Add-Content -Path $log -Value $msgOut        # store msg in log file&#xA;Write-Host $msgOut&#xA;&#xA;# Convert file back to server&#xA;ffmpeg -i  $backupMp4 -c:v libx265 $serverMp4 -n&#xA;&#xA;$myTime = get-date -format "yyyy-MM-dd HH:mm:ss"&#xA;$msgOut = "$myTime Converted $backupMp4 `n $arrow      $serverMp4"&#xA;Write-Host $msgOut                           # Console msg&#xA;Add-Content -Path $log -Value $msgOut        # store msg in log file&#xA;&#xA;Write-Host "Completed Move of: $noOfFiles `n $sepLine" -ForegroundColor DarkYellow&#xA;&#xA;# Finished Move of MP4 file to Backup Drive and Converted back to original location. &#xA;# Grab next line  &#xA;

    &#xA;

    }

    &#xA;