Hello, 

I am trying to stream (publish) flv video/audio from a client capturing 
video/audio on their machine using QTKit on Mac, using libavformat and 
libavcodec. I have the video streaming working, and actually the audio frames 
are streaming too, albeit the sound is distorted pretty much to white-noise on 
the other end. This is due to a mismatch between the format being output from 
QTKit when captured, and the format needed by libavcodec for flv. 

QTKit's QTSampleBuffer info:  Linear PCM, 32 bit little-endian floating point, 
2 channels, 44100 Hz
Sample buffers being received from QTKit contain 512 samples, and have a buffer 
of 4096 in length. 

The libavcodec flv audio codec:

    audioCodecCtx->bit_rate = 64000;
    audioCodecCtx->sample_rate = 44100;
    audioCodecCtx->channels = 2;
    audioCodecCtx->sample_fmt = AV_SAMPLE_FMT_S16;
    audioCodecCtx->codec_type = AVMEDIA_TYPE_AUDIO;

Note that the flv codec doesn't seem to like changing the sammple format to 
AV_SAMPLE_FMT_S32 -- apparently isn't supported. So I think it is pretty clear 
that data coming in needs to be converted to the format expected by the codec. 
Can someone assist me in how to go about converting the QT data received into a 
format that can be used in flv encoding? 

Your guidance is appreciated. 

Thanks, 

Brad
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to