
Recherche avancée
Autres articles (97)
-
Publier sur MédiaSpip
13 juin 2013Puis-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 -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;
Sur d’autres sites (9589)
-
ffmpeg app using node occasionally crashes as file doesn't appear to be read correctly
31 mai 2022, par ZabsI have an simple Node application that allows me to pass an AWS S3 URL link to a file (in this case video files). It uses the FFMPEG library to read the video file and return data like codecs, duration, bitrate etc..


The script is called from PHP script which in turn send the data to the Node endpoint and passes the Amazon S3 URL to node. Sometimes for no obvious reasons the video file fails to return the expected values regarding container, codec, duration etc... and just returns '0'. But when I try the exact same file/request again it returns this data correctly e.g
container:mp4


I'm not sure but I think the script somehow needs the
createWriteStream
to be closed but I cannot be sure, the problem is the issue I have found doesn't happen all the time but sporadically so its hard to get to the issue when its difficult to replicate it.

Any ideas ?


router.post('/', async function(req, res) {
 const fileURL = new URL(req.body.file);
 var path = fileURL.pathname;
 path = 'tmp/'+path.substring(1); // removes the initial / from the path

 let file = fs.createWriteStream(path); // create the file locally
 const request = https.get(fileURL, function(response) {
 response.pipe(file);
 });
 
 // after file has saved
 file.on('finish', function () {
 var process = new ffmpeg(path);
 process.then(function (video) {
 let metadata = formatMetadata(video.metadata);

 res.send ({
 status: '200',
 data: metadata,
 errors: errors,
 response: 'success'
 });

 }, function (err) {
 console.warn('Error: ' + err);

 res.send ({
 status: '400',
 data: 'Something went wrong processing this video',
 response: 'fail',
 });
 });
 });

 file.on('error', function (err) {
 console.warn(err);
 });

});

function formatMetadata(metadata) {
 const data = {
 'video' : metadata.video,
 'audio' : metadata.audio,
 'duration' : metadata.duration
 };
 return data;
}



// Expected output


{"data":{"video":{"container":"mov","bitrate":400,"stream":0,"codec":"h264","resolution":{"w":1280,"h":720},"resolutionSquare":{"w":1280,"h":720},"aspect":{"x":16,"y":9,"string":"16:9","value":1.7777777777777777},"rotate":0,"fps":25,"pixelString":"1:1","pixel":1},"audio":{"codec":"aac","bitrate":"127","sample_rate":44100,"stream":0,"channels":{"raw":"stereo","value":2}},"duration":{"raw":"00:00:25.68","seconds":25}}



// Actual output


{"data":{"video":{"container":"","bitrate":0,"stream":0,"codec":"","resolution":{"w":0,"h":0},"resolutionSquare":{"w":0,"h":null},"aspect":{},"rotate":0,"fps":0,"pixelString":"","pixel":0},"audio":{"codec":"","bitrate":"","sample_rate":0,"stream":0,"channels":{"raw":"","value":""}},"duration":{"raw":"","seconds":0}}



Note - this happens sporadically


-
Need help understanding this script which uses ffmpeg to send rtmp input to node.js script
4 juin 2022, par Arpit ShuklaI was trying to understand this shell script which uses ffmpeg to take an rtmp input stream and send it to a node.js script. But I am having trouble understanding the syntax. Can someone please explain what is going on here ?


The script :


while :
do
 echo "Loop start"

 feed_time=$(ffprobe -v error -show_entries format=start_time -of default=noprint_wrappers=1:nokey=1 $RTMP_INPUT)
 printf "feed_time value: ${feed_time}"

 if [ ! -z "${feed_time}" ]
 then
 ffmpeg -i $RTMP_INPUT -tune zerolatency -muxdelay 0 -af "afftdn=nf=-20, highpass=f=200, lowpass=f=3000" -vn -sn -dn -f wav -ar 16000 -ac 1 - 2>/dev/null | node src/transcribe.js $feed_time

 else
 echo "FFprobe returned null as a feed time."
 
 fi

 echo "Loop finish"
 sleep 3
done



- 

- What is
feed_time
here ? What does it represent ? - What is this portion doing
- 2>/dev/null | node src/transcribe.js $feed_time
? - What is the use of
sleep 3
? Does this mean that we are sending audio stream to node.js in chuncks of 3 seconds ?








- What is
-
Understanding a script which uses ffmpeg to send rtmp input to node.js script
4 juin 2022, par Arpit ShuklaI was trying to understand this shell script which uses ffmpeg to take an rtmp input stream and send it to a node.js script. But I am having trouble understanding the syntax. What is going on here ?


The script :


while :
do
 echo "Loop start"

 feed_time=$(ffprobe -v error -show_entries format=start_time -of default=noprint_wrappers=1:nokey=1 $RTMP_INPUT)
 printf "feed_time value: ${feed_time}"

 if [ ! -z "${feed_time}" ]
 then
 ffmpeg -i $RTMP_INPUT -tune zerolatency -muxdelay 0 -af "afftdn=nf=-20, highpass=f=200, lowpass=f=3000" -vn -sn -dn -f wav -ar 16000 -ac 1 - 2>/dev/null | node src/transcribe.js $feed_time

 else
 echo "FFprobe returned null as a feed time."
 
 fi

 echo "Loop finish"
 sleep 3
done



- 

- What is
feed_time
here ? What does it represent ? - What is this portion doing
- 2>/dev/null | node src/transcribe.js $feed_time
? - What is the use of
sleep 3
? Does this mean that we are sending audio stream to node.js in chuncks of 3 seconds ?








- What is