递归火山软件开发平台

标题: 关于vlc录像功能的添加,封装。 [打印本页]

作者: zqiz    时间: 2024-6-18 08:35
标题: 关于vlc录像功能的添加,封装。
本帖最后由 zqiz 于 2024-6-18 08:39 编辑

帮忙,封装一下,谢谢。利快云有封装好的,只不过没有“录像”命令。火山PC直播流播放器【基于VLC】【资源】 (lkuaiy.com)

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

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中就有了录像函数了.


作者: zqiz    时间: 2024-6-18 08:42
本帖最后由 zqiz 于 2024-6-18 08:50 编辑

谢谢大家帮忙封装。
作者: zqiz    时间: 2024-6-18 08:57
这是快照libvlc_video_take_snapshot函数的封装。


作者: zqiz    时间: 2024-6-19 23:33
为啥没人解答
作者: shuimiao    时间: 2024-6-20 09:13
zqiz 发表于 2024-6-19 23:33
为啥没人解答

你直接给人赞助费,请人封装。比如林峰。这样广撒网,没人愿意用爱发电
作者: zqiz    时间: 2024-6-20 17:26
都是钱闹的




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4