kjtsune / embytolocalplayer Goto Github PK
View Code? Open in Web Editor NEWEmby/Jellyfin 调用外部本地播放器,并回传播放记录。适配 Plex。
Emby/Jellyfin 调用外部本地播放器,并回传播放记录。适配 Plex。
在使用磁盘模式并开启playlist后,iina在观看视频并关闭后未能成功同步进度,输出skip update progress: {key=} {_stop_sec=} not in playlist_data
目前来看emby中playlist_data 中的 key会是 "我心里危险的东西 S1:E14 - 病例.14「我们快变大人了」 | 我心里危险的东西 - S01E14 - 第14集-Nekomoe kissaten.mp4" 这种格式
而 mpv.command('get_property', 'media-title') 在iina情况下 返回值是 "我心里危险的东西 - S01E14 - 第14集-Nekomoe kissaten.mp4" 导致key未能命中而无法同步进度.
在playlist_add_mpv的循环中加了一段
if getattr(mpv, 'is_iina'):
playlist_data[basename] = ep
目前来看似乎是好了
流媒体播放跳转进度的时候会花屏。如何像这个脚本一样本地播放呢
https://greasyfork.org/zh-CN/scripts/445769
Hello, thanks for making this wonderful tool. This is the very first time i am using this tool. i am getting the following error when i play any file in emby website while running embyToLocalPlayer_debug.bat
as admin
[12/20/23 20:00:23] ['Python path: C:\\Users\\_hide_user_\\AppData\\Local\\Programs\\Python\\Python312\\python.exe']
[12/20/23 20:00:23] ['ini path: C:\\Users\\_hide_user_\\Downloads\\embyToLocalPlayer\\embyToLocalPlayer_config.ini']
[12/20/23 20:00:23] Windows-11-10.0.22631-SP0 Python-3.12.0
[12/20/23 20:00:26] C:\Users\_hide_user_\Downloads\embyToLocalPlayer\embyToLocalPlayer.py
[12/20/23 20:00:26] serving at 127.0.0.1:58000
127.0.0.1 - - [20/Dec/2023 20:01:14] "POST /embyToLocalPlayer/ HTTP/1.1" 200 -
[12/20/23 20:01:14] server=emby mount_disk_mode=False
[12/20/23 20:01:14] ['emby.xd_mix_host_ not match: gui[except_host] []']
[12/20/23 20:01:14] command line: ['"C:\\Program Files\\mpv\\mpv.exe"', 'https://emby.xd_mix_host_/emby/videos/962/original.mkv?DeviceId=a4e7280e-6df0-4a47-867d-9a725e3da5cf&MediaSourceId=1db25df025b26dfaea14ea236e6cca43&PlaySessionId=94ccee27af7c47439bd9fed593e44780&api_key=_hide_api_key_&Static=true']
[12/20/23 20:01:14] ["emby.xd_mix_host_ match: playlist[enable_host] ['localhost', '127.0.0.1', '192.168.', '192-168-', 'example.com:8096', '.']"]
[12/20/23 20:01:14] ['"C:\\Program Files\\mpv\\mpv.exe"', 'https://emby.xd_mix_host_/emby/videos/962/original.mkv?DeviceId=a4e7280e-6df0-4a47-867d-9a725e3da5cf&MediaSourceId=1db25df025b26dfaea14ea236e6cca43&PlaySessionId=94ccee27af7c47439bd9fed593e44780&api_key=_hide_api_key_&Static=true', '--force-media-title=The Godfather (1972) | The Godfather (1972) - HD Version [BluRay-1080p][10bit][x265][AC3 5.1][HI+EN]-afm72[tmdbid-238].mkv', '--osd-playing-msg=The Godfather (1972) | The Godfather (1972) - HD Version [BluRay-1080p][10bit][x265][AC3 5.1][HI+EN]-afm72[tmdbid-238].mkv', '--start=0', '--input-ipc-server=\\\\.\\pipe\\pipe_nameA', '--script-opts-append=autoload-disabled=yes', '--fullscreen=yes']
Exception in thread Thread-4 (start_play):
Traceback (most recent call last):
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\threading.py", line 1052, in _bootstrap_inner
self.run()
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\threading.py", line 989, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\_hide_user_\Downloads\embyToLocalPlayer\embyToLocalPlayer.py", line 100, in start_play
player_manager.start_player(cmd=cmd, start_sec=start_sec, sub_file=sub_file, media_title=media_title,
File "C:\Users\_hide_user_\Downloads\embyToLocalPlayer\utils\players.py", line 45, in start_player
self.player_kwargs = player_start_func_dict[self.player_name](**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\_hide_user_\Downloads\embyToLocalPlayer\utils\players.py", line 227, in mpv_player_start
player = subprocess.Popen(cmd, env=os.environ)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [WinError 5] Access is denied
Traceback (most recent call last):
File "C:\Users\_hide_user_\Downloads\embyToLocalPlayer\embyToLocalPlayer.py", line 161, in <module>
run_server(_RequestHandler)
File "C:\Users\_hide_user_\Downloads\embyToLocalPlayer\utils\net_tools.py", line 29, in run_server
httpd.serve_forever()
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\socketserver.py", line 235, in serve_forever
ready = selector.select(poll_interval)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\selectors.py", line 323, in select
r, w, _ = self._select(self._readers, self._writers, [], timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\_hide_user_\AppData\Local\Programs\Python\Python312\Lib\selectors.py", line 314, in _select
r, w, x = select.select(r, w, w, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
平台:x64
系统:Windows 11 专业版 22H2 22621.2861
问题:双击 embyToLocalPlayer_debug.bat 无报错,按按1(窗口运行)时出现异常,异常信息如下
Pythone 版本:Python 3.10.11
C:\Program Files\Python310\python.exe
press a number
1: run in console
2: run in background and add to startup folder
3: open startup folder
4: path translate helper
5: copy script path to clipboard
6: update to latest version
press a number 1
you have pressed one
[01/09/24 17:11:43] ['Python path: C:\\Program Files\\Python310\\python.exe']
[01/09/24 17:11:43] ['ini path: C:\\Users\\_hide_user_\\embyToLocalPlayer\\embyToLocalPlayer_config.ini']
[01/09/24 17:11:43] Windows-10-10.0.22621-SP0 Python-3.10.11
Traceback (most recent call last):
File "C:\Users\_hide_user_\embyToLocalPlayer\embyToLocalPlayer.py", line 144, in <module>
kill_multi_process(name_re=f'(embyToLocalPlayer.py|autohotkey_tool|' +
File "C:\Users\_hide_user_\embyToLocalPlayer\utils\tools.py", line 103, in kill_multi_process
pid_cmd = list_pid_and_cmd(name_re)
File "C:\Users\_hide_user_\embyToLocalPlayer\utils\windows_tool.py", line 26, in list_pid_and_cmd
result = [(i['ProcessId'], i['CommandLine']) for i in json.loads(proc.stdout)
File "C:\Program Files\Python310\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Program Files\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Program Files\Python310\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
all tasks are finished.
Press any key to continue . . .```
如题
想要得到播放列表的支持,但是苦于不会操作,希望大佬能将加载播放列表的教程完善完善。多谢了
大佬我实在不懂这个原理能不能被实现,能否解答一下呢,谢谢!
微软宣布弃用 VBScript 脚本语言,将在未来的 Windows 版本中移除
Windows 客户端的已弃用功能
就是不知道微软的效率,多久后被彻底移除。
这就有点难受了,如果以windows服务方式启动,运行播放器时只有进程看不到播放器窗口,因为服务是SYSTEM用户,和普通用户不在同一个会话。
很难找到vbs的替代方案,既能隐藏黑窗口,又能正常运行播放器。
希望插件上可以切换播放器
需求:
有时不想开弹幕就不选弹弹play了,可以自由切换选mpv。
插件非常好用,希望可以变得更好,非常感谢!!
win11 22h2 加入启动组后重启失效 原来的win10没有任何问题 请大哥解决下
如题,Arch Linux笔记本用户,平时使用
env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" mpv video_file.mp4
设置临时环境变量可以调用 NVIDIA 显卡启动 mpv,在脚本中不知如何设置,麻烦指教!
启动时第一集选择了字幕,播放列表的subtitle_priority
参数也填写了,字幕都能成功加载,
从第一集往后切没啥问题,但是从后面切回第一集字幕没了。
原因是第一集的字幕加载方式用的JSON IPC
,不是以启动参数加载的
embyToLocalPlayer/utils/players.py
Lines 231 to 233 in 5c5a99c
--sub-file
影响后面的集数是可以解决的,sub-files是一个List Options,利用-toggle
操作的特性:不存在则添加,存在则删除。启动参数改为cmd.append(f'--sub-files-toggle={sub_file}')
embyToLocalPlayer/utils/players.py
Lines 195 to 200 in 5c5a99c
# 启动时选择的第一集的字幕,先给它加上,启动参数sub-files-toggle会把它删掉
first_ep_sub_file = data['sub_file'] or ''
sub_file_cmd = f',sub-files-remove={first_ep_sub_file},sub-files-append={first_ep_sub_file}' if first_ep_sub_file else ''
sub_file = ep['sub_file'] or ''
sub_file_cmd = sub_file_cmd + (f',sub-files-append={sub_file}' if sub_file else '')
embyToLocalPlayer/utils/players.py
Lines 260 to 261 in 5c5a99c
log.txt
Exception occurred during processing of request from ('127.0.0.1', 61666)
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.496.0_x64__qbz5n2kfra8p0\Lib\socketserver.py", line 318, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.496.0_x64__qbz5n2kfra8p0\Lib\socketserver.py", line 349, in process_request
self.finish_request(request, client_address)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.496.0_x64__qbz5n2kfra8p0\Lib\socketserver.py", line 362, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.496.0_x64__qbz5n2kfra8p0\Lib\socketserver.py", line 761, in __init__
self.handle()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.496.0_x64__qbz5n2kfra8p0\Lib\http\server.py", line 436, in handle
self.handle_one_request()
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.496.0_x64__qbz5n2kfra8p0\Lib\http\server.py", line 424, in handle_one_request
method()
File "D:\Program Files\embyToLocalPlayer\embyToLocalPlayer.py", line 32, in do_POST
data = parse_received_data_emby(data) if self.path.startswith('/emby') else parse_received_data_plex(data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\embyToLocalPlayer\utils\tools.py", line 448, in parse_received_data_plex
provider_ids = [tuple(i['id'].split('://')) for i in meta['Guid']]
~~~~^^^^^^^^
KeyError: 'Guid'
当删除以下代码之后可以正常播放 plex 视频。potplayer 可以回传进度,mpv 不行,mpvn 可以。
mpv 使用的是 https://github.com/dyphire/mpv-config
provider_ids = [tuple(i['id'].split('://')) for i in meta['Guid']]
provider_ids = {k.title(): v for (k, v) in provider_ids}
trakt_emby_ver_dict = dict(
Type=meta['type'],
ProviderIds=provider_ids
)
res.update(trakt_emby_ver_dict)
debug.bat脚本在打开console窗口的情况下是可以调用播放器的,但是关闭console窗口选择自启动的情况下无法正常调用,任务管理器里显示的vbs正常启用状态
添加以下内容即可:
// @match *://*.plex.tv/*
能否支持下movist pro,mac端唯一能解码杜比的播放器
最近的一个提交 a1db326
embyToLocalPlayer/utils/players.py
Line 220 in a1db326
--script-opts
启动参数会把mpv.conf设置的script-opts
完全覆盖,应该使用--script-opts-append
在后面追加,日志如下,在utils\python_mpv_jsonipc第66行加了日志输出
C:\Users\enlce\AppData\Local\Programs\Python\Python311\python.exe
press a number
1: run in console
2: run in background and add to startup folder
3: open startup folder
4: path translate helper
5: copy script path to clipboard
6: update to latest version
press a number 1
you have pressed one
[01/23/24 09:35:34] ['Python path: C:\\Users\\_hide_user_\\AppData\\Local\\Programs\\Python\\Python311\\python.exe']
[01/23/24 09:35:34] ['ini path: D:\\Program Files\\embyToLocalPlayer\\embyToLocalPlayer_config.ini']
[01/23/24 09:35:34] Windows-10-10.0.22621-SP0 Python-3.11.7
system proxy: http://127.0.0.1:8999
system proxy: http://127.0.0.1:8999
[01/23/24 09:35:35] D:\Program Files\embyToLocalPlayer\embyToLocalPlayer.py
[01/23/24 09:35:36] serving at 127.0.0.1:58000
127.0.0.1 - - [23/Jan/2024 09:35:40] "POST /embyToLocalPlayer/ HTTP/1.1" 200 -
system proxy: http://127.0.0.1:8999
[01/23/24 09:35:40] server=jellyfin/10.8.13 data['mount_disk_mode']=False
[01/23/24 09:35:40] 192.168.10.135:8096 not match: gui[except_host] []
[01/23/24 09:35:40] command line: ['D:\\Program Files\\mpv\\mpv.exe', 'http://192.168.10.135:8096/videos/35f9eeaaa40f8d1b02555fc2c19cc179/stream.mp4?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2fDE3MDQ3ODMyMTcxMjc1&MediaSourceId=35f9eeaaa40f8d1b02555fc2c19cc179&PlaySessionId=69f7d1fd929f4dc287a0901e09ea234f&api_key=4efc20e5f1be4e7fa4d88137d74987eb&Static=true']
[01/23/24 09:35:40] 192.168.10.135:8096 match: playlist[enable_host] ['localhost', '127.0.0.1', '192.168.', '192-168-', 'example.com:8096', '.']
[01/23/24 09:35:40] ['D:\\Program Files\\mpv\\mpv.exe', 'http://192.168.10.135:8096/videos/35f9eeaaa40f8d1b02555fc2c19cc179/stream.mp4?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2fDE3MDQ3ODMyMTcxMjc1&MediaSourceId=35f9eeaaa40f8d1b02555fc2c19cc179&PlaySessionId=69f7d1fd929f4dc287a0901e09ea234f&api_key=4efc20e5f1be4e7fa4d88137d74987eb&Static=true', '--force-media-title=黑土无言 S1:E6 - 钟意抓王山被割喉 | 黑土无言 - S01E06 - 第6集.mp4', '--osd-playing-msg=黑土无言 S1:E6 - 钟意抓王山 被割喉 | 黑土无言 - S01E06 - 第6集.mp4', '--http-proxy=http://127.0.0.1:8999', '--start=1328', '--input-ipc-server=\\\\.\\pipe\\pipe_nameA', '--script-opts-append=autoload-disabled=yes', '--fullscreen=yes']
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[01/23/24 09:35:46] Cannot connect to pipe. init_player: init_times=1
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[01/23/24 09:35:52] Cannot connect to pipe. init_player: init_times=2
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[01/23/24 09:35:58] Cannot connect to pipe. init_player: init_times=3
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[01/23/24 09:36:04] Cannot connect to pipe. init_player: init_times=4
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[WinError 2] 系统找不到指定的文件。
[01/23/24 09:36:10] Cannot connect to pipe. init_player: init_times=5
[01/23/24 09:36:10] mpv not found skip playlist_add_mpv
[01/23/24 09:36:10] mpv not found, skip stop_sec_mpv
[01/23/24 09:36:10] skip update progress: playlist_data not found
MacOS下IINA可以播放http,无法播放https
标题类似Emby这种,用户体验上来说要比原始文件名好很多
我Fork了一份,简单对Emby实现了一下,只改了单文件的,没改播放列表,写的很随意就不PR了,只是测试一下可行性
verygoodlee/embyToLocalPlayer@07fc5f9
感觉可以给个配置项,让用户选择展示元数据标题还是原始文件名
大佬您好,我的使用情况较为复杂,我的影片是存放在云盘上的,通过虚拟挂载的方式挂载为本地磁盘,然后再通过softlink的方式映射到本地磁盘,再对本地磁盘的软链接文件进行刮削,因此我的emby本地的文件其实是经过刮削之后的软链接文件,使用读取硬盘模式的话可以正常播放,但是关闭该模式之后,就会报错,本人才疏学浅,研究了FAQ之后也不知道如何解决这个问题,还请大佬指教或者是修复这个问题。下面是问题日志
[01/07/24 22:05:21] ['Python path: D:\Program\Anaconda3\python.exe']
[01/07/24 22:05:21] ['ini path: D:\tools\embyToLocalPlayer\embyToLocalPlayer.ini']
[01/07/24 22:05:21] Windows-10-10.0.22621-SP0 Python-3.9.13
system proxy: http://127.0.0.1:10809
system proxy: http://127.0.0.1:10809
[01/07/24 22:05:28] D:\tools\embyToLocalPlayer\embyToLocalPlayer.py
[01/07/24 22:05:28] serving at 127.0.0.1:58000
127.0.0.1 - - [07/Jan/2024 22:05:35] "POST /embyToLocalPlayer/ HTTP/1.1" 200 -
system proxy: http://127.0.0.1:10809
[01/07/24 22:05:35] server=emby mount_disk_mode=False
[01/07/24 22:05:35] ['loca_mix_host_:8096 not match: gui[except_host] []']
[01/07/24 22:05:35] command line: ['D:\tools\mpv\mpv.exe', 'http://loca_mix_host_:8096/emby/videos/15119/stream.mp4?DeviceId=1436e78b-e4f3-4939-b3d5-290f5d1c77e3&MediaSourceId=0153f8c64d9df76b16ce16119caed254&PlaySessionId=a577dd4fbd5a49af8abf44b92684f1e3&api_key=hide_api_key&Static=true']
[01/07/24 22:05:35] ["loca_mix_host_:8096 match: playlist[enable_host] ['localhost', '127.0.0.1', '192.168.', '192-168-', 'example.com:8096', '.']"]
[01/07/24 22:05:35] ['D:\tools\mpv\mpv.exe', 'http://loca_mix_host_:8096/emby/videos/15119/stream.mp4?DeviceId=1436e78b-e4f3-4939-b3d5-290f5d1c77e3&MediaSourceId=0153f8c64d9df76b16ce16119caed254&PlaySessionId=a577dd4fbd5a49af8abf44b92684f1e3&api_key=hide_api_key&Static=true', '--force-media-title=111.mp4', '--osd-playing-msg=111.mp4', '--http-proxy=http://127.0.0.1:10809', '--start=9023', '--input-ipc-server=\\.\pipe\pipe_nameA', '--script-opts-append=autoload-disabled=yes', '--fullscreen=yes']
[01/07/24 22:05:41] Cannot connect to pipe. init_player: init_times=1
[01/07/24 22:05:47] Cannot connect to pipe. init_player: init_times=2
[01/07/24 22:05:53] Cannot connect to pipe. init_player: init_times=3
[01/07/24 22:06:00] Cannot connect to pipe. init_player: init_times=4
[01/07/24 22:06:06] Cannot connect to pipe. init_player: init_times=5
Emby 4..8.3.0
mpv https://github.com/shinchiro/mpv-winbuild-cmake/releases/tag/20240301
关键报错信息
Exception in thread Thread-14 (start_play):
Traceback (most recent call last):
File "threading.py", line 1073, in _bootstrap_inner
File "threading.py", line 1010, in run
File "C:\Program Files\EmbyToLocalPlayer\embyToLocalPlayer.py", line 103, in start_play
player_manager.playlist_add(eps_data=eps_data)
File "C:\Program Files\EmbyToLocalPlayer\utils\players.py", line 60, in playlist_add
self.playlist_data = playlist_fun[self.player_name](data=self.data, eps_data=eps_data, **self.player_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\EmbyToLocalPlayer\utils\players.py", line 307, in playlist_add_mpv
mpv.command(
File "C:\Program Files\EmbyToLocalPlayer\utils\python_mpv_jsonipc.py", line 627, in command
return self.mpv_inter.command(command, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\EmbyToLocalPlayer\utils\python_mpv_jsonipc.py", line 338, in command
raise MPVError(data["error"])
utils.python_mpv_jsonipc.MPVError: invalid parameter
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.