Hi, I try to use USB camera to capture live stream with FFMpeg. But I cannot open dshow USB camera. What is wrong with my code?
Thanks! #include <iostream> #include <libavformat/avformat.h> using namespace std; int main (int argc, char **argv) { int frame_width = 640; int frame_height = 480; int frame_rate = 30; int video_bit_rate = 100*1000; av_register_all(); avformat_network_init(); AVCodec *encoder_mjpeg; encoder_mjpeg=avcodec_find_encoder(CODEC_ID_MJPEG); AVFormatContext *pFormatCtx = avformat_alloc_context(); AVStream *st = avformat_new_stream(pFormatCtx, encoder_mjpeg); st->codec = avcodec_alloc_context(); st->codec->bit_rate = video_bit_rate; st->codec->width = frame_width; st->codec->height = frame_height; st->codec->pix_fmt = PIX_FMT_YUVJ420P; st->codec->time_base.den = frame_rate; st->codec->time_base.num = 1; if (!encoder_mjpeg || avcodec_open(st->codec, encoder_mjpeg) < 0){ av_log(NULL, AV_LOG_ERROR, "Unable to open mjpeg encoder!\n"); } AVInputFormat * a= av_find_input_format("dshow"); int r = avformat_open_input(&pFormatCtx, "video=Mercury USB2.0 Camera", a, NULL); if(r < 0){ av_log(NULL, AV_LOG_ERROR, "Cannot open input file\n"); cout<<"The returned value is:"<<r<<endl; } return 0; } _______________________________________________ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user