设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5709|回复: 24
打印 上一主题 下一主题

[搬运汉化] 搬运YSP_VideoPlayer,彻底解决视频播放卡死的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
717
在线时间
238 小时
注册时间
2019-7-6
帖子
61
跳转到指定楼层
1
发表于 2021-7-29 11:04:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 qq983378065 于 2022-1-7 15:51 编辑

几个月没上论坛,没想到原来传的版本有问题。

先说一下这个插件的来源,我首先是在一个不可说名字的游戏里发现了这个插件,但是插件里并没有留下任何所有权的声名,也没有任何使用授权相关的文字。
所以我又接着在外网的RM论坛上找到了这个插件。javascript:;

原贴https://forums.rpgmakerweb.com/i ... _videoplayer.83758/

我之前上传的版本是从原贴直接下载的版本,会出现无法使用的问题我也没有想到。

这次重新上传的是从不可明说游戏里找到的插件,这个插件是确定可以使用的,但是插件里面的代码格式和原贴下载的版本略有不同,所以我不确定这个版本是不是他人二次修改的版本,如果侵权请给我留言,我会第一时间删除。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maker mv,包括mz使用的是边加载边播放的技术,也就是一边读取你的视频进入内存,同时从内存中播放视频。
但是因为各种莫名其妙的原因,读取视频进入内存的过程可能会中断,所以视频就会播放到一半卡主。

以下内容纯猜测,我不是专业的技术人员并不太了解其中的具体细节,但感觉应该猜的八九不离十。

YSP_VideoPlayer改变了这个机制,他使用预加载的方式,先将视频读取进入内存,然后再播放,可以说是彻底解决了视频卡死的毛病。
经过测试,最高8300kbps的vp9格式的webm视频完全可以做到正常播放。
不过要注意播放完之后要手动释放内存,否则后果很严重

以下为作者的案例
Comment:This will preload the video
:       :----------------------------------------------
◆Script:ysp.VideoPlayer.loadVideo('mirror.webm')
◆Comment:This will check if the video is already in memory.
:       :----------------------------------------------
◆Loop
  ◆If:Script:ysp.VideoPlayer.isReady()
    ◆Comment:This will stop the loop.
    :       :----------------------------------------------
    ◆Break Loop
    ◆
  :End
  ◆
