
Recherche avancée
Médias (1)
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
Autres articles (70)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
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
Sur d’autres sites (8284)
-
How to create a video out of frames without saving it to disk using python ?
6 septembre 2022, par brenodacostaI have a function that returns a frame as result. I wanted to know how to make a video out of a for-loop with this function without saving every frame and then creating the video.


What I have from now is something similar to :


import cv2
out = cv2.VideoWriter('video.mp4',cv2.VideoWriter_fourcc(*'DIVX'), 14.25,(500,258))
for frame in frames:
 img_result = MyImageTreatmentFunction(frame) # returns a numpy array image
 out.write(img_result)
out.release()



Then the video will be created as video.mp4 and I can access it on memory. I'm asking myself if there's a way to have this video in a variable that I can easily convert to bytes later. My purpose for that is to send the video via HTTP post.


I've looked on ffmpeg-python and opencv but I didn't find anything that applies to my case.


-
ffmpeg How to get PCM floats from AVFrame with AV_SAMPLE_FMT_FLT
26 novembre 2020, par cs guyI have an AVFrame obtained through a decoder that has a format of
AVSampleFormat::AV_SAMPLE_FMT_FLT
. My issue is I want to convert the data stored inside

avFrame->data; // returns uint8_t *



to Array of floats that are between [-1, +1]. I see that
avFrame->data;
returnsuint8_t *
how may I use this to obtain the float pcm data for each channel of the audio ?

I tried the following :


auto *floatArrPtr = (float *)(avResampledDecFrame->data[0]);

 for (int i = 0; i < avResampledDecFrame->nb_samples; i++) {
 // TODO: store interleaved floats somewhere
 floatArrPtr++;
 }



but I am not sure if this is the right way to get data


-
Realtime removal of carriage return in shell
1er mai 2013, par SethFor context, I'm attempting to create a shell script that simplifies the realtime console output of ffmpeg, only displaying the current frame being encoded. My end goal is to use this information in some sort of progress indicator for batch processing.
For those unfamiliar with ffmpeg's output, it outputs encoded video information to stdout and console information to stderr. Also, when it actually gets to displaying encode information, it uses carriage returns to keep the console screen from filling up. This makes it impossible to simply use grep and awk to capture the appropriate line and frame information.
The first thing I've tried is replacing the carriage returns using tr :
$ ffmpeg -i "ScreeningSchedule-1.mov" -y "test.mp4" 2>&1 | tr '\r' '\n'
This works in that it displays realtime output to the console. However, if I then pipe that information to grep or awk or anything else, tr's output is buffered and is no longer realtime. For example :
$ ffmpeg -i "ScreeningSchedule-1.mov" -y "test.mp4" 2>&1 | tr '\r' '\n'>log.txt
results in a file that is immediately filled with some information, then 5-10 secs later, more lines get dropped into the log file.At first I thought sed would be great for this :
$ # ffmpeg -i "ScreeningSchedule-1.mov" -y "test.mp4" 2>&1 | sed 's/\\r/\\n/'
, but it gets to the line with all the carriage returns and waits until the processing has finished before it attempts to do anything. I assume this is because sed works on a line-by-line basis and needs the whole line to have completed before it does anything else, and then it doesn't replace the carriage returns anyway. I've tried various different regex's for the carriage return and new line, and have yet to find a solution that replaces the carriage return. I'm running OSX 10.6.8, so I am using BSD sed, which might account for that.I have also attempted to write the information to a log file and use
tail -f
to read it back, but I still run into the issue of replacing carriage returns in realtime.I have seen that there are solutions for this in python and perl, however, I'm reluctant to go that route immediately. First, I don't know python or perl. Second, I have a completely functional batch processing shell application that I would need to either port or figure out how to integrate with python/perl. Probably not hard, but not what I want to get into unless I absolutely have to. So I'm looking for a shell solution, preferably bash, but any of the OSX shells would be fine.
And if what I want is simply not doable, well I guess I'll cross that bridge when I get there.