一、问题发现:

前面我们进行一番VS2019编译chrome的实践。编译出来的chome.exe能正常的打开网页,欣喜之余,打开优酷,发现优酷网页能正常打开,点击视频播放一直黑屏,腾讯视频也是如此。

优酷网站播放视频黑屏

尝试本地播放一个MP4,也是黑屏。

本地播放MP4黑屏

尝试进入youtube,看看google自家的视频能否播放。果然,Google自家的视频网站播放是OK的,尝试播放一个VP9编码的webm视频,播放也是OK的。很显然,是编译的浏览器默认不支持MP4封装h264编码的视频,默认只支持google自家的webm封装的VP9编码视频。

youtube视频播放OK

VP9编码的webm播放OK

现在的目标是让编译的chrome.exe 支持MP4播放。

二、分析过程:

网上找了一番,很多人说chromium编译默认不编译ffmpeg,所以播放不了MP4视频。这里整理网友几种解决方案:

1)有人建议将ffmpeg编译对应编码库(一堆的dll库)放到chrome.exe目录下

这里有难处:ffmpeg版本如何和chrome.exe对应起来,自己再Windows上编译个ffmpeg也是很费劲。

2)有人建议将官方发布的chrome对应的ffmpeg的dll拷贝过去,但实际上近段时间官方的chrome安装包里面根本没有ffmpeg相关的dll(商业版的chrome压根就有没有用过ffmpeg还是将ffmpeg静态编译进其他dll,我们无法确定)

三、新发现:

发现一个编译参数可以将chrome以组件形式编译(即is_component_build = true),默认编译第三方库,第三方库都是静态编译到其他dll中去,打开这个开关。发现编译后有一个叫ffmpeg.dll,但这个ffmpeg.dll才3M,不是我们常见的ffmpeg官方编译的一堆dll。这个dll到底是真正包含了ffmpeg的dll,还是只是对ffmpeg的一个接口适配层呢?我们查看ffmpeg.dll导出的符号表(windows上称为导出表),发现ffmpeg对外的接口,都在这个符号表中。很显然ffmpeg默认是已经编译好了。只是chrome可能某些开关没有打开,导致chrome无法真正将ffmpeg的API用起来。

ffmpeg.dll的符号表

四、问题解决:

终于找到这个开关。编译前配置生成工程增加proprietary_codecs = true ffmpeg_branding = “Chrome"这2个宏即可,再次编译生成chrome.exe,播放MP4,播放youku等视频网站都OK了。

chromium 播放MP4

下一步,我们将探索4k/h265的MP4在chrome上的播放,更多更详细信息请关注公众号:AV_Chat

