J'utilise ffmpeg dans l'iPhone, en lisant un flux wma à partir d'un serveur mms, mais je veux enregistrer le flux dans un fichier m4a en utilisant l'encodeur ALAC dans ffmpeg, le problème est que en essayant d'enregistrer le flux brut, le flux traité en utilisant avcodec_decode_audio2, le fichier n'est même pas reconnu avec le format wma, et évidemment, pas joué, donc avant de convertir le flux en m4a (en utilisant avcodec_encode_audio) je veux être sûr que le streaming est en cours de traitement et enregistré correctement. Quelqu'un avait-il déjà fait ce genre de choses? merciUtilisation de conversion FFMPEG Audio dans l'iPhone
P.S. J'écris le tampon d'octets en utilisant CFWriteStreamWrite, et tout semble bien se passer.
Mon code:
while (av_read_frame(mms_IOCtx, &_packet) >= 0) {
if (_packet.stream_index == audioStreamIdx) {
uint8_t *_packetData = _packet.data;
int _packetSize = _packet.size;
// Align output buffer
uint8_t audio_buf[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3)/2 + 16];
int16_t *aligned_buffer;
size_t buffer_size;
int audio_size, len;
buffer_size = sizeof(audio_buf);
aligned_buffer = align16(audio_buf, &buffer_size);
while (currentState != STATE_CLOSED && (_packetSize > 0)) {
audio_size = buffer_size;
len = avcodec_decode_audio2(mms_CodecCtx, aligned_buffer, &audio_size, _packetData, _packetSize);
// call to the method that write the bytes ....
}
}
}
Bonjour. Êtes-vous capable de jouer des stations de streaming WMA? S'il vous plaît, faites-moi savoir. – AppAspect
Je peux vous aider dans ce domaine. – AppAspect
Pourquoi avez-vous utilisé CFWriteStreamWrite après le décodage? – manutd