
Recherche avancée
Autres articles (62)
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...) -
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 (...) -
Changer le statut par défaut des nouveaux inscrits
26 décembre 2015, parPar défaut, lors de leur inscription, les nouveaux utilisateurs ont le statut de visiteur. Ils disposent de certains droits mais ne peuvent pas forcément publier leurs contenus eux-même etc...
Il est possible de changer ce statut par défaut. en "rédacteur".
Pour ce faire, un administrateur webmestre du site doit aller dans l’espace privé de SPIP en ajoutant ecrire/ à l’url de son site.
Une fois dans l’espace privé, il lui faut suivre les menus configuration > Interactivité et activer (...)
Sur d’autres sites (7354)
-
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>
-
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}"";\


-
-
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