KPlayer 可以帮助你快速的在服务器上进行视频资源的循环直播推流。本仓库为libkplayer
的 golang 封装版本
查看帮助文档:https://kplayer.net/p/1
kplayer 为你提供最小化成本搭建视频推流功能的工具,最优的推流方案 OBS 或其他软件依赖与 xWindow 或图形化界面的需要,不适合在服务端与云服务器上进行部署。KPlayer 无需依赖图形化界面,您可以使用任意一款你喜欢的发行版本即可实现多视频资源无缝推流的方案。
只需要定义您的配置文件,针对定制化的修改。即可达成想要的结果。并且可以 24 小时无人值守的方式运行它。
ffmpeg
或者obs
的方案来进行推流直播。concat
配合-loop
可以达到或者使用循环运行 ffmpeg 命令来长时间推流。但是无法动态控制视频资源的顺序,而且在视频存在差异性的情况下,必须保证视频参数的高度一致性。类似分辨率,码率,sar
,dar
,声道数量等造成极大的不便。使用命令行循环推流则会导致资源切换时会出现资源断流的情况,严重时会出现编码数据不匹配(绿屏、音画不同步...)KPlayer 也支持在高性能机器上预生成缓存,传输至性能较小的服务器上直接使用缓存推流。降低资源占用量
同时支持你配置重连机制,在某些原因下由于服务端的意外断开。你可以允许 KPlyaer 不被中断,并在某个时间段后进行尝试重新连接。
jsonrpc
调用的方式去控制它的播放行为。包括但不限于添加 /删除输入资源文件、添加 /删除输出资源、暂停、跳过等等等...API 是动态控制的,不必重新运行它。
并且支持你开发自定义插件提供给其他人使用。
相较于 v0.4.x 的版本,我们将各个功能解耦方便迭代开发提供更好的迭代周期和功能开发
在对libkplayer
与外界交互信息上,使用protobuf
进行数据交互。如果有幸你参与到插件的开发工作中来,相信这会对你带来较大的便利
得益于WebAssembly
的出色设计,我们使用 wasm 来完成插件的编码与运行。我们可以严格控制每个插件的可访问行为。在无授权的情况下,它并不能访问任何关于你机器上的任何数据。你可以放心的使用它而不必担心会存在恶意插件或插件被篡改的情况产生。并且你可以使用你熟悉的任何语言来编写插件,只要它符合 wasm 标准
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.