
Recherche avancée
Médias (91)
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#1 The Wires
11 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (66)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (4944)
-
FFmpeg individual image zoom-in transition
19 juillet 2024, par The SomebodyI'm stuck with an ffmpeg command that needs to generate a video. Originally, I had an ffmpeg command that would loop through images and change after a certain amount of time. Now, to improve the video a little bit, I wish to add a zoom in effect on each image.


I am facing an issue that when I generate the video, the images no longer change. That is, it is constantly first image. I can the zoom effect replay as it should (for every changing image), but the images do not actually change (it is always the first picture). Any advice/suggestion would be appreciated. I am sure, it will be something wrong with the syntax, but now I am at a loss..


Original code, that works fine (without the zoom in) :


ffmpeg -n -loop 1 -t 26.01 -i "\image_0.png" -loop 1 -t 26.01 -i "\image_1.png"
 -loop 1 -t 26.01 -i "\image_2.png" -loop 1 -t 26.01 -i "\image_3.png" 
 -i "/speech.mp3" 
 -filter_complex "[0:v]scale=1080x1920,setpts=PTS-STARTPTS[v0]; 
 [1:v]scale=1080x1920,setpts=PTS-STARTPTS[v1]; 
 [2:v]scale=1080x1920,setpts=PTS-STARTPTS[v2]; 
 [3:v]scale=1080x1920,setpts=PTS-STARTPTS[v3]; 
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,subtitles='"C\:/transcription.ass"'[v]" -map "[v]" -map 4:a -c:v libx264 -c:a aac -b:a 192k
 -shortest "C:\Videos/Video.mp4" -loglevel verbose



Code that does not work as intended :


ffmpeg -n -loop 1 -t 26.01 -i "\image_0.png" -loop 1 -t 26.01 -i "\image_1.png" -loop 1 -t 26.01 -i "\image_2.png" -loop 1 -t 26.01 -i "\image_3.png" -i "/speech.mp3" -filter_complex "[0:v]scale=1080x1920,zoompan=z='zoom+0.001':d=650:s=1080x1920:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2),setpts=PTS-STARTPTS[v0]; [1:v]scale=1080x1920,zoompan=z='zoom+0.001':d=650:s=1080x1920:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2),setpts=PTS-STARTPTS[v1]; [2:v]scale=1080x1920,zoompan=z='zoom+0.001':d=650:s=1080x1920:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2),setpts=PTS-STARTPTS[v2]; [1:v]scale=1080x1920,zoompan='z=zoom+0.001':d=650:s=1080x1920:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2),setpts=PTS-STARTPTS[v3]; [v0][v1][v2][v3]concat=n=4:v=1:a=0,subtitles='C\:/transcription.ass'[v]" -map "[v]" -map 4:a -c:v libx264 -c:a aac -b:a 192k -shortest "C:\Videos/Video.mp4" -loglevel verbose



I tried to change and see if it really is just the first image that's used through out the video and confirmed it. Also tried to play around with the symbols '"', ' ' ', etc.


-
Extract individual frames from video and pipe them to StandardOutput in FFmpeg
13 novembre 2019, par Nicke ManarinI’m trying to extract frames from a video using FFmpeg. But instead of letting FFmpeg write the files to disk, I’m trying to get the frames directly from
StandardOutput
.I’m not sure if it’s feasible. I’m expecting to get each frame individually as they get decoded by reading and waiting until all frames are extracted.
With the current code, I think that I’m getting all frames at once.
Command
ffmpeg -i "C:\video.mp4" -r 30 -ss 00:00:10.000 -to 00:01:20.000 -hide_banner -c:v png -f image2pipe -
Code
var start = TimeSpan.FromMilliseconds(SelectionSlider.LowerValue);
var end = TimeSpan.FromMilliseconds(SelectionSlider.UpperValue);
var info = new ProcessStartInfo(UserSettings.All.FfmpegLocation)
{
Arguments = $" -i \"{VideoPath}\" -r {fps} -ss {start:hh\\:mm\\:ss\\.fff} " +
"-to {end:hh\\:mm\\:ss\\.fff} -hide_banner -c:v png -f image2pipe -",
CreateNoWindow = true,
ErrorDialog = false,
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardOutput = true
};
var process = new Process();
process.StartInfo = info;
process.Start();
while (!process.StandardOutput.EndOfStream)
{
if (_cancelled)
{
process.Kill();
return;
}
//This returns me the entire byte array, of all frames.
var bytes = default(byte[]);
using (var memstream = new MemoryStream())
{
process.StandardOutput.BaseStream.CopyTo(memstream);
bytes = memstream.ToArray();
}
}
I also tried to use
process.BeginOutputReadLine()
and wait for each frame inOutputDataReceived
. But it returns parts of each frame, like the 10 first bytes, than other 50 bytes, it’s erratic.Is there any way to get the frames separately via the output stream ?
-
probing individual klv streams for specific signature/header
17 juin 2019, par J HeymanCurrently, the software I support processes the different streams within a video container (.ts, .mp4, .mpg, etc) without any issues as long as there is only one(1) type of each codec stream.
I’ve recently encountered a video sample that actually contains three(3) identified AV_CODE_ID_SMPTE_KLV streams. As I loop through the three streams, one of them is the stream I need.
I haven’t been able to figure out an easy way to do the specific query I need (check for known header bytes in the stream)....
for (i = 0; i < nb_streams; i++) {
int real_stream_index = program ? program[i] : i;
AVStream *st = ic->streams[real_stream_index];
AVCodecParameters *par = st->codecpar;
if (par->codec_type != type)
continue;
if (id != AV_CODEC_ID_NONE) {
if (par->codec_id != id)
continue;
}
if (wanted_stream_nb >= 0 && real_stream_index != wanted_stream_nb)
continue;
if (type == AVMEDIA_TYPE_AUDIO && !(par->channels && par->sample_rate))
continue;
disposition = !(st->disposition & (AV_DISPOSITION_HEARING_IMPAIRED | AV_DISPOSITION_VISUAL_IMPAIRED));
count = st->codec_info_nb_frames;
bitrate = par->bit_rate;
multiframe = FFMIN(5, count);
if ((best_disposition > disposition) ||
(best_disposition == disposition && best_multiframe > multiframe) ||
(best_disposition == disposition && best_multiframe == multiframe && best_bitrate > bitrate) ||
(best_disposition == disposition && best_multiframe == multiframe && best_bitrate == bitrate && best_count >= count))
continue;
best_disposition = disposition;
best_count = count;
best_bitrate = bitrate;
best_multiframe = multiframe;
ret = real_stream_index;My thought was to add another || to the complex if{} above, but I haven’t been able to figure out how to do the comparison I need (looking for the header bytes).
I’ve looked into existing documentation, and thought that accessing the probe_data structure within the AVStream contained within the AVFormatContext structure would give me the first few bytes of the stream. No such luck, as the probe_data structure is empty even though we’ve done a probe on the file itself.
fprintf(stderr, "Filename: %s\t buf_size: %d\n", st-> probe_data.filename, st-> probe_data.buf_size);