
Recherche avancée
Autres articles (53)
-
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 -
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 (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (7261)
-
calling ffmpeg from java on android [closed]
8 mai 2012, par LiorPossible Duplicate :
FFMPEG on AndroidCurrently I have a java application that calls ffmpeg process with parameters.
This works fine under Windows because I just run another process.
I want to call the same method in ffmpeg api under android os.What should I do in order to have minimal change in code and transform the same thing to android ?
How can I call, using java, a specific method in ffmpeg api under the android os.
thank you !
-
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>
-
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;
}