Recherche avancée

Médias (91)

Autres articles (53)

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

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

Sur d’autres sites (9556)

  • Trouble getting the Node ffmpeg module to work with paths that have spaces in them

    26 juin 2020, par Jacob

    Title is pretty self-explanatory. I'm having trouble getting the Node ffmpeg module to work with paths to have spaces in them.

    


    import ffmpeg from "ffmpeg"

try {
    let process = new ffmpeg("C:\\Users\\JR\\Desktop\\new folder\\test.m4a");
    process.then(video => {
        video.save("C:\\Users\\JR\\Desktop\\test.mp3", (error, file) => {
            if (!error) {
                console.log("converted!");
            } else {
                console.log("uh oh error: " + error);
            }
        });
    },
    error => {
        console.log("Error: " + error);
    });
} catch (error) {
    console.log(error.code);
    console.log(error.msg);
}


    


    Below are all the variations I've tried. They all result in either an error from the module itself saying The input file does not exist or an error from ffmpeg saying No such file or directory.

    


    let process = new ffmpeg("C:\\Users\\JR\\Desktop\\new folder\\test.m4a");

let process = new ffmpeg('C:\\Users\\JR\\Desktop\\new folder\\test.m4a');

let process = new ffmpeg('"C:\\Users\\JR\\Desktop\\new folder\\test.m4a"');

let process = new ffmpeg("C:/Users/JR/Desktop/new folder/test.m4a");

let process = new ffmpeg('C:/Users/JR/Desktop/new folder/test.m4a');

let process = new ffmpeg("C:\\Users\\JR\\Desktop\\new\ folder\test.m4a");

let process = new ffmpeg('C:\\Users\\JR\\Desktop\\new\ folder\test.m4a');


    


    And probably several other variations that I'm forgetting. Any ideas ?

    


  • Why does it say error finding module when I already installed it

    13 mai 2020, par MiqhtieLol

    I am trying to code a discord music bot and this is my code :

    



    const config = require('config.json')
const Discord = require('discord.js');
const ffmpeg = require('ffmpeg-extra')
const client = new Discord.Client();

client.once('ready', () => {
    console.log('Ready!');
});
client.on('message', message => {
    if(message.content.toLocaleLowerCase() === "elevator"){
        if(message.member.voice.channel){
            message.channel.send("Thanks to https://www.bensound.com for supplying us with this music.")
            play(message.member.voice.channel)
        }
        else {
            message.channel.send("Yo, please join a VC first.")
        }
    }
});

async function play(voiceChannel) {
    const connection = await voiceChannel.join();
    connection.play('elevator.mp3');
}

client.login(config.token);


    



    For some reason even though I installed ffmpeg via npm install ffmpeg it says :

    



    Error: Cannot find module 'ffmpeg-extra'


    



    EDIT : When I use const ffmpeg = require("ffmpeg") I get this error :

    



    UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!


    


  • Waiting between FFMPEG scripts when creating .hdr/.chk and .mpd files on NGINX server using RTMP module

    17 avril 2020, par Mathew Knight

    Wonder if anyone might be able to suggest a solution to and issue i'm having.

    



    I'm running some FFMPEG scripts inside a RTMP server block on an NGINX server running on Ubuntu 18.04.

    



    Basically i'm ingesting the RTMP stream to the server then using FFMPEG to Demux into separate audio and video header and chunk files, then in separate scripts i'm creating two separate manifests for both the audio and video.

    



    The player i have (a development ambisonic, 360 video player) is having problems reading the stream correctly and i believe this is due to the FFMPEG process for the manifests not waiting 2 seconds before running.

    



    Is there a way to program a wait in between the scripts to facilitate this ?

    



    furthermore, is there a way to make the manifest scripts only run once then quit ?

    



    heres my current NGINX .conf

    



    user root;
#user www-data;
worker_processes 1;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
    worker_connections 768;
    # multi_accept on;
}
http {
    ##
    # Basic Settings
    ##
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;
    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    ##
    # SSL Settings
    ##
    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    #ssl_prefer_server_ciphers on;
    ##
    # Logging Settings
    ##
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    ##
    # Gzip Settings
    ##
    ##
    # Virtual Host Configs
    ##
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}
rtmp {
        server {
            listen 1935;
            chunk_size 4096;

            application live {
            live on;
            record off;
            interleave off;
            wait_key on;
            meta on;
            wait_video off;
            idle_streams off;
            sync 300ms;
            session_relay on;
            #allow publish 127.0.0.1;
            #allow publish 192.168.2.0/24;
            allow publish all;
            #deny publish all;
            allow play all;    
        #RX stream to FFMPEG, demux audio and video, write .hdr files, start chunking DASH segments .chk
         exec_push sudo ffmpeg -y -re -i 'rtmp://localhost:1935/live/stream' -map 0:1 -pix_fmt yuv420p -maxrate 750k -bufsize 3000k -c:v libvpx-vp9 -s 1920x1080 -keyint_min 60 -g 60 -speed 6 -tile-columns 4 -frame-parallel 1 -threads 8 -static-thresh 0 -max-intra-rate 300 -deadline realtime -lag-in-frames 0 -error-resilient 1 -b:v 6000k -f webm_chunk -header "/var/www/html/dash/video_360.hdr" -chunk_start_index 1 "/var/www/html/dash/video_360_%d.chk" -map 0:2 -c:a libopus -mapping_family 255 -b:a 1024k -vn -f webm_chunk -audio_chunk_duration 2000 -header "/var/www/html/dash/audio_171.hdr" -chunk_start_index 1 "/var/www/html/dash/audio_171_%d.chk" 2>>/var/log/nginx/ffmpegChunk.log;

        #Create video manifest
        exec_push sudo ffmpeg -probesize 500M -analyzeduration 100M -f webm_dash_manifest -live 1 -i "/var/www/html/dash/video_360.hdr" -map 0 -c copy -f webm_dash_manifest -live 1 -adaptation_sets "id=0,streams=0" -chunk_start_index 1 -chunk_duration_ms 2000 -minimum_update_period 7200 "/var/www/html/dash/video.mpd" 2>>/var/log/nginx/ffmpegManifestVideo.log;
        #Create audio manifest
        exec_push sudo ffmpeg -probesize 500M -analyzeduration 100M -f webm_dash_manifest -live 1 -i "/var/www/html/dash/audio_171.hdr" -map 0 -c libopus -mapping_family 255 -f webm_dash_manifest -live 1 -adaptation_sets "id=1,streams=0" -chunk_start_index 1 -chunk_duration_ms 2000 -minimum_update_period 7200 "/var/www/html/dash/audio_16ch.mpd" 2>>/var/log/nginx/ffmpegManifestAudio.log;

        ##
        # Record the incoming stream
        ##
        # Record audio and video together
        record all;
        record_path /home/mathewknight/Desktop/StreamRecord/Master;
        record_notify on;
        # Record audio seperately
        recorder audio {
            record audio;
            record_path /home/mathewknight/Desktop/StreamRecord/Audio;
            record_suffix -%d-%b-%y-%T.audio.flv;
            record_notify on;
            }
        # Record video seperately
        recorder video{
            record video;
            record_path /home/mathewknight/Desktop/StreamRecord/Video;
            record_suffix -%d-%b-%y-%T.video.flv;
            record_notify on;
            }

            }


        }

}