编译支持播放H265的cef控件

接着在上次编译的基础上增加h265支持
编译支持视频播放的cef控件(h264)

测试页面,直接使用cef_enhancement,里边带着的那个html即可,h265视频去这个网站下载elecard,我修改的这个版本参考了里边的修改方式,不过我的这个版本改完之后,直接video.canPlayType()函数,返回的信息也是提示支持h265播放

CefClient支持播放

测试的edge浏览器不支持播放

需要修改的文件以及内容如下

media/media_options.gni

复制代码
  enable_platform_hevc =
      proprietary_codecs && (is_chromecast || enable_hevc_parser_and_hw_decoder)
  enable_platform_hevc = true
  enable_hevc_demuxing = true

media/base/supported_types.cc

复制代码
    case VideoCodec::kHEVC:
      // return IsHevcProfileSupported(type);
      return true;

third_party/ffmpeg/ffmpeg_generated.gni

复制代码
ffmpeg_c_sources += [
    "libavcodec/bswapdsp.c",
    "libavcodec/libavcodec_hevcdec.c",
    "libavcodec/dovi_rpu.c",
    "libavcodec/dynamic_hdr_vivid.c",
    "libavcodec/dynamic_hdr10_plus.c",
    "libavcodec/hevc_cabac.c",
    "libavcodec/hevc_data.c",
    "libavcodec/hevc_filter.c",
    "libavcodec/hevc_mvs.c",
    "libavcodec/hevc_parse.c",
    "libavcodec/hevc_parser.c",
    "libavcodec/hevc_ps.c",
    "libavcodec/hevc_refs.c",
    "libavcodec/hevc_sei.c",
    "libavcodec/hevcdsp.c",
    "libavcodec/hevcpred.c",
    "libavcodec/x86/bswapdsp_init.c",
    "libavcodec/x86/hevcdsp_init.c",
    "libavformat/libavformat_hevc.c",
    "libavformat/hevcdec.c",
  ]

  ffmpeg_asm_sources += [
    "libavcodec/x86/bswapdsp.asm",
    "libavcodec/x86/hevc_deblock.asm",
    "libavcodec/x86/hevc_idct.asm",
    "libavcodec/x86/hevc_mc.asm",
    "libavcodec/x86/hevc_add_res.asm",
    "libavcodec/x86/hevc_sao.asm",
    "libavcodec/x86/hevc_sao_10bit.asm",
  ]

third_party\ffmpeg\chromium\config\Chrome\win\ia32\libavcodec\codec_list.c

复制代码
&ff_hevc_decoder,

third_party\ffmpeg\chromium\config\Chrome\win\ia32\libavcodec\parser_list.c

复制代码
&ff_hevc_parser,

third_party\ffmpeg\chromium\config\Chrome\win\ia32\libavformat\demuxer_list.c

复制代码
&ff_hevc_demuxer,

third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h

复制代码
#define CONFIG_HEVCPARSE 1

third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.asm

复制代码
$#define CONFIG_HEVCPARSE 1

重新生成就能支持h265了

改完以后编译如果报一些错误,比如说提示IsHevcProfileSupported 未调用,那就直接在其他地方调用一下就可以编译过了

相关推荐
QQ_4376643144 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
liulilittle6 小时前
C++/CLI与标准C++的语法差异(一)
开发语言·c++·.net·cli·clr·托管·原生
小狄同学呀6 小时前
VS插件报错,g++却完美编译?API调用错因分析
c++
程序员编程指南6 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
小乖兽技术6 小时前
C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
c++·c#·交互
张北北.6 小时前
【深入底层】C++开发简历4+4技能描述6
java·开发语言·c++
刚入坑的新人编程7 小时前
暑期算法训练.9
数据结构·c++·算法·leetcode·面试·排序算法
破刺不会编程9 小时前
linux线程概念和控制
linux·运维·服务器·开发语言·c++
程序员编程指南9 小时前
Qt OpenGL 集成:开发 3D 图形应用
c语言·数据库·c++·qt·3d
小徐不徐说10 小时前
动态规划:从入门到精通
数据结构·c++·算法·leetcode·动态规划·代理模式