
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (39)
-
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
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 -
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 (9872)
-
Making a movie out of pictures in correct order
6 novembre 2022, par astrogabShort version


How can one combine files
img1000.png
,img5000.png
,img10000.png
,img11000.png
in the right order into a movie ?

Longer version


I am using ffmpeg to make a movie out of snapshots of a simulation. There should be for instance 5 images per second. The names are :


image0200.png
image0300.png
image0400.png
image0500.png
image1000.png
image1500.png
image2000.png
...
image8500.png
image9000.png
image9500.png
image10000.png
image15000.png



i.e., they are sequential but there are irregular gaps in the numbers. The numbers are formatted according to
'%04d'
but go above 9999. I have tried

ffmpeg -y -loglevel debug -nostats \
-r:v 5 -thread_queue_size 1024 -f image2 \
-pattern_type glob -i "*[0-9][0-9][0-9][0-9].png" \
-r:v 30 -preset veryslow -pix_fmt yuv420p -crf 28 \
-an AMDG.mp4



and many, many other variations but either only two frames end up being visible in the movie (even though the images are found when using -debug) or only the files up to
image9500.png
are used (andglob
does not seem to allow[0-9]{4,}
as for regex), or, with

ffmpeg -y -loglevel debug -nostats \
 -r:v 5 \
 -thread_queue_size 1024 -f image2 -pattern_type glob \
 -i "image[0-9][0-9][0-9][0-9].png" \
 -r:v 5 \
 -thread_queue_size 1024 -f image2 -pattern_type glob \
 -i "image[1-9][0-9][0-9][0-9][0-9].png" \
 -r:v 30 -preset veryslow -pix_fmt yuv420p -crf 28 \
 -map 0 -map 1 \
 -an AMDG.mp4



there are apparently two streams in the output movie and only one of them is being played. (I realised in the process
-map 0 -map 1
was needed in order for both input streams to be used.)

In one of the variations of options I found (now I have lost what it was exactly !) all images were included but the order was not the desired one :
image1000.png
was shown beforeimage10000.png
. Apparently a newer version of ffmpeg (I haveffmpeg version 3.4.8-0ubuntu0.2
) has the ability to sort likesort -V
, so thatimage10000
come afterimage1000
, but reinstalling ffmpeg is in general not a practical option. Also renaming the files is not practical and creating e.g. soft links with sequential names in the format '%05d' starting at 0 and in steps of 1 (so that-i '%05d'
could be used) is of course not elegant.

With the
-concat
filter as in https://unix.stackexchange.com/questions/77016/ffmpeg-pattern-type-glob-not-loading-files-in-correct-order, i.e.,

ffmpeg -y -loglevel debug -nostats -r:v 5 \
 -thread_queue_size 1024 -f image2 -f concat \
 -safe 0 -i <(find . -maxdepth 1 -regex 'image*.png' \
 -exec echo "file $(pwd)/"{} \; | sort -V) \
 -r:v 30 -codec:v libx264 -preset veryslow -pix_fmt yuv420p -crf 28 \
 -an \
 AMDG.mp4



the processing took a long time and made the whole system sluggish, while producing a movie of 60 kB showing only two different images.


I have the impression that there are several issues at once... Thanks if you can help !


-
iPhone ffmpeg dev using libav to decode from AMR to ACC codec
10 octobre 2011, par VictorTIt seems to be that, the AMR support of AudioQueue has been disappeared since iOS 4.3 was released. I can't use audio frame received from RSTP server with old way :
audioFormat.mFormatID = kAudioFormatAMR;
int err = AudioQueueNewOutput(&audioFormat, MyAudioQueueOutputCallback, self, NULL, kCFRunLoopCommonModes, 0, &audioQueue);As a result I received an error in last string.
Maybe someone know how to decode AMR AVPacket into raw buffer and encode it with AAC or MP3 using LIBAV ?
I've tried to use
avcodec_decode_audio3
It works and I can get raw buffer but when I'm trying to encode it with
avcodec_encode_audio
I get 0 as result
This is my method to encode buffer :
- (AVPacket) encodeRawFrame:(const short *) in_buffer withSize:(unsigned int) in_buf_byte_size
{
AVPacket res;
AVCodec *codec;
AVCodecContext *c= NULL;
int count, out_size, outbuf_size, frame_byte_size;
uint8_t *outbuf;
avcodec_init();
avcodec_register_all();
printf("Audio encoding\n");
codec = avcodec_find_encoder(CODEC_ID_AAC);
if (!codec) {
fprintf(stderr, "codec not found\n");
return res;
}
c= avcodec_alloc_context();
c->bit_rate = 64000;
c->sample_rate = 24000;
c->channels = 2;
if (avcodec_open(c, codec) < 0)
{
fprintf(stderr, "could not open codec\n");
}
else
{
frame_byte_size=c->frame_size*2*2;
count = in_buf_byte_size/frame_byte_size;
fprintf(stderr, "Number of frames: %d\n", count);
outbuf_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
outbuf = (uint8_t*) malloc(outbuf_size);
out_size = avcodec_encode_audio(c, outbuf, outbuf_size, &in_buffer[frame_byte_size*i]);
if(out_size >= 0)
{
res.size = outbuf_size;
res.data = malloc(outbuf_size);
}
free(outbuf);
}
avcodec_close(c);
av_free(c);
return res;
}After encoding "out_size" is always 0 and result buffer is empty.
Thanks.
-
Iphone Streaming and playing Audio Problem
20 août 2011, par KayKayI am trying to make an app that plays audio stream using ffmpeg, libmms.
I can open mms server, get stream, and decode audio frame to raw frame using suitable codec.
However I don't know how to do next.
I think I must useAudioToolbox/AudioToolbox.h
and make audioqueue.
but however when I give audioqueuebuffer decode buffer's memory and play, Only plays the white noise.
Here is my code.What am i missing ?
Any comment and hint is very appreciated.
Thanks very much.while(av_read_frame(pFormatCtx, &pkt)>=0)
{
int pkt_decoded_len = 0;
int frame_decoded_len;
int decode_buff_remain=AVCODEC_MAX_AUDIO_FRAME_SIZE * 5;
if(pkt.stream_index==audiostream)
{
frame_decoded_len=decode_buff_remain;
int16_t *decode_buff_ptr = decode_buffer;
int decoded_tot_len=0;
pkt_decoded_len = avcodec_decode_audio2(pCodecCtx, decode_buff_ptr, &frame_decoded_len,
pkt.data, pkt.size);
if (pkt_decoded_len <0) break;
AudioQueueAllocateBuffer(audioQueue, kBufferSize, &buffers[i]);
AQOutputCallback(self, audioQueue, buffers[i], pkt_decoded_len);
if(i == 1){
AudioQueueSetParameter(audioQueue, kAudioQueueParam_Volume, 1.0);
AudioQueueStart(audioQueue, NULL);
}
i++;
}
}
void AQOutputCallback(void *inData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer, int copySize)
{
mmsDemoViewController *staticApp = (mmsDemoViewController *)inData;
[staticApp handleBufferCompleteForQueue:inAQ buffer:inBuffer size:copySize];
}
- (void)handleBufferCompleteForQueue:(AudioQueueRef)inAQ
buffer:(AudioQueueBufferRef)inBuffer
size:(int)copySize
{
inBuffer->mAudioDataByteSize = inBuffer->mAudioDataBytesCapacity;
memcpy((char*)inBuffer->mAudioData, (const char*)decode_buffer, copySize);
AudioQueueEnqueueBuffer(inAQ, inBuffer, 0, NULL);
}