
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (50)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour 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 (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.
Sur d’autres sites (7212)
-
Discord bot stop playing music in random time of song
25 janvier 2021, par JusmejtrI have a discord to let me play a random song from the list.


How bot works :
Bot IS connected to firestore Cloud (firebase) where i have economy data from my server. Price for playing random song is 75 coins.


Everything worked as it should, but yesterday I used command, the bot started playing and after a while it stopped playing music and also no other commands worked, bot probably get freezed.


I have no errors in the console until after a minute it showed me this error.




The bot is hosted on Heroku and I also added this buildpack to ffmpeg in the settings.


https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest


This is my code :


module.exports = {
 name: "buy-music",
 description: "buy a music",

 async execute(message, config, db){
 const PREFIX = (config.prefix);

 if(message.content === PREFIX + "buy music"){
 const ytdl = require("ytdl-core");
 message.delete();
 let uzivatel = message.author.tag;

 let voiceChannel = message.member.voice.channel;
 if(!voiceChannel) return message.reply("Musíš byť vo voice roomke");

 let cena = 75;
 
 db.collection('economy').doc(uzivatel).get().then(async (q) => {
 if(!q.exists) return message.reply("Nemáš vytvorený účet");
 var hodnota = q.data().money;
 if(hodnota < cena) return message.reply("Nemáš dostatok financií");

 db.collection('statusy').doc('music').get().then(async (asaj) => {
 let stav = asaj.data().stav;
 if(stav == "off"){
 db.collection('statusy').doc('music').update({
 "stav": "on",
 "autor": message.author.tag,
 });
 hodnota -= cena;
 db.collection('economy').doc(uzivatel).update({
 'money': hodnota
 });
 function randomhraj(){
 var pole = [
 My YT links

 ]
 let rnd = Math.floor(Math.random() * pole.length);
 let output = pole[rnd];
 return output;
 }
 
 try{
 var pripojenie = await voiceChannel.join();
 message.reply(`Úspešne si si kúpil chuťovečku`);
 }catch(error){
 console.log(`Error pri pripajani do room (music join) ${error}`);
 }
 
 const dispatcher = pripojenie.play(ytdl(randomhraj())).on("finish", async() => {
 await voiceChannel.leave();
 await db.collection('statusy').doc('music').update({
 "stav": "off",
 "autor": "nikto",
 });
 }).on("error", error => {
 console.log(error)
 })
 dispatcher.setVolumeLogarithmic(5 / 5)
 }else{
 message.reply("Momentálne si hudbu kúpil niekto iný alebo ak si hudbu kúpil a chceš ju zastaviť použi príkaz *stop");
 }
 
 });
 });
 
 }else if(message.content === PREFIX + "stop"){
 message.delete();
 db.collection('statusy').doc('music').get().then((n) => {
 let kto = n.data().autor;
 let meno = message.author.tag;
 if(!message.member.voice.channel) return message.channel.send("Musíš byť vo voice roomke pre stopnutie hudby");
 if(kto == meno){
 message.member.voice.channel.leave();
 message.channel.send("Úspešne odpojený");
 db.collection('statusy').doc('music').update({
 "stav": "off",
 "autor": "nikto",
 });
 }else{
 message.reply("Zastaviť hudbu môže len ten kto si ju kúpil");
 }
 });
 }
 
 }
}



-
Getting error "WebAssembly.Memory() : could not allocate memory" when running ffmpeg.wasm on android chrome browser
27 juin 2022, par Ravi KunduError in detail :


WebAssembly.Memory(): could not allocate memory
at https://*******/ffmpeg-core.js:22:82
at https://*******/ffmpeg.min.js:1:6506
at f (https://*******/ffmpeg.min.js:1:11322)
at Generator._invoke (https://*******/ffmpeg.min.js:1:11110)
at Generator.next (https://*******/ffmpeg.min.js:1:11747)
at i (https://*******/ffmpeg.min.js:1:4295)
at c (https://*******/ffmpeg.min.js:1:4498)



Code for ffmpeg :


const downloadWithFFMPEG = async () =>{
 const sourceBuffer = await fetch(recordingURL).then(r => r.arrayBuffer());
 await ffmpeg.load();
 await ffmpeg.FS(
 "writeFile",
 "input.webm",
 new Uint8Array(sourceBuffer, 0, sourceBuffer.byteLength)
 );
 await ffmpeg.run("-i", "input.webm", "-c", "copy", "output.mp4")
 const output = ffmpeg.FS("readFile", "output.mp4");
 var link = document.createElement('a')
 link.href = URL.createObjectURL(new Blob([output.buffer], { type: 'video/mp4;codecs=H264' }));
 link.download = this.data;
 link.click();
 recording = false;
}



Brief about problem :
The error only comes for android chrome browser. The same code works fine on pc/laptop chrome.
Have also enabled Webassembly-thread on chrome ://flags for android browser as someone suggested me to do it but still same error. Can someone help me ?


-
Rolling screen capture with ffmpeg on windows
11 décembre 2020, par gap210I have the following code to capture a video stream from my webcam. I use ffmpeg to write to named windows pipe, then read it with python and display with opencv. The thing is that the opencv stream is 'rolling' as shown here https://www.youtube.com/watch?v=H78TRo3DZIo


If I capture the output to a video instead of a pipe, with the command :


ffmpeg -f dshow -video_size 1920x1080 -framerate 60 -i video="USB Video" -c:v copy out.avi


everything looks fine. What should I change to achieve the desired effect ? (non-rolling stream)


My code below :


import cv2
import time
import subprocess
import numpy as np

w, h = 800, 600

# Get frame generator
gen = ffmpegGrab()

# Get start time
start = time.time()

# Read video frames from ffmpeg in loop
nFrames = 0
cmd = 'C:/Users/......./Downloads/ffmpeg-4.3.1-2020-11-19-full_build/bin/ffmpeg.exe -f dshow -framerate 60 -video_size 800x600 -i video="USB Video" -pix_fmt bgr24 -vcodec rawvideo -f image2pipe -'

proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, bufsize=10**9)
while True:
 # Read next frame from ffmpeg

 frame = proc.stdout.read(w * h * 3)
 frame = np.frombuffer(frame, dtype=np.uint8).reshape((h, w, 3))
 cv2.imshow('screenshot', frame)

 if cv2.waitKey(1) == ord("q"):
 break

 fps = nFrames / (time.time() - start)
 print(f'FPS: {fps}')

cv2.destroyAllWindows()