
Recherche avancée
Médias (3)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (35)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (5638)
-
Why does it say error finding module when I already installed it
13 mai 2020, par MiqhtieLolI 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!



-
ffmpeg specify order of applied filter
17 avril 2020, par emilazI have a video that I want to first crop, then scale and output the result as images. I've looked around in the docs but couldn't find a definite answer as to in what order ffmpeg applies its filters.
Currently, I'm running



ffmpeg -i vid -filter:v "crop={0}:{1}:{2}:{3}".format(str(width), str(height), str(x_min), str(y_min)) -c:a copy -crf 23 crop_vid




Followed by



ffmpeg -i crop_vid -vf 'scale={0}*iw:{0}*ih'.format(str(resize_factor)) -c:a copy -crf 23 os.path.join(img_path, '%04d.bmp')




I'm running these as subprocesses from a python script, hence the partial python notation. Could I somehow run this as one script ensuring the order of first crop, then scale instead of running ffmpeg twice ?


-
Waiting between FFMPEG scripts when creating .hdr/.chk and .mpd files on NGINX server using RTMP module
17 avril 2020, par Mathew KnightWonder 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;
 }

 }


 }

}