首先下载vlc的sdk;
https://download.csdn.net/download/qq_25254777/10355559
我的vs是2015.
然后 将sdk解压,复制里面的include和lib文件,放到工程目录下。
然后配置属性,将include添加到
C/C++->Generate->add include director->D:\vs2015program\vlc_test\include
link->general->add library directory -> D:\vs2015program\vlc_test\lib
然后将plugin和libvlc.dll libcorevlc.dll复制到debug或者release目录下。测试代码。
#define ssize_t SSIZE_T
#include <Windows.h>
#include <vlc\libvlc.h>
#include <vlc\libvlc_media.h>
#include <vlc\libvlc_media_library.h>
#include <vlc\vlc.h>
#pragma comment(lib,"libvlc.lib")
#pragma comment(lib,"libvlccore.lib")
#include <dshow.h>
int main(int argc, char* argv[])
{
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
libvlc_time_t length;
int width;
int height;
int wait_time = 5000;
//libvlc_time_t length;
/* Load the VLC engine */
inst = libvlc_new(0, NULL);
//Create a new item
//Method 1:
//m = libvlc_media_new_location (inst, "file:///F:\\movie\\cuc_ieschool.flv");
//Screen Capture
//m = libvlc_media_new_location (inst, "screen://");
//Method 2:
m = libvlc_media_new_location(inst, "dshow://");
libvlc_media_add_option(m, ":dshow-vdev=LRCP USB2.0");
libvlc_media_add_option(m, ":dshow-size=800*600");
libvlc_media_add_option(m, ":dshow-chroma=MJPG");//添加这个参数,会提示像素格式不对
libvlc_media_add_option(m, ":live-caching = 0");
/*
libvlc_media_add_option(m, ":dshow-aspect-ratio=4\:3");
libvlc_media_add_option(m, ":dshow-fps=0");
libvlc_media_add_option(m, ":no-dshow-config");
libvlc_media_add_option(m, ":no-dshow-tuner");
libvlc_media_add_option(m, ":dshow-tuner-channel=0");
libvlc_media_add_option(m, ":dshow-tuner-frequency=0");
libvlc_media_add_option(m, ":dshow-tuner-country=0");
libvlc_media_add_option(m, ":dshow-tuner-standard=0");
libvlc_media_add_option(m, ":dshow-tuner-input=0");
libvlc_media_add_option(m, ":dshow-video-input=-1");
libvlc_media_add_option(m, ":dshow-video-output=-1");
libvlc_media_add_option(m, ":dshow-audio-input=-1");
libvlc_media_add_option(m, ":dshow-audio-output=-1");
libvlc_media_add_option(m, ":dshow-amtuner-mode=1");
libvlc_media_add_option(m, ":dshow-audio-channels=0");
libvlc_media_add_option(m, ":dshow-audio-samplerate=0");
libvlc_media_add_option(m, ":dshow-audio-bitspersample=0");
*/
/* Create a media player playing environement */
mp = libvlc_media_player_new_from_media(m);
/* No need to keep the media now */
libvlc_media_release(m);
// play the media_player
libvlc_media_player_play(mp);
//wait until the tracks are created
Sleep(wait_time);
length = libvlc_media_player_get_length(mp);
width = libvlc_video_get_width(mp);
height = libvlc_video_get_height(mp);
printf("Stream Duration: %ds\n", length / 1000);
printf("Resolution: %d x %d\n", width, height);
//Let it play
Sleep(length - wait_time);
// Stop playing
libvlc_media_player_stop(mp);
// Free the media_player
libvlc_media_player_release(mp);
libvlc_release(inst);
return 0;
}