
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (104)
-
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 (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...)
Sur d’autres sites (6650)
-
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
-
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


-
swscale/aarch64 : add hscale specializations
26 mai 2022, par Swinney, Jonathanswscale/aarch64 : add hscale specializations
This patch adds code to support specializations of the hscale function
and adds a specialization for filterSize == 4.ff_hscale8to15_4_neon is a complete rewrite. Since the main bottleneck
here is loading the data from src, this data is loaded a whole block
ahead and stored back to the stack to be loaded again with ld4. This
arranges the data for most efficient use of the vector instructions and
removes the need for completion adds at the end. The number of
iterations of the C per iteration of the assembly is increased from 4 to
8, but because of the prefetching, there must be a special section
without prefetching when dstW < 16.This improves speed on Graviton 2 (Neoverse N1) dramatically in the case
where previously fs=8 would have been required.before : hscale_8_to_15__fs_8_dstW_512_neon : 1962.8
after : hscale_8_to_15__fs_4_dstW_512_neon : 1220.9Signed-off-by : Jonathan Swinney <jswinney@amazon.com>
Signed-off-by : Martin Storsjö <martin@martin.st>