{"id":13743569,"url":"https://github.com/greensea/ytplayer","last_synced_at":"2025-05-09T01:31:16.328Z","repository":{"id":7909217,"uuid":"9292059","full_name":"greensea/ytplayer","owner":"greensea","description":"ytplayer 是一个基于 Flash 的弹幕播放器","archived":false,"fork":false,"pushed_at":"2013-08-26T05:46:02.000Z","size":11066,"stargazers_count":21,"open_issues_count":0,"forks_count":8,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-03T05:02:23.680Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ActionScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greensea.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-04-08T08:40:05.000Z","updated_at":"2022-09-04T14:06:55.000Z","dependencies_parsed_at":"2022-09-18T20:21:30.309Z","dependency_job_id":null,"html_url":"https://github.com/greensea/ytplayer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greensea%2Fytplayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greensea%2Fytplayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greensea%2Fytplayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greensea%2Fytplayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greensea","download_url":"https://codeload.github.com/greensea/ytplayer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224796476,"owners_count":17371498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T05:00:51.660Z","updated_at":"2024-11-15T14:31:31.269Z","avatar_url":"https://github.com/greensea.png","language":"ActionScript","readme":"ytplayer 是一个弹幕播放器，创建于 bilibili 建站前期，但是和 bilibili 没有任何关系（bilibili 似乎是用了和 ytplayer 同一个时期出现的 Yet Another XXX Player （我忘记 XXX 是什么了）来作为播放器的）。当年 AcFun 上面出现了大量质量低劣的广告，于是我就想着另建一个弹幕网站，接着就有了这个东西。\n\n后来 bilibili 出现了，并且当时表现不错，然后这东西就搁置了。最近突然有人问我要代码，于是就从以前的 SVN 仓库里面扒出代码，传到 GitHub 来了。\n\n演示站点： http://ytp.bbxy.net \u003c-- 此站点会不定期抽风，如果页面显示 HTTP 503 错误，说明服务器又抽风了，请过半天左右以后再尝试访问。\n\n部署说明请看 INSTALL.md 文件\n\n== Flash 播放器如何获取和发送弹幕？ ==\n\n=== 发送弹幕 ===\n\nFlash 播放器会将弹幕以 HTTP GET 方式发送给 savecomment.php 页面，各参数意义如下\n\ncontent：经过 URL 编码的弹幕内容\n\nfontsize：弹幕字号\n\ncolor：弹幕字体颜色，以十进制表示的十六进制颜色值。比如，若颜色为蓝色（#0000ff），那么这里的值就应该为 255\n\nmode：弹幕模式，0=底部弹幕，2=顶部弹幕，3=飞行弹幕，4=字幕菌\n\nplaytime：弹幕对应的影片播放时间，以毫秒为单位\n\nid：弹幕对应的影片编号\n\n完整的请求应该和下面的例子类似：\n\nsavecomment.php?content=%E6%B5%8B%E8%AF%95\u0026fontsize=22\u0026color=16777215\u0026mode=3\u0026playtime=199697\u0026id=52\n\n这个例子将会发送一个内容为“测试”，颜色白色，字号为 22，对应 52 号影片，并在影片播放到 199.697s 时出现的飞行弹幕。\n\n=== 获取弹幕 ===\n\nFlash 播放器在加载的时候会通过 playinfo.php 以 HTTP GET 方式读取对应影片的信息以及弹幕，参数如下：\n\nid：影片编号\n\n完整的请求应该和下面的例子类似：\n\nplayinfo.php?id=56\n\nplayinfo.php 会以 XML 格式返回影片信息及弹幕，格式如下：\n\n\u003cytPlayer\u003e\n    \u003cvideo\u003e\n        \u003cflvID\u003e1\u003c/flvID\u003e\n        \u003cflvURL\u003ehttp://v61.v.iask.com/f/1/4de79ddcc3fc25fe3fe2237d8499f01316750450.flv\u003c/flvURL\u003e\n        \u003cplayTimes\u003e424\u003c/playTimes\u003e\n        \u003ctitle\u003e新华里同人歌曲新专辑5in1 - 10月号「大容量」\u003c/title\u003e\n      \u003c/video\u003e\n      \u003conlineCount\u003e1\u003c/onlineCount\u003e\n      \u003ccommentCount\u003e3\u003c/commentCount\u003e\n      \u003ccomments\u003e\n        \u003ccomment id=\"11907\" fontSize=\"22\" flySpeed=\"3000\" fontColor=\"ffcccc\" flyType=\"fly\" isSubtitle=\"0\" playTime=\"0.000\" commentTime=\"1226642291\"\u003e结束之后的弹幕测试\u003c/comment\u003e\n        \u003ccomment id=\"11849\" fontSize=\"22\" flySpeed=\"3000\" fontColor=\"ffffff\" flyType=\"fly\" isSubtitle=\"0\" playTime=\"0.000\" commentTime=\"1226600750\"\u003e就归结为Flash的技术问题吧\u003c/comment\u003e\n        \u003ccomment id=\"11848\" fontSize=\"22\" flySpeed=\"3000\" fontColor=\"ffffff\" flyType=\"fly\" isSubtitle=\"0\" playTime=\"0.000\" commentTime=\"1226600740\"\u003e其实理论上来说只要缓冲够了应该是可以定位到任意帧的嘛\u003c/comment\u003e\n      \u003c/comments\u003e\n\u003cytPlayer\u003e\n\n各元素意义如下：\n\nflvID：影片编号\n\nflvURL：视频下载地址，如果视频被分段，则各段地址将以换行符 '\\n' 进行分隔\n\nplayTimes：视频总时长，单位为秒\n\ntitle：视频标题\n\nonlineCount：当前在线人数\n\ncommentCount：弹幕总数\n\n\u003ccommnet\u003e 元素的值为弹幕内容，各属性的意义如下：\n\nid：弹幕编号\n\nfontSize：弹幕大小\n\nflySpeed：弹幕显示时间，即从弹幕出现到弹幕消失的时间总和\n\nfontColor：弹幕文字颜色\n\nflyType：弹幕类型，可选值为 [fly|top|bottom]\n\nisSubtitle：是否为弹幕菌的弹幕，1=是，0=否\n\nplayTime：弹幕出现时的影片时间，单位为秒，精确到小数点后 3 位\n\ncommentTime：弹幕发表的时间，单位为 UNIX 时间戳\n\n","funding_links":[],"categories":["Multimedia"],"sub_categories":["Media Player"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreensea%2Fytplayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreensea%2Fytplayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreensea%2Fytplayer/lists"}