
Recherche avancée
Autres articles (104)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
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 -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (10391)
-
How to build FFmpeg into static libs for MacOS for usage in a C++ application
29 septembre 2017, par ProgramistHow can I build static libs of FFmpeg for MacOS.
All I need is to make a
.mp4
with H264 codecs out of some images using ffmpeg. Dont need the build to be fully loaded with features.I built it for iOS using a script from here which was really simple and smooth. It checked out the code & smoothly built the output into
include/
&lib/
folders.I checked the official FFmpeg site offers excutables for MacOS. But I need static libs to use in my C++ code.
Question :
I want to build FFmpeg into static libs for MacOS only for creating.mp4
videos. How can I do it OR
How can I change this script to do the same for MacOS ?PS :
I am Mac OS Sierra with Xcode9 -
What is the best way to get duration of a video using ffprobe (ffmpeg) ?
15 juin 2023, par promaxdevMost of the solutions to get duration revolves around parsing the output to get the duration. Even FFProbe official documentation here says that there is no duration stored for MKV, webm, etc.


Take the below examples.


ffprobe -v error -i <inputmkv> -show_entries stream=...,duration,.. -of default=noprint_wrappers=1
</inputmkv>


This gives me the below output. This is not having duration.




But when I run the same command differently like below, I am getting this output but having duration. Just removed '-v error' part.


ffprobe -i <inputmkv> -show_entries stream=...duration,... -of default=noprint_wrappers=1 
</inputmkv>




If you notice the same command shows the duration in one place and not in another place.


So my question is, What is the best way to get duration in ffmpeg, especially for the video streams ?


Edit : I have already explored decoding using null mux option. But that is a costly operation and also need to parse the output.


-
How to force AVCodecContext to release all references to any buffers
17 septembre 2024, par imikboxI'm using FFMPEG to decode a video stream and I have implemented a custom functions for
AVFrame
memory allocation and de-allocation (by setting a custom function forcodec_ctx->get_buffer2
). So when anAVFrame
requires new memory, I do the memory allocation and wrap anAvBufferRef
around it usingav_buffer_create
. I also define my custom de-allocation function, so when the reference countedAvBufferRef
is not required anymore, I do the memory clean up.
This way I can log precisely when memory gets allocated and when a buffer becomes free.

During video decoding I want to do a seek, for that I need to clear out all buffers from my
AVCodecContext
. I'm following the official documentation for that :

- 

- enter draining mode by sending
NULL
to the decoder - collect all frames from the decoder
- flush
AVCodecContext








This is the code for that :


avcodec_send_packet(codec_ctx, NULL);
 auto result = 0;
 while (result != AVERROR_EOF)
 {
 auto frame = av_frame_alloc();
 result = avcodec_receive_frame(codec_ctx, frame);
 av_frame_free(&frame);
 }
 avcodec_flush_buffers(codec_ctx);



However, I can see (due to my custom memory management) that not all frames are released.
Only when I close the codec context by calling
avcodec_free_context
, I see all frames getting released.

Any hints how I can completely release all resources in
AVCodecContext
(without closing it) ?

- enter draining mode by sending