更改VLC源码 实现使用libVLC录像功能
2014-11-25 16:58
239 查看
转载地址:http://blog.csdn.net/sooth2008/article/details/6787459
VLC的强大功能我就不赘述了,相信看到这篇文章的朋友都已经有所了解了,如果还不太清楚,可以访问http://www.videolan.org/vlc/features.html. 首先大家需要下载一份VLC的源码,地址http://www.videolan.org/vlc/download-sources.html 编译方法上面也有阐述,不过根据我的经验,希望大家不要去尝试在windows上去编译VLC,而是在buntu/fedora或是其他的linux操作系统上使用cross_compile去编译各个平台上的VLC.这个方法也是VLC官网上推荐的方法.
进入正题,如何使libVLC支持录像功能(VLC本身带有录像功能,但是我也不知道为什么vlc官方确没有在libVLC中加入这一功能,出于保守?)
1.添加申明函数:找到include\vlc\libvlc_media_player.h文件,搜索libvlc_video_take_snapshot(实现截图功能的)这个函数,之所以我提到这个函数,是因为实现录像功能的函数与这个函数非常相像,如果想添加另外的功能,也可以参照VLC已有的功能函数去实现.找到libvlc_video_take_snapshot后,在其后面添加名为VLC_PUBLIC_API int libvlc_video_toggle_record( libvlc_media_player_t
*p_mi,const char *psz_filepath, const char *psz_fileame );的录像函数,我的录像函数的思想是这样的:调用一次时开始录像,再调用一次时停止录像.所以名为toggle.这样申明函数就添加好了.
2.添加实现函数:找到src\control\video.c ,然后添加函数实现如下:
[cpp] view
plaincopy
int libvlc_video_toggle_record( libvlc_media_player_t *p_mi,
const char *psz_filepath, const char *psz_filename )
{
input_thread_t *p_input = libvlc_get_input_thread( p_mi );
if(p_input == NULL)
return -1;
var_SetString( p_input, "input-record-path", psz_filepath );
var_SetString( p_input, "sout-record-dst-prefix", psz_filename );
var_ToggleBool( p_input, "record");
vlc_object_release(p_input);
return 0;
}
3.修改好上述文件后,重新编译VLC,这样libvlc.dll中就有了录像函数了.
源代码下载:http://download.csdn.net/detail/sooth2008/4735952
VLC的强大功能我就不赘述了,相信看到这篇文章的朋友都已经有所了解了,如果还不太清楚,可以访问http://www.videolan.org/vlc/features.html. 首先大家需要下载一份VLC的源码,地址http://www.videolan.org/vlc/download-sources.html 编译方法上面也有阐述,不过根据我的经验,希望大家不要去尝试在windows上去编译VLC,而是在buntu/fedora或是其他的linux操作系统上使用cross_compile去编译各个平台上的VLC.这个方法也是VLC官网上推荐的方法.
进入正题,如何使libVLC支持录像功能(VLC本身带有录像功能,但是我也不知道为什么vlc官方确没有在libVLC中加入这一功能,出于保守?)
1.添加申明函数:找到include\vlc\libvlc_media_player.h文件,搜索libvlc_video_take_snapshot(实现截图功能的)这个函数,之所以我提到这个函数,是因为实现录像功能的函数与这个函数非常相像,如果想添加另外的功能,也可以参照VLC已有的功能函数去实现.找到libvlc_video_take_snapshot后,在其后面添加名为VLC_PUBLIC_API int libvlc_video_toggle_record( libvlc_media_player_t
*p_mi,const char *psz_filepath, const char *psz_fileame );的录像函数,我的录像函数的思想是这样的:调用一次时开始录像,再调用一次时停止录像.所以名为toggle.这样申明函数就添加好了.
2.添加实现函数:找到src\control\video.c ,然后添加函数实现如下:
[cpp] view
plaincopy
int libvlc_video_toggle_record( libvlc_media_player_t *p_mi,
const char *psz_filepath, const char *psz_filename )
{
input_thread_t *p_input = libvlc_get_input_thread( p_mi );
if(p_input == NULL)
return -1;
var_SetString( p_input, "input-record-path", psz_filepath );
var_SetString( p_input, "sout-record-dst-prefix", psz_filename );
var_ToggleBool( p_input, "record");
vlc_object_release(p_input);
return 0;
}
3.修改好上述文件后,重新编译VLC,这样libvlc.dll中就有了录像函数了.
源代码下载:http://download.csdn.net/detail/sooth2008/4735952
相关文章推荐
- [置顶] 更改VLC源码 实现使用libVLC录像功能
- 更改VLC源码 实现使用libVLC录像功能
- 更改VLC源码 实现使用libVLC录像功能
- 实现使用libVLC录像功能
- vlc-android截屏以及录像功能的实现
- 使用MediaRecorder实现录像的功能
- 使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
- vlc-android截屏以及录像功能的实现
- C#实现更改IP功能源码
- AutoCompleteTextView的使用和源码分析以及实现响应式输入提示功能
- AForge.net 使用之录像拍照功能实现
- 使用js批量选中功能实现更改数据库中的status状态值(批量展示)
- C#实现更改IP功能源码
- 【源码】实现Android闹钟功能使用HTML+JS,并附带Alarm代码分享
- 密码盒 基本功能都实现了 下来分享源码 适合刚接触sqlite数据库的亲们使用
- 使用js实现上移、下移、置顶、置底功能及源码案例
- C#实现更改IP功能源码
- C#实现更改IP功能源码
- 使用Java实现系统托盘功能的介绍(附源码以及截图)
- 【源码】实现Android闹钟功能使用HTML+JS,并附带Alarm代码分享