libvlc添加视频录制接口

这篇博客介绍了如何为VLC开源播放器添加视频录制功能。通过在libvlc_media_player.h头文件中添加接口,lib/video.c中实现具体功能,并调整input-record-path和record-video-name参数来控制录制。同时,还需要在src/input/es_out.c和modules/stream_filter/record.c中修改输出文件路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vlc开源播放器其实是自带录制功能的,只是其导出库中未包含该接口,下面我们为该库添加录制功能的导出接口。

1、在libvlc_media_player.h头文件中加入以下函数

LIBVLC_API
int libvlc_video_toggle_record(libvlc_media_player_t *p_mi,const char *psz_filepath,const char *psz_filename);

2、在lib/video.c下面加入实现函数

int
libvlc_video_toggle_record( libvlc_media_player_t *p_mi,
                                const char *psz_filepath, 
                                const char *psz_filename )
{
   
    assert( psz_filepath );
    assert( psz_filename );
 
    input_thread_t *p_input = libvlc_get_input_thread(p_mi);
    if(p_input == NULL)
        return -1;  
    var_Create( p_input, "input-record-path", VLC_VAR_STRING );
    var_SetString( p_input, "input-record-path", psz_filepath );    
    var_Create( p_input, "record-video-name", VLC_VAR_STRING );
    var_SetString( p_input, "record-video-name", psz_filename );
    var_ToggleBool( p_input, "record");
    vlc_object_release(p_input);
    return 0;
}

添加input-record-path 参数和record-video-name参数,然后调用var_ToggleBool( p_input, "record");切换开始和停止。

3、在src/input/es_out.c中修改输出位置

static 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值