Recherche avancée

Médias (0)

Mot : - Tags -/objet éditorial

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (15)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • 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

Sur d’autres sites (5415)

  • Setting the DTS of a video and audio packets

    6 février 2021, par Pavel

    so I am struggling with concatenating 5s video segments into one .mp4 in python using the PyAV. The video segments are stored as BytesIO object(so I can store them in RAM). I loop through every packet in every segment, so naturally, their PTS and DTS are not unique and are repeating in every segment. Thus, I decided to set each packet's PTS/DTS to an ever incrementing value, so they are in the correct order.

    


        def mux_to_file(self, output_file_name, vid):
        vid.seek(0) #BytesIO object
        video = av.open(vid, "r"). #av InputContainer
        output = av.open(output_file_name, "w")  #av OutputContainer
        
        v_in = video.streams.video[0]  #information about the stream (bit rate, res...)
        video_p = video.demux(v_in)
        output_video = output.add_stream(template=v_in)


        self.last_pts = 0
        self.step = 0
        for packet in video_p:  #looping through every packet
            if packet.dts is None:
                continue

            packet.dts = self.last_pts   #setting new pts and dts
            packet.pts = self.last_pts
            self.last_pts += packet.duration  #old one+duration of the previous one

            packet.stream = output_video     #assigns information of the new packet
            output.mux(packet)               # muxing, her occurs the warning
        
        output.close()
        video.close()



    


    The warning is as follows :

    


    Found duplicated MOOV Atom. Skipped it
Found duplicated MOOV Atom. Skipped it
 (repeated 58 more times)
Found duplicated MOOV Atom. Skipped it
Found duplicated MOOV Atom. Skipped it
 (repeated 58 more times)
DTS 0 < 447000 out of order
DTS 0 < 447000 out of order
 (repeated 58 more times)


    


    I would like to set the PTS/DTS of the packets so the warning would not occur. Of course, turning off the logging of av lib is an option,
av.logging.set_level(av.logging.PANIC)
however, I am looking for an more elegant and better solution. How could I set the the DTS to a correct value, and why is my solution still throwing errors ?

    


    Thanks in advance.

    


  • How to prevent audio generation loss in python ?

    23 janvier 2021, par John G.

    I have a script that needs to run audio through ffmpeg and pydub multiple times each. I realized that by the end of all this the audio sounds a bit muffled compared to the original. What steps can I take to make sure the quality is as high as possible at the end ? I'm going from mp3/m4b to wav btw.

    


  • Discord.js voice stop playing audio after 10 consecutive files

    29 avril 2021, par Spiralio

    I am trying to do the simple task of playing a single MP3 file when a command is run. The file is stored locally, and I have FFmpeg installed on my computer. The code below is part of my command's file :

    


    const Discord = require("discord.js");
const fs = require('fs');
const { Client, RichEmbed } = require('discord.js');
const config = require("../config.json");

let playing = undefined;
let connection = undefined;

module.exports.run = async (client, message, args, config) => {


  if (playing) playing.end()
  if (connection == undefined) await message.member.voice.channel.join().then((c) => {
    connection = c;
  })
  playing = connection.play('./sounds/sound.mp3')

}


    


    (note that this code is heavily narrowed down to single out the issue)

    


    When I run the command the first 9 times, it works perfectly - the file is played, and cuts off if it is already playing. I also want to note that the file is 2 minutes long. However, once I play the file for exactly the 10th time, the bot stops playing audio entirely - as long as all 10 times are overlapping (meaning I don't let the audio finish).

    


    What's more confusing is that if an error is passed after the bot stops playing audio, it appears in an entirely different format than the standard Discord.js errors. For example, this code does not test to see if the user is in a voice channel, so if I purposefully crash the bot by initiating the command without being in a voice channel (after running the command 10 times), the error looks like this :

    


    abort(RangeError: offset is out of bounds). Build with -s ASSERTIONS=1 for more info.
(Use `electron --trace-uncaught ...` to show where the exception was thrown)


    


    (Preceded by a bunch of unformatted code) This however, is not consistent. It seems to only appear after letting the files run entirely.

    


    The issue only fixes itself when the entire bot restarts. Any help would be appreciated.