Recherche avancée

Médias (1)

Mot : - Tags -/belgique

Autres articles (61)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (11326)

  • ffmpeg "filtergraph join" to use copy of channels and preserve input channel configuration (format - s32_le)

    29 avril 2020, par vishwanath patil

    Command that I am using is below, with that command I am getting 8 channel output.wav.

    



    ffmpeg.exe    -i one.wav -i two.wav -i three.wav -i four.wav \
-i five.wav -i six.wav -i seven.wav -i eight.wav \
-filter_complex '[0:0][1:0][2:0][3:0][4:0][5:0][6:0] \
[7:0]join=8:channel_layout=octagonal'  output.wav


    



    All input files one.wav, two.wav so on eight.wav are 32khz,s32le and one channel. but, output generated is output.wav which is s16le, 32khz.

    



    I can make output s32le with below command,

    



    ffmpeg.exe -i one.wav -i two.wav -i three.wav -i four.wav \
-i five.wav -i six.wav -i seven.wav -i eight.wav \
-filter_complex '[0:0][1:0][2:0][3:0][4:0][5:0][6:0] \
[7:0]join=8:channel_layout=octagonal'  -acodec pcm_s32le output.wav


    



    But, above command seems todo conversion from s16_le to s32_le (i.e one.wav doesn't match with output.wav first channel completely). However what I want is to directly copy data from input channels since audio format of all input files is same as expected audio format of output file channels (output.wav)

    



    is there way to instruct filter_graph todo processing at pcm_s32le ?

    



    Here is link to log with loglevel set to debug,
https://pastebin.com/ms4x1fLz

    



    MediaInfo.exe one.wav
General
Complete name                            : one.wav
Format                                   : Wave
File size                                : 6.50 MiB
Duration                                 : 53 s 280 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 024 kb/s

Audio
Format                                   : PCM
Format settings                          : Little / Signed
Codec ID                                 : 1
Duration                                 : 53 s 280 ms
Bit rate mode                            : Constant
Bit rate                                 : 1 024 kb/s
Channel(s)                               : 1 channel
Sampling rate                            : 32.0 kHz
Bit depth                                : 32 bits
Stream size                              : 6.50 MiB (100%)


    


  • I tried programming a discord bot for music, it joins the channel, it apparently "speaks" but i can't hear anything

    2 avril 2020, par borax

    I tried to code it alone, but I got the same problem, then I copied the code from https://gabrieltanner.org/blog/dicord-music-bot and it persists. I have downloaded FFmpeg, but I still think the problem lies there. Any suggestions ? (it's my first time here, I don't know how much of the code is relevant, also, i get this Error : FFmpeg/avconv not found !)

    



    const Discord = require('discord.js');
const client = new Discord.Client();

const ytdl = require("ytdl-core");

const token = 'REDACTED';

const prefix = '$';

var version = '1.1.2';

var servers = {};

const queue = new Map();

client.on('ready', () => {
    console.log('BOT is online');
})
client.once("ready", () => {
    console.log("Ready!");
  });

  client.once("reconnecting", () => {
    console.log("Reconnecting!");
  });

  client.once("disconnect", () => {
    console.log("Disconnect!");
  });

  client.on("message", async message => {
    if (message.author.bot) return;
    if (!message.content.startsWith(prefix)) return;

    const serverQueue = queue.get(message.guild.id);

    if (message.content.startsWith(`${prefix}play`)) {
      execute(message, serverQueue);
      return;
    } else if (message.content.startsWith(`${prefix}skip`)) {
      skip(message, serverQueue);
      return;
    } else if (message.content.startsWith(`${prefix}stop`)) {
      stop(message, serverQueue);
      return;
    } else {
      message.channel.send("You need to enter a valid command!");
    }
  });

  async function execute(message, serverQueue) {
    const args = message.content.split(" ");

    const voiceChannel = message.member.voice.channel;
    if (!voiceChannel)
      return message.channel.send(
        "You need to be in a voice channel to play music!"
      );
    const permissions = voiceChannel.permissionsFor(message.client.user);
    if (!permissions.has("CONNECT") || !permissions.has("SPEAK")) {
      return message.channel.send(
        "I need the permissions to join and speak in your voice channel!"
      );
    }

    const songInfo = await ytdl.getInfo(args[1]);
    const song = {
      title: songInfo.title,
      url: songInfo.video_url
    };

    if (!serverQueue) {
      const queueContruct = {
        textChannel: message.channel,
        voiceChannel: voiceChannel,
        connection: null,
        songs: [],
        volume: 5,
        playing: true
      };

      queue.set(message.guild.id, queueContruct);

      queueContruct.songs.push(song);

      try {
        var connection = await voiceChannel.join();
        queueContruct.connection = connection;
        play(message.guild, queueContruct.songs[0]);
      } catch (err) {
        console.log(err);
        queue.delete(message.guild.id);
        return message.channel.send(err);
      }
    } else {
      serverQueue.songs.push(song);
      return message.channel.send(`${song.title} has been added to the queue!`);
    }
  }

  function skip(message, serverQueue) {
    if (!message.member.voice.channel)
      return message.channel.send(
        "You have to be in a voice channel to stop the music!"
      );
    if (!serverQueue)
      return message.channel.send("There is no song that I could skip!");
    serverQueue.connection.dispatcher.end();
  }

  function stop(message, serverQueue) {
    if (!message.member.voice.channel)
      return message.channel.send(
        "You have to be in a voice channel to stop the music!"
      );
    serverQueue.songs = [];
    serverQueue.connection.dispatcher.end();
  }

  function play(guild, song) {
    const serverQueue = queue.get(guild.id);
    if (!song) {
      serverQueue.voiceChannel.leave();
      queue.delete(guild.id);
      return;
    }

    const dispatcher = serverQueue.connection
      .play(ytdl(song.url))
      .on("finish", () => {
        serverQueue.songs.shift();
        play(guild, serverQueue.songs[0]);
      })
      .on("error", error => console.error(error));
    dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
    serverQueue.textChannel.send(`Start playing: **${song.title}**`);
  }

client.login(token);


    


  • Streaming video over named PIPE with limited "channel" bandwidth

    13 mars 2019, par fmagno

    I have a video container vid.mp4 that I want to play with ffplay through a named PIPE and be able to tweak the maximum bandwidth allowed by the "channel". Follows what I did :

    1. Create a named PIPE :

    mkfifo pipe_in

    2. Send the container to the pipe with a limited bandwidth (150kB/s) with the help of pipe viewer pv :

    cat vid.mp4 | pv -L 150k > pipe_in

    3. Play the video with ffplay :

    ffplay cache:./pipe_in

    My expectation : To watch the video come through immediately but slowly given the bandwidth constraint.

    What really happens : The video begins to show at normal speed only when command 2. finishes running.

    Thank you in advance !