更改VLC源码 实现使用libVLC录像功能

转载 2015年07月09日 15:12:14

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 ,然后添加函数实现如下:

  1. int libvlc_video_toggle_record( libvlc_media_player_t *p_mi,  
  2.                                 const char *psz_filepath, const char *psz_filename )  
  3. {  
  4.     input_thread_t *p_input = libvlc_get_input_thread( p_mi );  
  5.     if(p_input == NULL)  
  6.         return -1;    
  7.     var_SetString( p_input, "input-record-path", psz_filepath );      
  8.     var_SetString( p_input, "sout-record-dst-prefix", psz_filename );  
  9.     var_ToggleBool( p_input, "record");  
  10.     vlc_object_release(p_input);  
  11.     return 0;  
  12. }  

  3.修改好上述文件后,重新编译VLC,这样libvlc.dll中就有了录像函数了.

 

源代码下载:http://download.csdn.net/detail/sooth2008/4735952

版权声明:本文为博主原创文章,未经博主允许不得转载。


更改VLC源码 实现使用libVLC录像功能

VLC的强大功能我就不赘述了,相信看到这篇文章的朋友都已经有所了解了,如果还不太清楚,可以访问http://www.videolan.org/vlc/features.html.         首先...
  • lvwx369
  • lvwx369
  • 2014年11月25日 16:58
  • 3352

添加VLC录像API

最近使用VLC播放RTSP数据想在本地截图录像,但libvlc中并不包含录像api,网上找到一些资料,自己添加这个接口并测试成功。接口主要是按照官方网站来做的(https://patches.vide...
  • shulianghe
  • shulianghe
  • 2014年02月14日 15:16
  • 3193

IOS VLC编译步骤(包含移植和截图功能)

一、下载源码
  • Kan_Crystal
  • Kan_Crystal
  • 2014年10月24日 11:12
  • 2688

VLC核心LibVLC从源码下载、工程建立、实际使用一篇通

一、VLC和LibVLC关系   VLC属于Video LAN开源项目组织中的一款全开源的流媒体服务器和多媒体播放器。作为流媒体服务器,VLC跨平台,支持多操作系统和计算机体系结构;作为多媒体...
  • Guofengpu
  • Guofengpu
  • 2016年05月21日 16:14
  • 2604

基于 vlc android截图录制视频等功能

编译的环境是ubuntu 12.04,要安装好java,配置好环境变量,按照http://wiki.videolan.org/AndroidCompile配置好,就可以编译了。 ...
  • xuplus
  • xuplus
  • 2014年07月02日 16:09
  • 5253

基于VLC SDK的二次开发

最近一直想总结一下vlc的二次开发,因为项目前期采用的方案是使用vlc提供的windows下sdk,因此打算利用该sdk,实现一个播放器功能,所以尝试了一下vlc的二次开发,发现其实也很简单,vlc的...
  • vbLittleBoy
  • vbLittleBoy
  • 2014年04月09日 16:47
  • 8901

vlc-android截屏以及录像功能的实现

这里讲的是vlc-android截屏以及录像功能的实现,如果单纯想编译vlc-android的源码请移步至:http://blog.csdn.net/a358763471/article/detail...
  • u013169879
  • u013169879
  • 2015年01月27日 17:18
  • 1641

基于linux下libvlc的二次开发

hTs.h /* Project by qiuliangbin copyright 2015-2018*/ /* Just for learning; ...
  • nine_locks
  • nine_locks
  • 2015年08月05日 13:09
  • 1478

VLC源码分析总结-------------

转自:http://wenku.baidu.com/view/3a6b740216fc700abb68fc57.html VLC源码分析总结 帖子由 丛林狼 » 2014年 1月 27日 ...
  • sno_guo
  • sno_guo
  • 2014年03月29日 16:44
  • 2767

VLC源代码分析(一)

源代码版本号:vlc2.1.0 从界面入手:vlc/modules/gui/qt4/dialogs/open.cpp 入口参数如:“--no-ignore-config --media-libr...
  • hui523hui523hui523
  • hui523hui523hui523
  • 2013年01月30日 10:41
  • 6197
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:更改VLC源码 实现使用libVLC录像功能
举报原因:
原因补充:

(最多只允许输入30个字)