JWPlayer作为老牌开源页面播放器一直以成功的商业运作模式保持着活力。从最早基于flash的流媒体播放到如今面向HTML5实现高性能全平台兼容,其技术水准在嵌入式播放领域可谓业界标杆。记得国内音悦台等起步之初用的也是JW,国外大站的应用案例就更多了。

本博因影视MV分享需求从JW5开始使用,到JW6做成插件发布,除
JW7开始对UI进行大幅优化,在移动端效能与直播协议兼容方面显著增强,JW8进一步提升响应速度开放自定义配色API,对字幕、直播VR组件等均实现按需加载。新版插件便以8.4.1为核心再次实现本地化调用和免验证改造,并针对国内平台定制了社交分享按钮。
为节省篇幅,以下仍以代码对照实例方式直接展示用法(具体更新项请查看文末changelog):
实例1 - 锁定比例自适应+封面:
https://www.yzmb.me/files/14062501.mp4|
width=100%|aspectratio=2.4:1|
image=https://www.yzmb.me/usr/uploads/2014/06/122798219.jpg
如上所示,文件地址后可接width或height参数用“|”号隔开,数值不用带像素单位,百分比可配合aspectratio参数锁定比例实现自适应。image参数接图片url。效果如»
实例2 - 清晰度/字幕选择+标题:
https://www.yzmb.me/files/180712.mp4;https://www.yzmb.me/files/180712HD.mp4|
tracks=歌词^https://www.yzmb.me/files/180712.srt|
title=魔力红/SZA合作《What Lovers Do》MV|
image=https://www.yzmb.me/files/180712.jpg|
width=100%|aspectratio=2.67:1|stretching=fill
同一视频可准备多种清晰度文件(相同格式)用半角“;”号分隔,默认第1~3个文件分别显示为标清/高清/超清,或自定义名称在url前用“^”号隔开。tracks参数同理,默认首个字幕中文后一个英文,实例仅有英文字幕故自定义名称为“歌词”。效果如» (CC切换字幕/选项内切换清晰度)
实例3 - 多视频列表播放:(整合旧版演示共6项)
360p^https://www.yzmb.me/files/17020402.mp4;720p^https://www.yzmb.me/files/17020402HD.mp4,
https://www.yzmb.me/files/17020403.mp4,
https://www.yzmb.me/files/14062503.mp4,
https://www.yzmb.me/files/14062504.mp4,
https://www.yzmb.me/files/14062502.mp4;https://www.yzmb.me/files/14062502HD.mp4
,
https://www.yzmb.me/files/17020401.mp4;https://www.yzmb.me/files/17020401HD.mp4|
image=https://www.yzmb.me/files/17020402.jpg,
https://www.yzmb.me/files/17020403.jpg,
https://www.yzmb.me/usr/uploads/2014/06/4263363962.jpg,
https://www.yzmb.me/usr/uploads/2014/06/1473582525.jpg,
https://www.yzmb.me/usr/uploads/2014/06/3246099474.jpg,
https://www.yzmb.me/files/17020401.jpg|
title=HBO科幻美剧《西部世界》首季预告,
五月档《银河护卫队二》剧场版预告,
金耀熙首支单曲《My Music》MV,
《看门狗》宣传片洛杉矶街头整蛊路人,
《猩球崛起2:黎明之战》剧场版预告,
真人翻拍《刺客信条》剧场版预告|
description=JJ监制/诺兰编剧/埃文·蕾切伍德主演大尺度烧脑神剧。|
tracks=https://www.yzmb.me/files/17020402cn.srt;https://www.yzmb.me/files/17020402en.srt,
https://www.yzmb.me/files/17020403.srt,
韩文^https://www.yzmb.me/files/14062503.srt,
https://www.yzmb.me/files/14062504cn.srt;https://www.yzmb.me/files/14062504en.srt,
https://www.yzmb.me/files/14062502cn.srt;https://www.yzmb.me/files/14062502en.srt,
https://www.yzmb.me/files/17020401cn.srt;https://www.yzmb.me/files/17020401en.srt|
width=100%|aspectratio=16:9
同样半角“,”号分隔不同视频,image、title和description参数也保持对应。同一视频内再用“;”号分隔清晰度文件,或用“^”号在url前自定义名称。字幕分隔语种文件同理。效果如»
除以上手动编排方式外,JWPlayer还支持读取rss或json格式的列表索引文件,如本博在《Yo Joes! 我的特种部队》中使用的gijoe.rss,具体命名规范可参考官方文档。
如果播放的是m3u8格式文件将自动开启直播模式。不过现在视频站外链获取难度较高,github上暂时没发现好用的API,但有下载用命令行工具you-get等适合有一定技术基础的童鞋参考研究,在此就不做过多题外赘述了。提供一个简单实例:(注意安卓系统要看浏览器软件是否支持)
另外还要提到一点是JW8已经彻底弃用flash方案,故原primary参数被取消,原移动端UI参数timeSliderAbove也已自动集成失效,新增了minDvrWindow参数可指定直播流缓存量实现录播控制;依然支持高级参数如cast开启Airplay投屏支持,stereomode解析360度全景视频等。最后就附一则VR演示实例:(注意目前仅PC平台支持纯浏览器内的全景视频解析)
所有常用参数均可以通过插件面板右上角的链接浮层查看(如果你是专家JWPlayer官网还有一系列API文档可供参考)。其他功能像配色预览、logo定制、字幕设置等都在后台一目了然了,有流媒体发布需求的小伙伴们不要错过哦!:)
Changlog
1.0.9
补充js库修正兼容性bug;
增加url加解密播放支持;
切换文件可自定义名称;
参数解析支持自动置空。
1.0.8
使用8.4.1版定制核心;
增加自定义配色预览;
增加编辑器按钮支持;
修正MD标签转义bug;
重整参数列表文件结构。
1.0.7
使用7.9.0版定制核心;
支持移动端触摸屏优化;
支持苹果Airplay及全景VR;
增加后台参数显隐查询;
修复列表字幕对应bug;
使用Packer+WHAK压缩js。
1.0.6
使用7.8.1版免验证定制核心;
支持HLS/MPEG-DASH直播;
支持内置列表/国内社交分享;
增加隐藏信息/右键提示设置;
增加自定义logo及分享设置;
重整结构优化嵌载模式效率;
修复短代码标签冲突等bug;
修正摘要输出兼容feed提示。
1.0.5
调整头部js挂载方式;
优化Markdown兼容性。
1.0.4
增加多清晰度字幕支持;
增加RSS列表解析支持。
1.0.3
简化flash源码重打包;
汉化文字提示修改字体。
1.0.2
精简js嵌载调用文件;
增加专业版皮肤选择。
1.0.1
后台增加全局设置选项;
支持常用后缀参数解析。
1.0.0
使用6.8.4616版核心;
实现jw标签替换播放器。
(Last modified: 2018-08-11 20:33)
|



