编译支持播放H265的cef控件

2024-04-23 13:04

本文主要是介绍编译支持播放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 = trueenable_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 未调用,那就直接在其他地方调用一下就可以编译过了

这篇关于编译支持播放H265的cef控件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928866

相关文章

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui