
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (46)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (6078)
-
Merge commit ’f1ccd076801444ab7f524cb13e0886faaf10fd50’
17 décembre 2015, par Hendrik LeppkesMerge commit ’f1ccd076801444ab7f524cb13e0886faaf10fd50’
* commit ’f1ccd076801444ab7f524cb13e0886faaf10fd50’ :
h264 : do not call frame_start() for missing framesNot merged, FFmpeg does a lot more in frame_start to setup missing frames
as well (like coloring them), and the overhead of the other setup is
minimal.Merged-by : Hendrik Leppkes <h.leppkes@gmail.com>
-
Revision 6fb8953c19 : Restrict ref mv search range. Experiment to test speed trade off of reducing th
5 novembre 2012, par Paul WilkinsChanged Paths : Modify /vp9/common/blockd.h Modify /vp9/common/mvref_common.c Restrict ref mv search range. Experiment to test speed trade off of reducing the extent of the ref mv search. Reducing the maximum number of tested candidates to 9 had minimal net effect on quality in any of the tests (...)
-
Libav FFv1 read_quant_table decoding errors
16 novembre 2023, par flanselI am having trouble encoding and decoding video using the 'ffv1' codec. Interestingly when the width and height are 640 or less, this works correctly, but with any "large" frame size such as 1280x720 I get the follow errors ...


[ffv1 @ 0x5612f4ab2240] read_quant_table error
[ffv1 @ 0x5612f4ab2240] Cannot decode non-keyframe without valid keyframe



Are there any options which need to be set, or am I doing something else incorrectly, I made the example very minimal, I am aware that I am not writing an image to the frame and simply allocating garbage in the buffers among other things.
Thanks in advance.


// minimal example
// ...
#define FRAMES (500)

int main(int argc, char **argv)
{
 AVCodecContext *enc, *dec;
 AVFrame *frame = av_frame_alloc();
 AVFrame *decoded_frame = av_frame_alloc();
 AVPacket *packet = av_packet_alloc();
 AVPacket *padded_packet = av_packet_alloc();

 const AVCodec *enc_codec = avcodec_find_encoder_by_name("ffv1");
 const AVCodec *dec_codec = avcodec_find_decoder_by_name("ffv1");
 enc = avcodec_alloc_context3(enc_codec);
 dec = avcodec_alloc_context3(dec_codec);

 enc->width = 1280;
 enc->height = 720;
 enc->pix_fmt = AV_PIX_FMT_YUV420P;
 enc->time_base.num = 1001;
 enc->time_base.den = 60000;

 dec->width = enc->width;
 dec->height = enc->height;

 avcodec_open2(enc, enc_codec, NULL);
 avcodec_open2(dec, dec_codec, NULL);

 frame->height = enc->height;
 frame->width = enc->width;
 frame->format = enc->pix_fmt;
 av_frame_get_buffer(frame, 32);
 printf("frame linesz %i,%i,%i\n", frame->linesize[0], frame->linesize[1], frame->linesize[2]);

 for (int i = 0; i < FRAMES; ++i)
 {
 avcodec_send_frame(enc, frame);
 while (!avcodec_receive_packet(enc, packet))
 {
 av_new_packet(padded_packet, packet->size + AV_INPUT_BUFFER_PADDING_SIZE);
 padded_packet->size -= AV_INPUT_BUFFER_PADDING_SIZE;

 memset(padded_packet->data, 0, padded_packet->size);
 memcpy(padded_packet->data, packet->data, packet->size);
 printf("frame %i encoded %i bytes\n", i, padded_packet->size);
 if (!avcodec_send_packet(dec, padded_packet))
 {
 printf("sent bytes to decoder\n");
 }
 }

 while (!avcodec_receive_frame(dec, decoded_frame))
 {
 printf("decoded frame height %i, width %i\n", decoded_frame->height, decoded_frame->width);
 }
 usleep(16000);
 }
 return 0;
}