Recherche avancée

Médias (91)

Autres articles (51)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (9833)

  • avfilter/dnn : Use dnn_backend_info_list to search for dnn module

    7 mai 2024, par Zhao Zhili
    avfilter/dnn : Use dnn_backend_info_list to search for dnn module
    

    Signed-off-by : Zhao Zhili <zhilizhao@tencent.com>
    Reviewed-by : Wenbin Chen <wenbin.chen@intel.com>
    Reviewed-by : Guo Yejun <yejun.guo@intel.com>

    • [DH] libavfilter/dnn/dnn_backend_openvino.c
    • [DH] libavfilter/dnn/dnn_backend_tf.c
    • [DH] libavfilter/dnn/dnn_backend_torch.cpp
    • [DH] libavfilter/dnn/dnn_interface.c
    • [DH] libavfilter/dnn_interface.h
  • Converting MP3/MP4 to WAV in the Frontend Using ffmpegwasm with Next.js Results in Module Not Found Error

    31 mars 2024, par ryuma

    I'm attempting to use ffmpegwasm in a Next.js project to convert MP3 or MP4 files to WAV format directly in the frontend. However, I encounter a "Module not found" error during the process. I have made sure to use the latest version of Next.js. Below is the error message and the code snippet where the issue occurs. I'm seeking assistance to resolve this problem, as it has become quite troubling.

    &#xA;

    error

    &#xA;

    ./node_modules/@ffmpeg/ffmpeg/dist/esm/classes.js:104:27 Module not found&#xA;  102 |         if (!this.#worker) {&#xA;  103 |             this.#worker = classWorkerURL ?&#xA;> 104 |                 new Worker(new URL(classWorkerURL, import.meta.url), {&#xA;      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  105 |                     type: "module",&#xA;  106 |                 }) :&#xA;  107 |                 // We need to duplicated the code here to enable webpack&#xA;

    &#xA;

    "use client"&#xA;&#xA;import { FFmpeg } from "@ffmpeg/ffmpeg"&#xA;import { fetchFile, toBlobURL } from "@ffmpeg/util"&#xA;import React, { useEffect, useRef, useState } from "react"&#xA;&#xA;export default function TestPage() {&#xA;  const [loaded, setLoaded] = useState(false)&#xA;  const ffmpegRef = useRef(new FFmpeg())&#xA;  const messageRef = useRef(null)&#xA;&#xA;  useEffect(() => {&#xA;    load()&#xA;  }, [])&#xA;&#xA;  const load = async () => {&#xA;    const baseURL = "https://unpkg.com/@ffmpeg/core@0.12.6/dist/umd"&#xA;    const ffmpeg = ffmpegRef.current&#xA;    ffmpeg.on("log", ({ message }) => {&#xA;      if (messageRef.current) messageRef.current.innerHTML = message&#xA;      console.log(message)&#xA;    })&#xA;&#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;    setLoaded(true)&#xA;  }&#xA;&#xA;  const convertToWav = async ({ target: { files } }) => {&#xA;    const ffmpeg = ffmpegRef.current&#xA;    const file = files[0]&#xA;&#xA;    await ffmpeg.writeFile("input.mp4", await fetchFile(file))&#xA;    await ffmpeg.exec(["-i", "input.mp4", "output.wav"])&#xA;    const data = await ffmpeg.readFile("output.wav")&#xA;&#xA;    const url = URL.createObjectURL(new Blob([data.buffer], { type: "audio/wav" }))&#xA;    const link = document.createElement("a")&#xA;    link.href = url&#xA;    link.setAttribute("download", "output.wav")&#xA;    document.body.appendChild(link)&#xA;    link.click()&#xA;  }&#xA;&#xA;  return (&#xA;    <div>&#xA;      {loaded ? (&#xA;        &lt;>&#xA;          <input type="file" accept="audio/mp3,video/mp4" />&#xA;          <p ref="{messageRef}"></p>&#xA;        >&#xA;      ) : (&#xA;        <button>Load ffmpeg-core</button>&#xA;      )}&#xA;    </div>&#xA;  )&#xA;}&#xA;&#xA;

    &#xA;

    Attempted Solutions :

    &#xA;

    I've ensured that I'm using the latest version of Next.js.&#xA;I've tried various configurations for the ffmpeg instance.

    &#xA;

    Questions :

    &#xA;

    How can I resolve the "Module not found" error when using ffmpegwasm with Next.js ?&#xA;Are there any specific configurations or setups within Next.js that I need to be aware of to successfully use ffmpegwasm ?&#xA;Any guidance or assistance with this issue would be greatly appreciated. Thank you in advance for your help.

    &#xA;

  • Nginx RTMP module not creating .m3u8 in correct format

    24 juin 2024, par Moiz Hassan

    I am creating a rtmp server using nginx-rtmp-module inside a docker container. Using OBS I can connect with the server to start a live stream. M3U8 and .ts files are being created successfully but the .m3u8 file isn't in format I want. The generated .m3u8 file is like :

    &#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-MEDIA-SEQUENCE:5&#xA;#EXT-X-TARGETDURATION:10&#xA;

    &#xA;

    but I want to generate .m3u8 file so it is simialr to this :

    &#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-TARGETDURATION:10&#xA;#EXT-X-MEDIA-SEQUENCE:0&#xA;#EXT-X-PLAYLIST-TYPE:VOD&#xA;#EXTINF:10.000000,&#xA;0.ts&#xA;#EXTINF:10.000000,&#xA;1.ts&#xA;#EXTINF:10.000000,&#xA;2.ts&#xA;#EXTINF:10.000000,&#xA;3.ts&#xA;#EXTINF:10.000000,&#xA;4.ts&#xA;#EXTINF:10.000000,&#xA;5.ts&#xA;&#xA;

    &#xA;

    . The following is the nginx config that I am using :

    &#xA;

    user root;&#xA;worker_processes  auto;&#xA;#error_log  logs/error.log;&#xA;&#xA;events {&#xA;    worker_connections  1024;&#xA;}&#xA;&#xA;# RTMP configuration&#xA;rtmp {&#xA;    server {&#xA;        listen 1935; # Listen on standard RTMP port&#xA;        chunk_size 4000; &#xA;        # ping 30s;&#xA;        # notify_method get;&#xA;&#xA;        # This application is to accept incoming stream&#xA;        application live {&#xA;            live on; # Allows live input&#xA;&#xA;            &#xA;            push rtmp://localhost:1935/show;    &#xA;            drop_idle_publisher 10s; &#xA;        }&#xA;&#xA;        # This is the HLS application&#xA;        application show {&#xA;            live on; # Allows live input from above application&#xA;            deny play all; # disable consuming the stream from nginx as rtmp&#xA;&#xA;            &#xA;            hls on; # Enable HTTP Live Streaming&#xA;            hls_fragment 10;&#xA;            hls_playlist_length 0;&#xA;            hls_path /mnt/hls/;  # hls fragments path&#xA;            hls_nested on;&#xA;&#xA;            hls_fragment_naming sequential;&#xA;            &#xA;            hls_cleanup off;&#xA;                    &#xA;        }&#xA;&#xA;&#xA;    }&#xA;}&#xA;&#xA;&#xA;http {&#xA;    sendfile off;&#xA;    tcp_nopush on;&#xA;    directio 512;&#xA;    # aio on;&#xA;    &#xA;    # HTTP server required to serve the player and HLS fragments&#xA;    server {&#xA;        listen 8080;&#xA;        &#xA;        # Serve HLS fragments&#xA;        location /hls {&#xA;            types {&#xA;                application/vnd.apple.mpegurl m3u8;&#xA;                video/mp2t ts;&#xA;            }&#xA;            &#xA;            root /mnt;&#xA;&#xA;            add_header Cache-Control no-cache; # Disable cache&#xA;            &#xA;            # CORS setup&#xA;            add_header &#x27;Access-Control-Allow-Origin&#x27; &#x27;*&#x27; always;&#xA;            add_header &#x27;Access-Control-Expose-Headers&#x27; &#x27;Content-Length&#x27;;&#xA;            &#xA;            # allow CORS preflight requests&#xA;            if ($request_method = &#x27;OPTIONS&#x27;) {&#xA;                add_header &#x27;Access-Control-Allow-Origin&#x27; &#x27;*&#x27;;&#xA;                add_header &#x27;Access-Control-Max-Age&#x27; 1728000;&#xA;                add_header &#x27;Content-Type&#x27; &#x27;text/plain charset=UTF-8&#x27;;&#xA;                add_header &#x27;Content-Length&#x27; 0;&#xA;                return 204;&#xA;            }&#xA;        }&#xA;        &#xA;        # Serve DASH fragments&#xA;        location /dash {&#xA;            types {&#xA;                application/dash&#x2B;xml mpd;&#xA;                video/mp4 mp4;&#xA;            }&#xA;&#xA;            root /mnt;&#xA;            &#xA;            add_header Cache-Control no-cache; # Disable cache&#xA;&#xA;&#xA;            # CORS setup&#xA;            add_header &#x27;Access-Control-Allow-Origin&#x27; &#x27;*&#x27; always;&#xA;            add_header &#x27;Access-Control-Expose-Headers&#x27; &#x27;Content-Length&#x27;;&#xA;&#xA;            # Allow CORS preflight requests&#xA;            if ($request_method = &#x27;OPTIONS&#x27;) {&#xA;                add_header &#x27;Access-Control-Allow-Origin&#x27; &#x27;*&#x27;;&#xA;                add_header &#x27;Access-Control-Max-Age&#x27; 1728000;&#xA;                add_header &#x27;Content-Type&#x27; &#x27;text/plain charset=UTF-8&#x27;;&#xA;                add_header &#x27;Content-Length&#x27; 0;&#xA;                return 204;&#xA;            }&#xA;        }       &#xA;        &#xA;        # This URL provides RTMP statistics in XML&#xA;        location /stat {&#xA;            rtmp_stat all;&#xA;            rtmp_stat_stylesheet stat.xsl; # Use stat.xsl stylesheet &#xA;        }&#xA;&#xA;        location /stat.xsl {&#xA;            # XML stylesheet to view RTMP stats.&#xA;            root /usr/local/nginx/html;&#xA;        }&#xA;&#xA;    }&#xA;}&#xA;&#xA;

    &#xA;