有一个问题,插件启用后会导致通过excerpt获取的摘要显示Markdown代码,是否可以做一下过滤处理,插件版本最新版,Typecho版本为Github最新版
已知bug,可参考https://github.com/jzwalk/JWPlayer/issues/3解决
大佬 大佬 这个不支持avi视频文件吗
通过http协议传输的必须是流媒体格式,avi只能本地播放
[...]视频插件:jwplayer[...]
我在安卓设备上长按视频播放器会有一个jwplayer 的弹窗出现很奇怪,我研究下能否去掉, 望大佬也看下这个问题
应该是品牌标识吧和右键logo一样,毕竟免费版我就不弄掉了
嗯,谢谢。
应该是和PJAX有冲突,我看留言也看别人有提到,有的主题会有PJAX,在有PJAX的主题下开启JWPlayer在有视频的文章页面会全空白刷新一次才可以显示,在有PJAX的情况下应该要重载函数吧。别人的音乐插件也是一样,只不过那音乐插件是不显示播放器会显示该有的文章,也是要刷新一遍才会显示音乐。关闭PJAX一切正常。
对,如果主题用pjax异步渲染页面那所有js引用应该都要在其脚本内进行重调才行,具体情况请大家自己看下吧,实在不懂就关了pjax
大佬,这个不支持flv格式呀?
如果是h264编码的应该没问题吧
还有,有的视频没声音,edge浏览器没问题,谷歌和ie就没声音
解码核心还是在浏览器里,播放器只是个外壳,兼容性不好可以改下视频文件的编码格式看
很感谢作者对我所有提问的一一回答,感谢!辛苦你了
客气,我有时间就尽力答复:)
今天还发现放某些MP4的时候有频闪现像,不知道是不是视频的问题,但是在本地用系统自带的播放器播放的时候又不闪
浏览器的视频解码功能和系统播放是两套原理,如果有显示问题可尝试更换不同编码参数的视频文件
还有一个问题就是在手机版里,它会把手机网页变窄一半,准确的表达是视频窗口只显示一半出来,如果强制显示全部视频窗口,那网页就缩小了一半。还有就是那个图片,如果在插件设置里能设置一个默认图片就最好了,解决这两个问题简直就是完美了
自适应宽度用百分比参数就好,比如实例1,如果你用手机看我这篇文章也有类似问题应该是浏览器的兼容性问题。统一封面需求略特殊,都用无图黑底播放器也很标准啊。。未来版本再看吧~
我试过了,功能都很好,但是会导致博客首页的那些文章显示图片的地址包括视频的详细地址等信息。也就是在替换影音文件的摘要的时候,把以前图片路径和视频路径这些不显示出来的东西也显示到摘要里了
好像还是那个已知的摘要解析bug,可以参考这里自行修改下https://github.com/jzwalk/JWPlayer/issues/3