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