VLC读取H264网络视频流的问题!!请教各位前辈
参考:http://blog.sina.com.cn/s/blog_62949ff40101edml.html
1.到http://www.videolan.org/ 下载最新的vlc windows版本,我下的是vlc2.1.0
2.安装解压
3.在网上找到stdint.h 放到C:\Program Files\Microsoft Visual Studio 9.0\VC\include下
4.建立vs2010的win32工程
5.到vlc的安装目录下将sdk拷贝到建立的win32工程目录下,设置头文件和库的目录
6.在代码里
#include <time.h>
#include "vlc/vlc.h"
#pragma comment(lib, "libvlc.lib")
#pragma comment(lib, "libvlccore.lib")
int PlayVideo(char* file)
{
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
// init vlc modules, should be done only once
inst = libvlc_new (0, NULL);
// Create a new item
m = libvlc_media_new_path (inst, file);
// Create a media player playing environement
mp = libvlc_media_player_new_from_media (m);
libvlc_media_parse(m);
libvlc_time_t duration = libvlc_media_get_duration(m);
// No need to keep the media now
libvlc_media_release (m);
#if 1
// This is a non working code that show how to hooks into a window,
// if we have a window around
// libvlc_drawable_t drawable = xdrawable;
// or on windows
void *drawable = &g_hwnd;
libvlc_media_player_set_hwnd (mp, drawable);
#endif
// play the media_player
libvlc_media_player_play (mp);
Sleep((DWORD)duration); // Let it play a bit
// Stop playing
libvlc_media_player_stop (mp);
// Free the media_player
libvlc_media_player_release (mp);
libvlc_release (inst);
return 0;
}
到vlc的安装目录下将plugins目录拷贝到可执行程序目录下, 然后调用PlayVideo(视频文件目录),
即可播放视频文件
注:因为vlc是随机调用不同输出方式(win32、opengl、direct)播放视频文件,为了指定特定的输出方式,
只需到plugins\video_output下删除多余的动态库,留下需要的库,比如我要用win32播放视频,就只留下libwingdi_plugin.dll即可,用VS2010建立项目,按照上面的方法成功建立项目,PlayVideo("E:\\TDDOWNLOAD\\1.rmvb");这样调用没有任何问题!
但是我把路径修改成网络视频流就不行了PlayVideo("rtmp://112.91.185.153/test/crvod1");
控制台提示打开路径错误,请问VLC打开网络视频流还要做其它设置么,我在VLC菜单中选择打开网络视频流用这个视频地址是可以观看网络视频流的,代码中还需做其它的设置么,还是打开网络视频流的时候不能用 libvlc_media_new_path