
Recherche avancée
Autres articles (65)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...) -
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 ;
Sur d’autres sites (8145)
-
avformat/segafilmenc : Don't store packet info in linked list
17 juillet 2020, par Andreas Rheinhardtavformat/segafilmenc : Don't store packet info in linked list
Up until now, the Sega FILM muxer would store some information about
each packet in a linked list. When writing the trailer, the information
in said linked list would be used to write a table in the file header.
Each entry in said table is 16 bytes long, but each entry of the linked
list is 32 bytes long (assuming 64 bit pointer and no padding).
Therefore it makes sense to remove the linked list and write the array
entries directly into a dynamic buffer while writing the packet (this is
possible because the table entries don't depend on any information not
available when writing the packet (the offset is not relative to the
beginning of the file, but to the end of the table). This also
simplifies writing the array at the end (there is no need to traverse a
linked list).Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-
avformat/mxfenc : Store locally whether DNXHD profile is interlaced
9 novembre 2021, par Andreas Rheinhardtavformat/mxfenc : Store locally whether DNXHD profile is interlaced
It is just a flag per supported CID. So there is no reason to use
an avpriv function for this purpose.Reviewed-by : Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com> -
libav : Store h264 frames in mp4 container
25 janvier 2024, par ImJustACowLolI'm making a C++ application that retrieves frames from a camera and then encodes each frame with a H264 encoder (not using libav). This encoded H264 frame is then kept in memory as a
void *mem
as I need to do several things with the encoded frame.

One of the things I need to do, is store the frames (so the
void *mem
pointers) in a.mp4
container usinglibavcodec
/libavformat
. I do NOT want to transcode each frame, I just want to store them directly into the mp4 container.

Preferably for each individual frame that I push through, I get the resulting data as a return type from the function (not sure if this is possible ?). If this is not possible, then writing to a file directly is OK as well.


How does one go about doing this with libav ?


The only part I have got so far, and where I'm getting stuck, is this :


/*
some private fields accessible in MP4Muxer:
int frameWidth_, frameHeight_, frameRate_, srcBitRate_;
*/


void MP4Muxer::muxFrame(void *mem, size_t len, int64_t timestamp, bool keyFrame) {
 const AVOutputFormat* outputFormat = av_guess_format("mp4", NULL, NULL);
 AVFormatContext* outputFormatContext = avformat_alloc_context();
 outputFormatContext->oformat = outputFormat;
 AVStream* videoStream = avformat_new_stream(outputFormatContext, NULL);

 videoStream->codecpar->codec_type = AVMEDIA_TYPE_VIDEO;
 videoStream->codecpar->codec_id = AV_CODEC_ID_H264;
 videoStream->codecpar->width = frameWidth_;
 videoStream->codecpar->height = frameHeight_;
 videoStream->avg_frame_rate = (AVRational) {frameRate_, 1};
 videoStream->time_base = (AVRational) {1, 90000};

}



How do I continue from here ? Are there any good resources I can follow ? There are some resources I found online, but all of them either write the output directly to a file, read input directly from streams/files etc. so I have a hard time translating them to my needs.