最近研究FFmpeg,看到用FFmpeg写的VLC播放器很牛X,我打算学习一下,网上找了很多的资料发现都是在VS IDE基础上开发的,本人对VS IDE不感冒,因为一直从事java开发,对eclipse还是很有偏爱的,打算用eclipse来搭建C/C++开发环境。本人其实对C/C++其实也只懂一些皮毛。在搭建过程中遇到过很多的问题。为了让初学者在学习的过程中少走弯路,特此写一下本篇文章。
环境:
OS: Windows 7 32位旗舰版
IDE: Eclipse indigo
LIB: VLC2.1.0 SDK
1、下载eclipse
下载地址:http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers-includes-incubating-components/indigosr2 下载对应操作系统版本即可,里面包含了CDT(C/C++ 开发工具)。解压即可。
2、安装MinGW
下载地址: http://sourceforge.net/projects/mingw/files/ (需要fanqiang) 下载后点击安装即可。因为sourceforge被qiang了,在安装的过程中出现N多的错误,这是需要用到代理,去网上随便找一个HTTP代理IP配置到IE的LAN Setting里即可。
安装:一路next即可,选择安装组件需选择g++ compiler.
配置环境变量:把MinGW目录下的bin目录配置到环境Path环境环境变量中。
测试MinGW是否配置成功:Win+R弹出运行窗口,然后敲入“cmd”打开命令行窗口,敲入“gcc”测试即可。
3、创建C/C++工程
打开eclipse,new C project ,选择Hello World ANSI C Project, 右边选择MinGW GCC,如果Path中没配置MinGW则不会出现此选项。
Project type分为两种,“Executeble”和“Makefile project”,其中“Executeble”为Managed C Project,即自动编译的C工程;而“Makefile project”是通过写makefile来手动编译的C工程,新手建议使用自动编译的C工程。
①新建项目
② 点击完成。打开后默认是这个样子的:
③自动生成的代码如下:
代码如下:
/*
============================================================================
Name : Demo.c
Author :
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
int main( void) {
puts( "!!!Hello World!!!"); /* prints !!!Hello World!!! */
return EXIT_SUCCESS;
}
|
④如果直接点运行会报错:
⑤必须先构建build,再运行。点小锤子或在项目右键 build Project。如下图
⑥编译结果:
⑦然后在运行:
4、下载VLC
安装vlc:正常的window程序安装。无需多说。
5、加入VLC库文件和头文件
① 加入头文件
项目右键 点 properties,展开C/C++ Build ,点击Settings:
选择GCC C Compiler下的Includes:
加入VLC的include path,这里需要加MinGW和vlc的include文件,点右边的添加按钮,把路径填入点ok即可
加入VLC的lib ,在Library search path中填入VLC sdk lib路径,在Libraries中加入lib文件名(不要.lib后缀):
SDKlib目录截图:
配置截图:
6、运行VLC官方教程代码
打开LibVLC tutorial 找到Sample LibVLC Code部分,拷贝代码到Demo.c中。
如果你马上运行代码会出现如下错误:
解决此问题需要在头部加入如下代码:
#ifdef __unix__
# include <unistd.h>
#elif defined _WIN32
# include <windows.h>
#define sleep(x) Sleep(1000 * x)
#endif
|
完整代码如下
#include <stdio.h>
#include <stdlib.h>
#include <vlc/vlc.h>
#ifdef __unix__
# include <unistd.h>
#elif defined _WIN32
# include <windows.h>
#define sleep(x) Sleep(1000 * x)
#endif
int main (int argc, char* argv[])
{
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
/* Load the VLC engine */
inst = libvlc_new (0, NULL);
/* Create a new item */
//m = libvlc_media_new_location (inst, "E:/test_video/jidu.mp4"); //network video file
m = libvlc_media_new_path (inst, "E:\\test_video\\jidu.mp4"); //local video file
/* 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);
#if 0
/* This is a non working code that show how to hooks into a window,
* if we have a window around */
libvlc_media_player_set_xwindow (mp, xid);
/* or on windows */
libvlc_media_player_set_hwnd (mp, hwnd);
/* or on mac os */
libvlc_media_player_set_nsobject (mp, view);
#endif
/* play the media_player */
libvlc_media_player_play (mp);
sleep (20); /* Let it play a bit */ //Sleep takes a time in milliseconds;sleep takes a time in seconds.
/* Stop playing */
libvlc_media_player_stop (mp);
/* Free the media_player */
libvlc_media_player_release (mp);
libvlc_release (inst);
return 0;
}
|
说明一下:libvlc_media_new_location是播放网络视频文件,libvlc_media_new_path 是播放本地视频文件。
sleep (20)是播放器20秒后自动关闭,Sleep 单位是毫秒
最后:
编译build project -->运行,出现如下截屏:
至此Eclipse搭建VLC SDK开发环境讲解完毕。
参考资料:
相关推荐
这个RAR压缩包“VLC SDK.rar”包含了VLC SDK的相关资源,特别是针对VC++(Visual C++)的开发环境。下面将详细探讨VLC SDK以及其在开发中的应用。 VLC Media Player是一款流行的开源跨平台多媒体播放器,它能够处理...
QT、VLC和VLCSDK是三个在多媒体播放和开发领域至关重要...如果你对多媒体播放或开发感兴趣,这个项目会是一个很好的学习起点,可以帮助你掌握如何在QT环境中实现VLC的播放功能,同时了解如何利用VLCSDK扩展VLC的能力。
综上所述,"MFC调用VLC SDK播放网络流"是一个结合了MFC应用程序开发和多媒体播放技术的实践案例,涉及到Windows编程、VLC SDK的使用以及网络流处理等多个知识点。通过这种方式,开发者能够为用户提供一个高效、稳定...
在实际开发过程中,开发者需要阅读VlcSDK的文档,了解如何正确配置环境,导入必要的库,以及如何使用提供的API来实现期望的功能。同时,通过分析示例代码,可以更快速地掌握VlcSDK的用法,从而高效地将VLC的播放能力...
在这个项目中,我们使用VLC SDK与MFC相结合,创建了一个可以在VC6环境下编译通过的应用程序。 VLC SDK是VLC媒体播放器的核心组件,提供了丰富的API接口,允许开发者将VLC的多媒体播放功能集成到自己的应用程序中。...
开发者可以使用Eclipse的Android开发工具(ADT)插件来创建、编辑、测试和调试Android应用程序。在这个项目中,Eclipse被用来组织和管理VLC for Android的源代码、资源文件和构建过程。 3. **集成开发环境(IDE)的...
10. **文档和示例**:VLC SDK 2.2.6 应该包含详细的开发文档和示例代码,帮助开发者快速理解和学习如何使用SDK。 在开发过程中,开发者可以通过这个SDK轻松地将VLC的强大功能整合到他们的应用程序中,提供高质量的...
**VLC SDK与MFC开发多媒体播放器** 在软件开发领域,VLC(VideoLAN Client)是一个广泛应用的开源媒体播放器,它支持多种媒体格式和流协议,具有跨平台的特性。VLC SDK(Software Development Kit)是VLC提供的一套...
在使用VLC SDK进行开发时,首先需要了解VLC的API文档,其中详细介绍了各种函数的用途、参数和返回值。开发者还需要熟悉基本的编程技巧,如错误处理、线程同步等,以确保程序的稳定性和可靠性。同时,由于VLC是跨平台...
使用VLC SDK进行开发,可以实现以下一些功能: 1. **自定义播放器界面**:通过SDK,开发者可以创建个性化的用户界面,提供不同于默认VLC播放器的外观和交互方式。 2. **嵌入式播放**:将VLC播放功能嵌入到其他应用...
通过以上步骤,你已经成功地搭建了VLC开发环境,并学会了如何在项目中使用libvlc.dll和libvlccore.dll。在实际开发中,你可以进一步探索VLC的高级功能,如视频过滤、网络流播放、自定义用户界面等。VLC的API文档和...
包含VLC SDK完整的包,版本3.0.3,是x86版本的,提供给大家以防没有sdk
VLC SDK 是一个用于开发应用程序的工具包,它允许开发者集成 VLC 媒体播放器的功能,以便在自己的软件中实现音频和视频的播放。VLC 是一款开源且跨平台的多媒体播放器,以其强大的解码能力和兼容性而闻名。在 ZIP ...
VLC SDK包,3.0.11版本,win64位版本,视频开发必备,包含lib库,实测可用,资源非常难找
VLC-SDK-VC++测试程序是针对VLC媒体播放器的软件开发工具包(SDK)的一个实践项目,主要用于在Microsoft Visual C++环境下构建能够播放视频的应用程序。VLC是一款开源且跨平台的多媒体播放器,它支持各种各样的音频...
- 在使用VLC SDK前,确保你的开发环境已经正确配置,包括安装必要的编译工具和库。 - 熟悉VLC的API文档,这是理解和使用SDK的关键。 - 按照VLC的许可协议使用SDK,因为VLC是GPL许可证下的项目,意味着如果你的项目...
官方vlc安装程序,各版本下载链接 http://download.videolan.org/pub/videolan/vlc/ 官方提供的安装包中 x64 2.2.1版本及以下 x64 2.2.1版本及以下 安装目录下有SDK目录 以上版本没有SDK目录
这是VLC_3.0.12的完整SDK包_可以进行VLC二次开发。 参考文章:https://blog.csdn.net/xiaolong1126626497/article/details/115174182
基于vlc sdk(版本2.1.2)封装的多窗口播放器,界面是基于qt做的(qt版本4.8.4)。可以进行电视直播,接摄像头,播放本地文件。同时进行转码保存。支持H264格式和mpeg2,mjpeg格式的转码保存。支持TS,MP4,AVI的...
在使用VLC SDK进行开发时,开发者需要注意版权和许可证问题,因为VLC遵循GPL许可证,这意味着任何基于VLC的软件都必须开放源代码。同时,也要考虑性能优化、错误处理以及用户界面的集成,以提供良好的用户体验。 总...