Recherche avancée

Médias (1)

Mot : - Tags -/net art

Autres articles (106)

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

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (11205)

  • 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 :

    


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


    


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

    


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



    


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

    


    user root;
worker_processes  auto;
#error_log  logs/error.log;

events {
    worker_connections  1024;
}

# RTMP configuration
rtmp {
    server {
        listen 1935; # Listen on standard RTMP port
        chunk_size 4000; 
        # ping 30s;
        # notify_method get;

        # This application is to accept incoming stream
        application live {
            live on; # Allows live input

            
            push rtmp://localhost:1935/show;    
            drop_idle_publisher 10s; 
        }

        # This is the HLS application
        application show {
            live on; # Allows live input from above application
            deny play all; # disable consuming the stream from nginx as rtmp

            
            hls on; # Enable HTTP Live Streaming
            hls_fragment 10;
            hls_playlist_length 0;
            hls_path /mnt/hls/;  # hls fragments path
            hls_nested on;

            hls_fragment_naming sequential;
            
            hls_cleanup off;
                    
        }


    }
}


http {
    sendfile off;
    tcp_nopush on;
    directio 512;
    # aio on;
    
    # HTTP server required to serve the player and HLS fragments
    server {
        listen 8080;
        
        # Serve HLS fragments
        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            
            root /mnt;

            add_header Cache-Control no-cache; # Disable cache
            
            # CORS setup
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length';
            
            # allow CORS preflight requests
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header 'Content-Length' 0;
                return 204;
            }
        }
        
        # Serve DASH fragments
        location /dash {
            types {
                application/dash+xml mpd;
                video/mp4 mp4;
            }

            root /mnt;
            
            add_header Cache-Control no-cache; # Disable cache


            # CORS setup
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length';

            # Allow CORS preflight requests
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header 'Content-Length' 0;
                return 204;
            }
        }       
        
        # This URL provides RTMP statistics in XML
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl; # Use stat.xsl stylesheet 
        }

        location /stat.xsl {
            # XML stylesheet to view RTMP stats.
            root /usr/local/nginx/html;
        }

    }
}



    


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

    


    error

    


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


    


    "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;

  • 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