Recherche avancée

Médias (1)

Mot : - Tags -/swfupload

Autres articles (54)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (8489)

  • Révision 20387 : Distinguer le titre ’0’ d’un titre vide (Fil).

    29 mars 2013, par esj -
  • Anomalie #3407 (Nouveau) : La colonne "extension" est vide concernant certaine url distante

    12 mars 2015, par Franck Dalot

    Bonjour :-)

    SPIP 3.1.0-alpha [21937] (neuf et vierge)
    Php 5.6.6
    prefix des tables : spipdev25
    Installation faite en MySQL

    Si je vais dans ecrire/ ?exec=documents&ajouter=oui que je clique sur "internet" que je fait un copier/coller d’une adresse youtube comme :
    https://youtu.be/_h1N8MDaVXA
    Puis, je clique sur "choisir", le doc n’est pas visible sous l’onglet "autres" de la médiathèque
    L’unique chose qui montre bien, que le doc est dans la base de données, est que l’onglet "autres" s’affiche "Autres (1)"
    Dans la base de données, la colonne "extension" est vide concernant ce doc
    Je vois rien dans les logs :-(
    L’unique chose qui m’apparait, ce sont trois notices, donc, je doute que que cela soit le problème
    Notice : Undefined index : extension in /.../ecrire/inc/distant.php on line 942
    Notice : Undefined index : extension in /.../plugins-dist/medias/action/ajouter_documents.php on line 120
    Notice : Undefined index : extension in /.../plugins-dist/medias/action/ajouter_documents.php on line 188

    A savoir que cela me fait pareil, avec l’adresse :
    https://www.youtube.com/watch?v=_h1N8MDaVXA

    Mais que cela fonctionne très bien avec cette adresse (même pas de notice) :
    http://contrib.spip.net

  • ffmpeg.wasm in Angular 19

    2 mai, par Yashar Tabrizi

    I am developing an Angular app that records videos. Since the videos that come out usually have variable and "wrong" framerates, I want to re-encode them using FFmpeg, particularly ffmpeg.wasm.

    


    I have installed the packages @ffmpeg/ffmpeg, @ffmpeg/core and @ffmpeg/util and I have written the following worker ffmpeg.worker.ts to do the initialization and to execute the FFmpeg processing :

    


    /// <reference lib="webworker"></reference>&#xA;import { FFmpeg } from &#x27;@ffmpeg/ffmpeg&#x27;;&#xA;import { toBlobURL } from &#x27;@ffmpeg/util&#x27;;&#xA;&#xA;&#xA;const baseURL = &#x27;https://unpkg.com/@ffmpeg/core@0.12.10/dist/esm&#x27;;&#xA;&#xA;const ffmpeg = new FFmpeg();&#xA;&#xA;let isLoaded = false;&#xA;&#xA;(async () => {&#xA;  await ffmpeg.load({&#xA;    coreURL: await toBlobURL(`${baseURL}/ffmpeg-core.js`, "text/javascript"),&#xA;    wasmURL: await toBlobURL(`${baseURL}/ffmpeg-core.wasm`, "application/wasm"),&#xA;  });&#xA;  isLoaded = true;&#xA;  self.postMessage({ type: &#x27;ready&#x27; });&#xA;})();&#xA;&#xA;self.onmessage = async (e: MessageEvent<arraybuffer>) => {&#xA;  if (!isLoaded) {&#xA;    self.postMessage({ type: &#x27;error&#x27;, error: &#x27;FFmpeg not loaded yet!&#x27; });&#xA;    return;&#xA;  }&#xA;&#xA;  if (e.data.byteLength === 0) return;&#xA;&#xA;  try {&#xA;    await ffmpeg.writeFile(&#x27;input&#x27;, new Uint8Array(e.data));&#xA;&#xA;    await ffmpeg.exec([&#xA;      &#x27;-i&#x27;, &#x27;input&#x27;,&#xA;      &#x27;-r&#x27;, &#x27;30&#x27;,&#xA;      &#x27;-c:v&#x27;, &#x27;libx264&#x27;,&#xA;      &#x27;-preset&#x27;, &#x27;ultrafast&#x27;,&#xA;      &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;,&#xA;      &#x27;-movflags&#x27;, &#x27;faststart&#x27;,&#xA;      &#x27;out.mp4&#x27;,&#xA;    ]);&#xA;&#xA;    const data = await ffmpeg.readFile(&#x27;out.mp4&#x27;);&#xA;    if (data instanceof Uint8Array) {&#xA;      self.postMessage({ type: &#x27;done&#x27;, file: data.buffer }, [data.buffer]);&#xA;    } else {&#xA;      self.postMessage({ type: &#x27;error&#x27;, error: &#x27;Unexpected output from ffmpeg.readFile,&#x27; });&#xA;    }&#xA;&#xA;  } catch (err) {&#xA;    self.postMessage({ type: &#x27;error&#x27;, error: (err as Error).message });&#xA;  } finally {&#xA;    await ffmpeg.deleteFile((&#x27;input&#x27;));&#xA;    await ffmpeg.deleteFile((&#x27;out.mp4&#x27;));&#xA;  }&#xA;}&#xA;</arraybuffer>

    &#xA;

    I have a service called cameraService where I do the recording and where I want to do the re-encoding after the recording has stopped, so I have this method that initializes the FFmpeg process :

    &#xA;

      private encoder: Worker | null = null;&#xA;&#xA;  private initEncoder() {&#xA;    if (this.encoder) return;&#xA;    this.encoder = new Worker(&#xA;      new URL(&#x27;../workers/ffmpeg.worker&#x27;, import.meta.url), // Location of my worker&#xA;      { type: &#x27;module&#x27; }&#xA;    );&#xA;&#xA;    this.encoder.onmessage = (e: MessageEvent) => {&#xA;      switch (e.data.type) {&#xA;        case &#x27;ready&#x27;:&#xA;          console.log(&#x27;FFmpeg worker ready.&#x27;);&#xA;          break;&#xA;&#xA;        case &#x27;done&#x27;:&#xA;          this.reEncodedVideo = new Blob([e.data.file], { type: &#x27;video/mp4&#x27; });&#xA;          this.videoUrlSubject.next(URL.createObjectURL(this.reEncodedVideo));&#xA;          console.log(&#x27;FFmpeg encoding completed.&#x27;);&#xA;          break;&#xA;        case &#x27;error&#x27;:&#xA;          console.error(&#x27;FFmpeg encoding error:&#x27;, e.data.error);&#xA;          break;&#xA;      }&#xA;    };&#xA;  }&#xA;

    &#xA;

    However, the loading of FFmpeg won't work, no matter what I do. Hosting the ffmpeg-core.js and ffmpeg-core.wasm files doesn't help either. I keep getting this message whenever ffmpeg.load() is called :

    &#xA;

    The file does not exist at ".../.angular/cache/19.2.0/mover/vite/deps/worker.js?worker_file&amp;type=module" which is in the optimize deps directory. The dependency might be incompatible with the dep optimizer. Try adding it to &#x27;optimizeDeps.exclude&#x27;.

    &#xA;

    I know this has something to do with Web Workers and their integration with Vite but has anybody been able to implement ffmpeg.wasm in Angular 19 or is there even any way to achieve this ? If not FFmpeg, are there alternatives to perform re-encoding after recording a video in Angular 19 ?

    &#xA;