AcfunQml
AcfunQml copied to clipboard
硬解码/视频播放效率问题
QmlVlc是注册vlc的YUV回调用OpenGL渲染的,cpu占用比vlc官方客户端高一些。
- 1.是不是可以改为窗口句柄传给vlc直接播放,这样需要Qml嵌入QWidgit。
- 2.https://github.com/vlc-qt/vlc-qt qml部分也是OpenGL ,怎么实现的,跟QmlVlc相比是否有提升
void libvlc_video_set_callbacks( libvlc_media_player_t *mp,
void *(*lock_cb) (void *, void **),
void (*unlock_cb) (void *, void *, void *const *),
void (*display_cb) (void *, void *),
void *opaque )
{
var_SetAddress( mp, "vmem-lock", lock_cb );
var_SetAddress( mp, "vmem-unlock", unlock_cb );
var_SetAddress( mp, "vmem-display", display_cb );
var_SetAddress( mp, "vmem-data", opaque );
var_SetString( mp, "avcodec-hw", "none" ); //看vlc的源码好像设置过显示回调后会自动禁用硬件解码
var_SetString( mp, "vout", "vmem" );
var_SetString( mp, "window", "none" );
}