
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 (58)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
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 (6649)
-
Detect if an interlaced video frame is the Top or Bottom field ?
21 décembre 2024, par DannyI'm decoding video PES packets (packetized elementary stream) containing H.264/AVC and H.265/HEVC using
libavcodec
like this :

while (remainingESBytes > 0)
{
 int bytesUsed = av_parser_parse2(
 mpParser, mpDecContext,
 &mpEncPacket->data, &mpEncPacket->size,
 pIn, remainingESBytes,
 AV_NOPTS_VALUE, AV_NOPTS_VALUE, 0);

 // send encoded packet for decoding
 int ret = avcodec_send_packet(mpDecContext, mpEncPacket);
 if (ret < 0)
 {
 // failed
 continue;
 }

 while (ret >= 0)
 {
 ret = avcodec_receive_frame(mpDecContext, mpDecFrame);
 /// Do stuff with frame ///
 }

 remainingESBytes = getMoreBytes()
}



Sometimes the input video is interlaced, in which case it seems
avcodec_receive_frame
is returning individual fields and not a merged frame of the top and bottom fields together.

I couldn't find any way for
avcodec_receive_frame
to emit a full, non-interlaced frame.

I can merge a top and bottom field together but I haven't found any way to identify if a given
AVFrame
is top or bottom.

How can I do that ?


EDIT I


Looking at the log output from the decoder, it appears the decoder knows if the field is top or bottom (carried by SEI ?) but still can't figure out how to access that information via the libavcodec API...


[hevc @ 0x1afcfc0] ENTER DECODE NAL TYPE 39. sei.ni_custom.type = -1
[hevc @ 0x1afcfc0] Set sei.ni_custom.type to -1.
[hevc @ 0x1afcfc0] ff_hevc_decode_nal_sei - s->ni_custom.type = -1
[hevc @ 0x1afcfc0] Decoding SEI [NAL Type 39]. ni_custom.type=-1
[hevc @ 0x1afcfc0] TOP Field
[hevc @ 0x1afcfc0] EXIT DECODE NAL TYPE 39. sei.ni_custom.type = -1



-
FFMpeg Speed up transparent webm C#/Cmd
17 avril 2023, par Alphapixel 182004I am trying to speed up a webm video file while maintaining the transparency but every attempt I've made has removed the transparency.


How do I speed up a transparent webm using FFMpeg without losing the transparency ?


Note : I am doing this all in c# but would prefer to use commands instead of wrapper libraries.


this is the general command I have tried :


command = $"-i \"{input}\" -filter_complex \"[0:v]setpts = (1/{speed}) * PTS[v]; [0:a]atempo = {speed}[a]\" -map \"[v]\" -map \"[a]\" -c:v libvpx-vp9 -b:v 1M -y \"{output}";

That command did not maintain transparency though.

A little info about the input video :


- 

-
The input is transparent


-
the input is basically a mess of individual transparent webm's joined together that were made with either :


- 

- Poster with audio :










$"-threads 4 -loop 1 -i \"{image}\" -i \"{audio}\" -c:v libvpx-vp9 -pix_fmt yuva420p -crf 10 -b:v 0 -c:a libopus -b:a 192k -shortest -movflags +faststart -y \"{output}\"";


- 

- Padding the clip :




$"-i \"{input}\" -filter_complex \"[0:v]split=2[v1][v2];[v1]tpad=start_duration={startPadMs / 1000}:start_mode=clone:stop_duration={endPadMs / 1000}:stop_mode=clone[v1_edited];[v1_edited][v2]overlay=eof_action=pass[v];[0:a]adelay={startPadMs}|{startPadMs}[a]\" -map \"[v]\" -map \"[a]\" \"{output}\""


- 

- Joining videos :




var temp = Path.Combine(Path.GetTempPath(), "concat.txt"); File.WriteAllText(temp, string.Join('\n', clips.Select(e => $"file '{e}'"))); var command = $"-f concat -safe 0 -i "{temp}" -c copy -y "{output}"";\


-
-
lavu : add an API function to return the FFmpeg version string
30 juin 2015, par wm4lavu : add an API function to return the FFmpeg version string
This returns something like "N-73264-gb54ac84". This is much more useful
than the individual library versions, of which there are too much and
which are very hard to map back to releases or git commits.Signed-off-by : Michael Niedermayer <michaelni@gmx.at>