:Repeat Above
◆Fadeout Screen
◆Comment:This will set the following
:       :Video ID #1 : mirror.webm'
:       :Play video ID #1
:       :Loop video ID #1
:       :----------------------------------------------
◆Script:ysp.VideoPlayer.newVideo('mirror.webm', 1)
:      :ysp.VideoPlayer.playVideoById(1)
:      :ysp.VideoPlayer.setLoopById(1)
◆Fadein Screen
◆Text:None, Window, Bottom
:    :Wow! We have looping videos!
:    :And the text is showing!
:    :\}So\{ freaking \{cool!
◆Fadeout Screen
◆Comment:Stop the video
:       :----------------------------------------------
◆Script:ysp.VideoPlayer.stopVideoById(1)
◆Fadein Screen
我英语也不好,使用的时候也是百度翻译的,所以就不翻译了,


简单示例

原贴下载的版本
(原下载链接,为了避免混淆删除,有人需要请去原贴下载)
不可明说游戏中找到的版本
YSP_VideoPlayer(测试可用 不明来源).zip (3.54 KB, 下载次数: 62)

PS,文件名不需要添加.webm,
PS2,该插件只能播放webm格式的视频,安卓版也可以使用。

Lv3.寻梦者

梦石
0
星屑
4193
在线时间
277 小时
注册时间
2021-2-9
帖子
57
来自 21楼
发表于 2021-12-30 01:34:52 | 只看该作者
本帖最后由 dumpiel 于 2021-12-30 01:36 编辑
qq983378065 发表于 2021-12-29 17:40
看到是不必了,因为看了我也看不懂,我对代码完全一窍不通


研究了下YSP的代码!改了下VPlayer的代码,VPlayer也可以用MP4了!
VPlayer虽然不能预加载,但是功能不错!度盘里我把演示视频和插件都添加了!需要可以去看下!
分享的帖子地址:https://rpg.blue/thread-488203-1-1.html
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7010
在线时间
716 小时
注册时间
2021-3-5
帖子
819
2
发表于 2021-7-29 12:25:26 | 只看该作者
还是不要翻译原文的比较好
楼主辛苦喽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7131
在线时间
1364 小时
注册时间
2018-12-16
帖子
1948
3
发表于 2021-10-10 11:33:08 | 只看该作者
這個插件無法工作....

点评

不太清楚,原贴上下载的版本格式有一些乱,也不清楚是什么回事,重新传了一个版本,你再看看  发表于 2021-12-14 13:36
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1
在线时间
0 小时
注册时间
2021-10-11
帖子
3
4
发表于 2021-10-11 18:03:40 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4193
在线时间
277 小时
注册时间
2021-2-9
帖子
57
5
发表于 2021-12-12 15:09:06 | 只看该作者
我一直显示错误···不知道为什么···大佬能讲下用法吗···
Use script call:
  ysp.VideoPlayer.loadVideo(videoName) - Preload Video
  ysp.VideoPlayer.releaseVideo(videoName) - Release memory for a Video
  ysp.VideoPlayer.newVideo(videoName, id) - Create new Video object with id
  ysp.VideoPlayer.playVideoById(id) - Play a Video object by id
  ysp.VideoPlayer.stopVideoById(id) - Stop a Video object by id
  ysp.VideoPlayer.setLoopById(id) - Make a Video object playing loop by id
  ysp.VideoPlayer.getVideoById(id) - Get Video object by id
  ysp.VideoPlayer.isReady() - Check if all videos have been loaded

Video Object is a PIXI.Sprite object, can be re-position by modifying x and y props
To preload a (or many) video(s), use loadVideo(videoName) followed by a loop in
an event, break the loop when isReady() returns true

使用脚本调用:
ysp。录像机。加载视频(videoName)-预加载视频
ysp。录像机。释放视频(videoName)-释放视频的内存
ysp。录像机。newVideo(videoName,id)-创建id为的新视频对象
ysp。录像机。playVideoById(id)-按id播放视频对象
ysp。录像机。stopVideoById(id)-按id停止视频对象
ysp。录像机。setLoopById(id)-使视频对象按id播放循
ysp。录像机。getVideoById(id)-按id获取视频对象
ysp。录像机。isReady()-检查是否已加载所有视频

视频对象是PIXI。精灵对象,可以通过修改x和y道具重新定位
要预加载一个(或多个)视频,请使用loadVideo(videoName),然后在
事件,在isReady()返回true时中断循环
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4193
在线时间
277 小时
注册时间
2021-2-9
帖子
57
6
发表于 2021-12-12 15:52:12 | 只看该作者
不调错误了···但是黑屏···视频不出现···

点评

不太清楚,原贴上下载的版本格式有一些乱,也不清楚是什么回事,重新传了一个版本,你再看看  发表于 2021-12-14 13:35
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
717
在线时间
238 小时
注册时间
2019-7-6
帖子
61
7
 楼主| 发表于 2021-12-14 13:35:21 | 只看该作者
dumpiel 发表于 2021-12-12 15:09
我一直显示错误···不知道为什么···大佬能讲下用法吗···
Use script call:
  ysp.VideoPlayer.load ...

不太清楚,原贴上下载的版本格式有一些乱,也不清楚是什么回事,重新传了一个版本,你再看看
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4193
在线时间
277 小时
注册时间
2021-2-9
帖子
57
8
发表于 2021-12-14 16:18:54 | 只看该作者
qq983378065 发表于 2021-12-14 13:35
不太清楚,原贴上下载的版本格式有一些乱,也不清楚是什么回事,重新传了一个版本,你再看看 ...

换了个插件!现在弄好了!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4193
在线时间
277 小时
注册时间
2021-2-9
帖子
57
9
发表于 2021-12-17 13:57:11 | 只看该作者
qq983378065 发表于 2021-12-14 13:35
不太清楚,原贴上下载的版本格式有一些乱,也不清楚是什么回事,重新传了一个版本,你再看看 ...

纳蒂亚的作者用的这个···用的事MP4的视频···估计还有个别的插件···可以弄MP4···
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4193
在线时间
277 小时
注册时间
2021-2-9
帖子
57
10
发表于 2021-12-17 17:20:01 | 只看该作者
大佬有测试演示项目么···发我研究下···我弄来弄去···就是只是出对话···视频不出来···
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-15 22:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表