Chromium浏览器不能播放MP4相关推荐

  1. 微信浏览器 MP4播放失败,安卓下微信浏览器不能播放MP4问题的解决,gzip捣的鬼

    今天遇到一个很奇葩的事,MP4视频在安卓的微信浏览器中播放不了,提示"微信浏览器 MP4播放失败" 但是在其他手机浏览器里可以播放,而且苹果的微信中也可以播放 最后研究了一下午,找 ...

  2. ubuntu firefox不能播放MP4,ubuntu Firefox flash 浏览器全屏置顶

    ubuntu默认安装的Firefox是不能播放MP4的, sudo apt-get install gnome-mplayer ubuntu默认安装的Firefox是不能播放flash的, sudo ...

  3. 浏览器没办法播放html文件,ie浏览器使用video标签无法播放mp4文件

    ie11浏览器,使用bottle.py提供文件浏览服务,html5浏览mp4视频,测试ie浏览器上无法播放,显示无效的视频源. 从网上下载了一个好的mp4文件,可以在ie浏览器上播放,问题应该在2个地 ...

  4. 香橙派armbian的chromium浏览器安装flash播放器

    购买了一块香橙派PC plus的板子,刷了官方armbian系统,发现不能播放flash,提示要安装插件,下载安装了adobe的flash插件,仍然不行,在网上大量的搜索各种资料查看,自己再琢磨,终于 ...

  5. 关于在asp.net中播放MP4格式的视频(好吧,只兼容支持html5的浏览器,ie8及以下的都歇菜了)...

    项目要求只能播放MP4格式的视频,同事的播放器在我这里不完全管用,对于部分mp4格式的视频编码不支持,所以各种在网上找,在http://www.iteye.com/problems/75503问答的一 ...

  6. ios浏览器无法播放视频-node.js文件传输问题

    错误描述 windows.android浏览器都能播放视频,ios系统浏览器和MacOS的Safari浏览器不能播放和加载视频 原因 ios是分段请求视频的,ios之所以分多次请求也有其原因.比方说先 ...

  7. asp.ne服务器代码显示http://l.longtailvideo.com/download/5/9/logo.png不可用,在Window Server2008 服务器上无法播放MP4媒体问题

    一.最初网站问题: asp.ne服务器代码显示http://l.longtailvideo.com/download/5/9/logo.png不可用 找到对应代码发现为Flash插件关闭,Flash过 ...

  8. 加mp4文件后js失效_video不能播放mp4的问题(一)

    最近项目中遇到了video标签无法播放mp4的问题,表现如下: IE可正常播放 safari需要点击两次可播放 chrome内核系列都不能播放 原因排除 首先,排除掉代码错误:替换其它可播放的mp4文 ...

  9. video网页能播放.mp4视频,微信不能播放的问题

    刚刚学开发播放视频的人员来说,可能有以下2种问题, 一.在本地调试网页能播放.mp4视频,放到服务器上,在手机上测试,却不能播放.mp4视频. 其实这是服务器上将下载.mp4的格式文件给禁止了.在服务 ...

  10. 网页视频播放php拉伸代码,网页在线播放mp4/flv等格式视频方法,CuPlayer(酷播)详细使用方法(附源代码)...

    最近有好几个项目都需要在网页上播放视频文件(自己上传的),视频格式包括mp4.flv等等.现在的网站都对用户体验有所要求,所以网站上都不是单一的一行行文字了,都会选择放上很多图片.视频等,这样整体看上 ...

最新文章

  1. “23岁本科生发14篇SCI”,文章被学校官网悄悄删了,你怎么看?
  2. 无人驾驶技术--五个等级
  3. eclipse常用设置之自动格式化
  4. hive 百分比_HIVE短期内再次突破前高
  5. Python从零开始系列连载(11)——Python的基本运算和表达式(中二)
  6. python曲线拟合_python如何实现数据的线性拟合
  7. 下标索引必须为正整数类型或逻辑类型_Python3 基本数据类型
  8. 客户端脚本调用服务器端动态内容,移动到链接显示预览
  9. ElasticSearch核心基础之索引管理
  10. 【GTK】如何得到控件的位置
  11. IDEA运行main,junit方法报错Class not found
  12. 通过 微软 pai-fs 上传数据到HDFS (Microsoft OpenPAI)
  13. VB编程:GetSetting控制软件试用期-56
  14. 使用spreadjs vue版本
  15. 公私钥加解密+数字签名原理图(原创)
  16. 浏览器书签有效性验证
  17. 网络小说海外“走红”的启示
  18. 拼装机器人感想_机器人实验心得体会
  19. 3dmax2014卸载/安装失败/如何彻底卸载清除干净3dmax2014注册表和文件的方法
  20. [HEOI 2013 day2] 钙铁锌硒维生素 (线性代数,二分图匹配)

热门文章

  1. matlab irandon函数,在路上●我的年青●悠忽两年
  2. 使用jqdata和hikyuu平台进行C /python混合策略编写的方法
  3. 使用 R 构建复杂设计调查加权(Survey-Weighted) Cox 模型的列线图
  4. 防盗报警器c语言程序,基于单片机的汽车防盗报警系统的设计毕业论文.doc
  5. 【操作系统】第十一章-多媒体操作系统
  6. PostgreSQL备份和恢复
  7. 北大中文核心期刊目录(2004年版)工业技术类
  8. 高等数学—两个重要的极限定理
  9. 关于印发医疗联合体管理办法(试行)的通知
  10. 计算机用户文件夹加密,电脑怎么设置加密文件夹_给电脑文件夹设置密码的方法...