Recherche avancée
Médias (16)
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (12)
-
MediaSPIP Init et Diogène : types de publications de MediaSPIP
11 novembre 2010, parÀ l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)
Sur d’autres sites (1011)
-
Decoding audio with FFMPEG
8 juillet 2012, par MarianoI am using FFMPEG to decode an audio file, but I am not able to do it.
AVFormatContext *pFormatCtx;
AVCodec *pCodec_audio;
AVCodecContext *aCodecCtx_audio = NULL;
AVPacket packet;
string outfilename = "salida.avi";
string filename = "john.wav";
int audioStream;
int out_size, len, size;
FILE *outfile;
int16_t *outbuf;
uint8_t inbuf[INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE];
avcodec_init();
/* register all the codecs */
av_register_all();
if(av_open_input_file(&pFormatCtx, filename.c_str(), NULL, 0, NULL) != 0) {
cerr << "Archivo no encontrado" << endl;
return -1; // Couldn't open file
}
if(av_find_stream_info(pFormatCtx) < 0) {
cerr << " No encontro el stream de info" << endl;
return -1;// Couldn't find stream information
}
dump_format(pFormatCtx, 0, filename.c_str(), 0);
for(unsigned int i=0; i < pFormatCtx->nb_streams; i++)
if(pFormatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO)
audioStream = i;
aCodecCtx_audio = pFormatCtx->streams[audioStream]->codec;
pCodec_audio = avcodec_find_decoder(aCodecCtx_audio->codec_id);
if(pCodec_audio == NULL) {
cerr<< "Unsupported codec!" << endl;
return -1; // Codec not found
}
if(avcodec_open(aCodecCtx_audio, pCodec_audio) < 0) {
cerr << "No se pudo abrir el codec de audio" << endl;
return -1;
}
outbuf = (int16_t*) av_malloc(AVCODEC_MAX_AUDIO_FRAME_SIZE);
outfile = fopen(outfilename.c_str(), "wb");
if (!outfile) {
exit(1);
}
av_init_packet(&packet);
packet.data = inbuf;
while(av_read_frame(pFormatCtx, &packet) == 0) {
if(packet.stream_index == audioStream) {
size = packet.size;
if (size == 0) {
cerr << "Size = 0 " << endl;
break;
}
while(size > 0) {
out_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
len = avcodec_decode_audio3(aCodecCtx_audio, outbuf, &out_size , &packet);
//av_free_packet(&packet);
cout << len << endl;
if(len == -1) {
cerr << "Error while decoding" << endl;
return 1;
}
if(out_size > 0) {
fwrite(outbuf, 1, out_size, outfile);
}
size -= len;
packet.data += len;
}
}
}
av_free_packet(&packet);
fclose(outfile);
free(outbuf);
cout << "END CODE" << endl;
avcodec_close(aCodecCtx_audio);
av_free(aCodecCtx_audio);In the code I am trying to decode an .wav file to a .avi file. The output file ("salida.avi") is created , but does not play.
-
vc1dsp : Change remaining stride parameters to ptrdiff_t
29 mars 2022, par Martin Storsjövc1dsp : Change remaining stride parameters to ptrdiff_t
The existing x86 assembly for loop filters uses the stride as a
full register without clearing/sign extending the upper half
of the registers on x86_64.This avoids crashes if the caller would have passed nonzero bits
in the previously undefined upper 32 bits of the parameters.Signed-off-by : Martin Storsjö <martin@martin.st>
-
C++ ffmpeg mp4 to mp3 transcoding
2 juillet 2014, par UnknownI am working on an application that converts the audio of mp4 video to mp3 files. I managed to compile ffmpeg with libmp3lame.
This is what I have so far
// Step 1 - Register all formats and codecs
avcodec_register_all();
av_register_all();
AVFormatContext* fmtCtx = avformat_alloc_context();
// Step 2 - Open input file, and allocate format context
if(avformat_open_input(&fmtCtx, filePath.toLocal8Bit().data(), NULL, NULL) < 0)
qDebug() << "Error while opening " << filePath;
// Step 3 - Retrieve stream information
if(avformat_find_stream_info(fmtCtx, NULL) < 0)
qDebug() << "Error while finding stream info";
// Step 4 - Find the audiostream
int audioStreamIdx = -1;
for(uint i=0; inb_streams; i++) {
if(fmtCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
audioStreamIdx = i;
break;
}
}
if(audioStreamIdx != -1) {
AVCodecContext *audioDecCtx = fmtCtx->streams[audioStreamIdx]->codec;
// Step 5
AVCodec *aCodec = avcodec_find_decoder(audioDecCtx->codec_id);
avcodec_open2(audioDecCtx, aCodec, NULL);
// Step 6
AVOutputFormat* outputFormat = av_guess_format(NULL, outPath.toLocal8Bit().data(), NULL);
// Step 7
AVFormatContext *outformatCtx = avformat_alloc_context();
// Step 8
AVCodec *encoder = avcodec_find_encoder(AV_CODEC_ID_MP3);
//encoder->sample_fmts = AV_SAMPLE_FMT_S16;
AVCodecContext *audioEncCtx = avcodec_alloc_context3(encoder);
audioEncCtx->sample_fmt = AV_SAMPLE_FMT_S16P;
audioEncCtx->sample_rate = 44100;
audioEncCtx->channel_layout = av_get_default_channel_layout(audioDecCtx->channels);
avcodec_open2(audioEncCtx, encoder, NULL);
// Step 9
AVFrame *frame = av_frame_alloc();
AVPacket pkt;
av_init_packet(&pkt);
// Step 10
while(av_read_frame(fmtCtx, &pkt) == 0) {
int got_frame = 0;
if(pkt.stream_index == audioStreamIdx) {
int len = avcodec_decode_audio4(audioDecCtx, frame, &got_frame, &pkt);
if(got_frame) {
// Step 11
AVPacket outPkt;
av_init_packet(&outPkt);
int got_packet = 0;
qDebug() << "This is printed";
int error = avcodec_encode_audio2(audioEncCtx, &outPkt, frame, &got_packet);
qDebug() << "This is not printed...";
}
}
}
av_free_packet(&pkt);
}
avformat_close_input(&fmtCtx);It goes wrong at the line avcodec_encode_audio2(). It seems like the function does not return. As you can see, the line after the encoding line is not printed. What am I doing wrong ?
Thanks in advance !