AcfunQml icon indicating copy to clipboard operation
AcfunQml copied to clipboard

硬解码/视频播放效率问题

Open goplayegg opened this issue 4 years ago • 0 comments

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" );
}

goplayegg avatar Aug 30 '20 07:08 goplayegg