
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (48)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 (...)
Sur d’autres sites (8970)
-
const command is not defined using ffmpeg and child_process
19 avril 2021, par davidf214I'm doing a project and I have a problem. Im trying to generate a .mpd file for a VOD web. The problem is that when i upload a video, it gets me into the function but it says "const command is not defined".


exports.encodeDash = (videoFile) => {
 return new Promise((resolve, reject) => {
 const parsedFile = path.parse(videoFile);
 const outputFile = `${parsedFile.name}.mpd`
 const outputFilePath = `/videos/dash/${outputFile}`;
 const outputFilemp4 = `${parsedFile.name}.mp4`;
 const outputFilePathmp4 = `/videos/${outputFilemp4}`

 if (parsedFile.ext == '.mp4'){
 let command=`ffmpeg -i ${videoFile} -c:v libx264 -r 24 -g 24 -b:v 1000k -maxrate 1000k -bufsize 2000k /videos/dash/${parsedFile.name}-1000k.mp4 && bento4/bin/mp4fragment --fragment-duration 2000 /videos/dash/${parsedFile.name}-1000k.mp4 /videos/dash/fragmentado/${parsedFile.name}_1000k-frag.mp4 &&
 ffmpeg -i ${videoFile} -c:v libx264 -r 24 -g 24 -b:v 500k -maxrate 500k -bufsize 1000k /videos/dash/${parsedFile.name}-500k.mp4 && bento4/bin/mp4fragment --fragment-duration 2000 /videos/dash/${parsedFile.name}-500k.mp4 /videos/dash/fragmentado/${parsedFile.name}_500k-frag.mp4 &&
 ffmpeg -i ${videoFile} -c:v libx264 -r 24 -g 24 -b:v 250k -maxrate 250k -bufsize 500k /videos/dash/${parsedFile.name}-250k.mp4 && bento4/bin/mp4fragment --fragment-duration 2000 /videos/dash/${parsedFile.name}-250k.mp4 /videos/dash/fragmentado/${parsedFile.name}_250k-frag.mp4 &&
 python bento4/utils/mp4-dash.py --use-segment-timeline -o ${outputFilePath} /videos/dash/fragmentado/${parsedFile.name}_1000k-frag.mp4 /videos/dash/fragmentado/${parsedFile.name}_500k-frag.mp4 /videos/dash/fragmentado/${parsedFile.name}_250k-frag.mp4`;
 } else {
 let command=`ffmpeg -y -i ${videoFile} ${outputFilePathmp4} && ffmpeg -i ${outputFilePathmp4} -c:v libx264 -r 24 -g 24 -b:v 1000k -maxrate 1000k -bufsize 2000k /videos/dash/${parsedFile.name}-1000k.mp4 && bento4/bin/mp4fragment --fragment-duration 2000 /videos/dash/${parsedFile.name}-1000k.mp4 /videos/dash/fragmentado/${parsedFile.name}_1000k-frag.mp4 &&
 ffmpeg -i ${outputFilePathmp4} -c:v libx264 -r 24 -g 24 -b:v 500k -maxrate 500k -bufsize 1000k /videos/dash/${parsedFile.name}-500k.mp4 && bento4/bin/mp4fragment --fragment-duration 2000 /videos/dash/${parsedFile.name}-500k.mp4 /videos/dash/fragmentado/${parsedFile.name}_500k-frag.mp4 &&
 ffmpeg -i ${outputFilePathmp4} -c:v libx264 -r 24 -g 24 -b:v 250k -maxrate 250k -bufsize 500k /videos/dash/${parsedFile.name}-250k.mp4 && bento4/bin/mp4fragment --fragment-duration 2000 /videos/dash/${parsedFile.name}-250k.mp4 /videos/dash/fragmentado/${parsedFile.name}_250k-frag.mp4 &&
 python bento4/utils/mp4-dash.py --use-segment-timeline -o ${outputFilePath} /videos/dash/fragmentado/${parsedFile.name}_1000k-frag.mp4 /videos/dash/fragmentado/${parsedFile.name}_500k-frag.mp4 /videos/dash/fragmentado/${parsedFile.name}_250k-frag.mp4`;
 } 

 
 // Encode
 
 
 child_process.exec(command, (err, stdout, stderr) => {
 if (err) {
 return reject(new Error(`Encoding error. ${stderr}`));
 }
 resolve(outputFilePath)
 
 });

 
 });
 
}



Just in case, it gives me problems in line child_process.exec(command, (err, stdout, stderr). Thanks !


-
How do I generate a file M3U8 compatible with fmp4 ?
18 janvier 2019, par DopI have a streaming solution that use MPEG-Dash protocol, and I would like to expose the same files on hls for IOS devices.
I read that fmp4 is now compatible with hls, so I thought that this could be done
When I generate may mpd file with this command :
MP4Box -dash 33000 -frag 33000 -out video.mpd -profile dashavc264:onDemand original.mp4#audio original.mp4#video
what I want is to not duplicate files, and use my generated Dash files with a HLS manifest file.
-
Revision 30246 : Corrections de grosses boulettes sql Correction d’une boulette dans la ...
27 juillet 2009, par kent1@… — LogCorrections de grosses boulettes sql
Correction d’une boulette dans la déclaration des champs
On ne permet la demande de réencodage que depuis le document original sinon vive ma perte de qualité
On affiche un message indiquant que c’est une version encodée issue d’un autre document s’il y a lieu de le faire
On encode les sons dorénavant