
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (50)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (8326)
-
Node.js - I keep getting the following error : Error : ffmpeg stream : write EPIPE
14 août 2020, par KykyI'm currently programming a Discord bot using
discord.js
, and I'm usingytdl-core
to play music. Here is the program I'm using to play music :


const {google} = require('googleapis');
const ytdl = require('ytdl-core');
// Initialise Google API
const youtube = google.youtube({
 version: 'v3',
 auth: MyAuth
});
musicQueue = [] // Queue for playing music
dispatcher = null; // Transmits voice packets from stream

module.exports = {
 name: "play",

 async execute(msg, args) { // msg is a Discord Message
 // Play music and music queued after
 async function playAndQueue(stream) {

 // Join voice channel
 voiceChannel = client.channels.cache.find(channel => channel.type === "voice" && channel.name === "music-channel");
 voiceConnection = voiceChannel.join();

 dispatcher = await voiceConnection.play(stream, {volume: 0.3}); // Decrease volume to prevent clipping

 // When music stops
 dispatcher.on("finish", async reason => {
 if (musicQueue[0]) { // Still have music queued
 const nextVideoLink = musicQueue[0]; // Next video to play
 const stream = ytdl(nextVideoLink, {filter: 'audioonly'});

 playAndQueue(stream);
 dispatcherInfo = await ytdl.getInfo(nextVideoLink);
 musicQueue.shift();
 } else { // No music to play
 dispatcher = null;
 dispatcherInfo = null;
 }
 });

 dispatcher.on("error", console.log);
 dispatcher.on("debug", console.log);

 }

 // Search Youtube using args
 const youtubeSearchResult = await youtube.search.list({
 part: 'snippet',
 type: 'video', // We do not want channels or playlists
 q: args.join(' '),
 maxResults: 1 // We only need first search result
 });
 const youtubeVideo = youtubeSearchResult.data.items[0];
 if (! youtubeVideo) {
 msg.channel.send("Error: Could not find any music matching search.");
 return;
 }

 const videoLink = `https://www.youtube.com/watch?v=${youtubeVideo.id.videoId}`; // Link to video

 const stream = ytdl(videoLink, {filter: 'audioonly'});
 const videoInfo = await ytdl.getInfo(videoLink);


 if (dispatcher) { // Currently playing music
 musicQueue.push(videoLink);
 msg.channel.send(`**${videoInfo.title}** has been added into the queue!`);
 } else {
 playAndQueue(stream);
 dispatcherInfo = videoInfo;
 msg.channel.send(`Currently playing **${videoInfo.title}**!`);
 }
 }
}




However, when I try to run the program on Heroku, I get this error :



ffmpeg stream: write EPIPE
 at WriteWrap.onWriteComplete [as oncomplete (internal/stream_base_commons.js:92:16) {
 errno: 'EPIPE',
 code: 'EPIPE',
 syscall: 'write'
}




What can I do ?


-
Error in http dynamic streaming TypeError - Error #1009
25 octobre 2014, par internetdopingI am making mutli-bitrate streaming in FMS and FFMPGE.
InFFMPEG
I create 4 bitrates of source video and publish it on theFMS
throughRTMP
protocol(rtmp://my-server/livepkgr/mystreamName1?adbe-live-event=liveevent).
Now all configurations are working currently but sometimes I get this error :
1- TypeError - Error #1009This is my
FFMPEG
syntaxt to create multi-bitrate :ffmpeg -re -i j:\movie\warz.mkv
-preset ultrafast -threads 1 -vcodec libx264 -b:v 720k -r 24 -g 24 -keyint_min 4 -x264opts "keyint=4:min-keyint=48:no-scenecut" -s 856*360 -acodec libmp3lame -b:a 16k -ac 1 -ar 44100 -f flv rtmp://12.11.1.2/livepkgr/relation720p?adbe-live-event=relation
-preset ultrafast -threads 1 -vcodec libx264 -b:v 600k -r 24 -g 24 -keyint_min 4 -x264opts "keyint=4:min-keyint=48:no-scenecut" -s 856*360 -acodec libmp3lame -b:a 16k -ac 1 -ar 44100 -f flv rtmp://12.11.1.2/livepkgr/relation360p?adbe-live-event=relation
-preset ultrafast -threads 1 -vcodec libx264 -b:v 350k -r 24 -g 24 -keyint_min 4 -x264opts "keyint=4:min-keyint=48:no-scenecut" -s 570*240 -acodec libmp3lame -b:a 16k -ac 1 -ar 44100 -f flv rtmp://12.11.1.2/livepkgr/relation240p?adbe-live-event=relation
-preset ultrafast -threads 1 -vcodec libx264 -b:v 98k -r 24 -g 24 -keyint_min 4 -x264opts "keyint=4:min-keyint=48:no-scenecut" -s 342*144 -acodec libmp3lame -b:a 16k -ac 1 -ar 44100 -f flv rtmp://12.11.1.2/livepkgr/relation144p?adbe-live-event=relation
-preset ultrafast -threads 1 -vcodec libx264 -b:v 98k -r 24 -g 24 -keyint_min 4 -x264opts "keyint=4:min-keyint=48:no-scenecut" -s 342*144 -acodec libmp3lame -b:a 16k -ac 1 -ar 44100 -f flv rtmp://12.11.1.2/livepkgr/relation98p?adbe-live-event=relationand this is my F4M file :
<manifest xmlns="http://ns.adobe.com/f4m/2.0">
<dvrinfo beginoffset="0" endoffset="1800"></dvrinfo>
<baseurl>http://12.11.1.2/hds-live/livepkgr/_definst_/relation</baseurl>
<media href="relation360p.f4m" bitrate="600"></media>
<media href="relation240p.f4m" bitrate="350"></media>
<media href="relation144p.f4m" bitrate="128"></media>
<media href="relation720p.f4m" bitrate="1932"></media>
<media href="relation98p.f4m" bitrate="98"></media>
</manifest>Please advise me to fix this problem.
Any help will be appreciated. -
Parse folder name, generate GIF from images inside using ffmpeg
16 janvier 2023, par BestMordaEverI have 150 folders with some nasty folder structure. Inside are animation frames helpfully named
1.png
,2.png
and so on. I need to generate gifs from those images and have them named properly. Here's how I'd handle this case by case :

Folder
./dragon/raw/bodies/dragon/green/old/5/down/idle
has 25.png
files. I run the following commands :

# pngs to gif
ffmpeg -framerate 12 -start_number 1 -i ./dragon/raw/bodies/dragon/green/old/5/down/idle/%d.png dragon-green-old-5-down-idle-intermediate.gif

# gif to boomerang gif
ffmpeg -i dragon-green-old-5-down-idle-intermediate.gif -filter_complex "[0]trim=start_frame=1:end_frame=29,setpts=PTS-STARTPTS,reverse[r];[0][r]concat=n=2:v=1:a=0,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" dragon-green-old-5-down-idle.gif

# remove the intermediate gif
rm dragon-green-old-5-down-idle-intermediate.gif



Note : relevant part of the name for gif is whatever's after
/raw/bodies


Question : how do I put this in a loop that would iterate over all the nested folders, parse their names and feed the result in the commands above ?


Bonus question : is there a way to merge the two commands and create the boomerang gif immediately, removing the need in intermediate files ?