mirror of
https://github.com/jellyfin/jellyfin-mpv-shim.git
synced 2024-11-27 00:00:37 +00:00
Merge branch 'master' of github.com:jellyfin/jellyfin-mpv-shim
This commit is contained in:
commit
f787334534
@ -179,6 +179,15 @@ You can adjust the basic transcoder settings via the menu.
|
||||
- `remote_direct_paths` - Apply this even when the server is detected as remote. Default: `false`
|
||||
- `transcode_to_h265` - Allow the server to transcode media *to* `hevc`. Default: `false`
|
||||
- `transcode_warning` - Display a warning the first time media transcodes in a session. Default: `true`
|
||||
- `force_video_codec` - Force a specified video codec to be played. Default: `null`
|
||||
- This can be used in tandem with `always_transcode` to force the client to transcode into
|
||||
the specified format.
|
||||
- This may have the same limitations as `always_transcode`.
|
||||
- This will override `transcode_to_h265`, `transcode_h265` and `transcode_hi10p`.
|
||||
- `force_audio_codec` - Force a specified audio codec to be played. Default: `null`
|
||||
- This can be used in tandeom with `always_transcode` to force the client to transcode into
|
||||
the specified format.
|
||||
- This may have the same limitations as `always_transcode`.
|
||||
|
||||
### Features
|
||||
|
||||
|
@ -119,6 +119,8 @@ class Settings(SettingsBase):
|
||||
force_set_played: bool = False
|
||||
screenshot_dir: Optional[str] = get_default_sdir()
|
||||
raise_mpv: bool = True
|
||||
force_video_codec: Optional[str] = None
|
||||
force_audio_codec: Optional[str] = None
|
||||
|
||||
def __get_file(self, path: str, mode: str = "r", create: bool = True):
|
||||
created = False
|
||||
|
@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2021-03-18 01:38+EDT\n"
|
||||
"PO-Revision-Date: 2022-05-07 19:13+0000\n"
|
||||
"Last-Translator: fzlins <fzlins2013@gmail.com>\n"
|
||||
"PO-Revision-Date: 2022-06-16 09:22+0000\n"
|
||||
"Last-Translator: 普鲁文 <pluwen@gmail.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://translate.jellyfin.org/projects/"
|
||||
"jellyfin/jellyfin-desktop/zh_Hans/>\n"
|
||||
"Language: zh_Hans\n"
|
||||
@ -24,11 +24,11 @@ msgstr "选择音轨..."
|
||||
|
||||
#: jellyfin_mpv_shim/bulk_subtitle.py:105
|
||||
msgid "{0}: No Subtitles"
|
||||
msgstr "{0}: 无字幕"
|
||||
msgstr "{0}:无字幕"
|
||||
|
||||
#: jellyfin_mpv_shim/bulk_subtitle.py:142
|
||||
msgid "{0}: Fail"
|
||||
msgstr "{0}: 失败"
|
||||
msgstr "{0}:失败"
|
||||
|
||||
#: jellyfin_mpv_shim/bulk_subtitle.py:146
|
||||
msgid "Set Subbed: {0} ok, {1} fail"
|
||||
@ -48,15 +48,15 @@ msgstr "设置当前..."
|
||||
|
||||
#: jellyfin_mpv_shim/clients.py:49
|
||||
msgid "Server URL: "
|
||||
msgstr "服务器 URL: "
|
||||
msgstr "服务器 URL: "
|
||||
|
||||
#: jellyfin_mpv_shim/clients.py:50
|
||||
msgid "Username: "
|
||||
msgstr "用户名: "
|
||||
msgstr "用户名: "
|
||||
|
||||
#: jellyfin_mpv_shim/clients.py:51
|
||||
msgid "Password: "
|
||||
msgstr "密码: "
|
||||
msgstr "密码: "
|
||||
|
||||
#: jellyfin_mpv_shim/clients.py:56
|
||||
msgid "Successfully added server."
|
||||
@ -64,7 +64,7 @@ msgstr "成功添加服务器。"
|
||||
|
||||
#: jellyfin_mpv_shim/clients.py:57
|
||||
msgid "Add another server?"
|
||||
msgstr "添加其它服务器?"
|
||||
msgstr "添加其它服务器?"
|
||||
|
||||
#: jellyfin_mpv_shim/clients.py:60
|
||||
msgid "Adding server failed."
|
||||
@ -91,7 +91,7 @@ msgid ""
|
||||
"Could not add server.\n"
|
||||
"Please check your connection information."
|
||||
msgstr ""
|
||||
"无法添加服务器。 \n"
|
||||
"无法添加服务器。\n"
|
||||
"请检查您的连接信息。"
|
||||
|
||||
#: jellyfin_mpv_shim/gui_mgr.py:269
|
||||
@ -108,15 +108,15 @@ msgstr "服务器配置"
|
||||
|
||||
#: jellyfin_mpv_shim/gui_mgr.py:305
|
||||
msgid "Server:"
|
||||
msgstr "服务器地址:"
|
||||
msgstr "服务器:"
|
||||
|
||||
#: jellyfin_mpv_shim/gui_mgr.py:310
|
||||
msgid "Username:"
|
||||
msgstr "用户名:"
|
||||
msgstr "用户名:"
|
||||
|
||||
#: jellyfin_mpv_shim/gui_mgr.py:315
|
||||
msgid "Password:"
|
||||
msgstr "密码:"
|
||||
msgstr "密码:"
|
||||
|
||||
#: jellyfin_mpv_shim/gui_mgr.py:340
|
||||
msgid "Remove Server"
|
||||
@ -284,7 +284,7 @@ msgstr "选择转码质量"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:346
|
||||
msgid "Maximum"
|
||||
msgstr "Maximum"
|
||||
msgstr "最大"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:346 jellyfin_mpv_shim/menu.py:423
|
||||
msgid "No Transcode"
|
||||
@ -336,27 +336,27 @@ msgstr "中间"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:488
|
||||
msgid "Remote Transcode Quality: {0:0.1f} Mbps"
|
||||
msgstr "远程转码质量: {0:0.1f} Mbps"
|
||||
msgstr "远程转码质量:{0:0.1f} Mbps"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:494
|
||||
msgid "Subtitle Size: {0}"
|
||||
msgstr "字幕大小: {0}"
|
||||
msgstr "字幕大小:{0}"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:498
|
||||
msgid "Subtitle Position: {0}"
|
||||
msgstr "字幕位置: {0}"
|
||||
msgstr "字幕位置:{0}"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:502
|
||||
msgid "Subtitle Color: {0}"
|
||||
msgstr "字幕颜色: {0}"
|
||||
msgstr "字幕颜色:{0}"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:507
|
||||
msgid "Transcode H265 to H264"
|
||||
msgstr "将H265转码为H264"
|
||||
msgstr "将 H.265 转码为 H.264"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:509
|
||||
msgid "Transcode Hi10p to 8bit"
|
||||
msgstr "将Hi10p转码为8bit"
|
||||
msgstr "将 Hi10p 转码为 8bit"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:511
|
||||
msgid "Direct Paths"
|
||||
@ -364,7 +364,7 @@ msgstr "直链"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:512
|
||||
msgid "Transcode to H265"
|
||||
msgstr "转码为H265"
|
||||
msgstr "转码为 H.265"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:513
|
||||
msgid "Disable Direct Play"
|
||||
@ -380,7 +380,7 @@ msgstr "自动全屏"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:523
|
||||
msgid "Media Key Seek"
|
||||
msgstr "媒体密钥搜寻"
|
||||
msgstr "媒体密钥搜索"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:524
|
||||
msgid "Use Web Seek Pref"
|
||||
@ -400,7 +400,7 @@ msgstr "检查更新"
|
||||
|
||||
#: jellyfin_mpv_shim/menu.py:529
|
||||
msgid "Discord Rich Presence"
|
||||
msgstr "Discord细节呈现"
|
||||
msgstr "Discord 细节呈现"
|
||||
|
||||
#: jellyfin_mpv_shim/player.py:498
|
||||
msgid ""
|
||||
@ -412,7 +412,7 @@ msgstr ""
|
||||
|
||||
#: jellyfin_mpv_shim/player.py:849
|
||||
msgid "Season {0} - Episode {1}"
|
||||
msgstr "第{0}季第{1}集"
|
||||
msgstr "第 {0} 季第 {1} 集"
|
||||
|
||||
#: jellyfin_mpv_shim/svp_integration.py:45
|
||||
#: jellyfin_mpv_shim/svp_integration.py:58
|
||||
@ -425,11 +425,11 @@ msgstr "关闭"
|
||||
|
||||
#: jellyfin_mpv_shim/svp_integration.py:167
|
||||
msgid "Select SVP Profile"
|
||||
msgstr "选择SVP配置预设"
|
||||
msgstr "选择 SVP 配置预设"
|
||||
|
||||
#: jellyfin_mpv_shim/svp_integration.py:171
|
||||
msgid "SVP is Not Active"
|
||||
msgstr "SVP未激活"
|
||||
msgstr "SVP 未激活"
|
||||
|
||||
#: jellyfin_mpv_shim/svp_integration.py:173
|
||||
msgid "Disable"
|
||||
@ -441,27 +441,27 @@ msgstr "重试"
|
||||
|
||||
#: jellyfin_mpv_shim/svp_integration.py:180
|
||||
msgid "Enable SVP"
|
||||
msgstr "启用SVP"
|
||||
msgstr "启用 SVP"
|
||||
|
||||
#: jellyfin_mpv_shim/svp_integration.py:180
|
||||
msgid "SVP is Disabled"
|
||||
msgstr "SVP已禁用"
|
||||
msgstr "SVP 已禁用"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:21
|
||||
msgid "The specified SyncPlay group does not exist."
|
||||
msgstr "指定的SyncPlay组不存在。"
|
||||
msgstr "指定的 SyncPlay 组不存在。"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:22
|
||||
msgid "Creating SyncPlay groups is not allowed."
|
||||
msgstr "不允许创建SyncPlay组。"
|
||||
msgstr "不允许创建 SyncPlay 组。"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:23
|
||||
msgid "SyncPlay group access was denied."
|
||||
msgstr "SyncPlay组访问被拒绝。"
|
||||
msgstr "SyncPlay 组访问被拒绝。"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:24
|
||||
msgid "Access to the SyncPlay library was denied."
|
||||
msgstr "拒绝访问SyncPlay库。"
|
||||
msgstr "拒绝访问 SyncPlay 库。"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:150
|
||||
msgid "SpeedToSync (x{0})"
|
||||
@ -473,7 +473,7 @@ msgstr "同步已禁用(尝试次数过多)"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:169
|
||||
msgid "SkipToSync (x{0})"
|
||||
msgstr "跳过同步(x{0})"
|
||||
msgstr "跳过同步(x{0})"
|
||||
|
||||
#: jellyfin_mpv_shim/syncplay.py:230
|
||||
msgid "SyncPlay enabled."
|
||||
@ -525,35 +525,35 @@ msgstr " 强制"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:18
|
||||
msgid "Generic (FSRCNNX)"
|
||||
msgstr "通用超分辨率算法 (FSRCNNX)"
|
||||
msgstr "通用超分辨率算法(FSRCNNX)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:19
|
||||
msgid "Generic High (FSRCNNX x16)"
|
||||
msgstr "通用超分辨率算法 高倍率 (FSRCNNX x16)"
|
||||
msgstr "通用高倍率(FSRCNNX x16)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:20
|
||||
msgid "Anime4K x4 Faithful (For SD)"
|
||||
msgstr "Anime4K x4 Faithful 算法 (适用于标清动画)"
|
||||
msgstr "Anime4K x4 Faithful 算法(适用于标清动画)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:21
|
||||
msgid "Anime4K x4 Perceptual (For SD)"
|
||||
msgstr "Anime4K x4 Perceptual 算法 (适用于标清动画)"
|
||||
msgstr "Anime4K x4 Perceptual 算法(适用于标清动画)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:22
|
||||
msgid "Anime4K x4 Perceptual + Deblur (For SD)"
|
||||
msgstr "Anime4K x4 Perceptual + Deblur 算法 (适用于标清动画)"
|
||||
msgstr "Anime4K x4 Perceptual + Deblur 算法(适用于标清动画)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:25
|
||||
msgid "Anime4K x2 Faithful (For HD)"
|
||||
msgstr "Anime4K x2 Faithful 算法 (适用于高清动画)"
|
||||
msgstr "Anime4K x2 Faithful 算法(适用于高清动画)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:26
|
||||
msgid "Anime4K x2 Perceptual (For HD)"
|
||||
msgstr "Anime4K x2 Perceptual 算法 (适用于高清动画)"
|
||||
msgstr "Anime4K x2 Perceptual 算法(适用于高清动画)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:27
|
||||
msgid "Anime4K x2 Perceptual + Deblur (For HD)"
|
||||
msgstr "Anime4K x2 Perceptual + Deblur 算法 (适用于高清动画)"
|
||||
msgstr "Anime4K x2 Perceptual + Deblur 算法(适用于高清动画)"
|
||||
|
||||
#: jellyfin_mpv_shim/video_profile.py:184
|
||||
msgid "Select Shader Profile"
|
||||
|
@ -109,13 +109,20 @@ def get_profile(
|
||||
else:
|
||||
video_bitrate = settings.local_kbps
|
||||
|
||||
if settings.transcode_h265:
|
||||
if settings.force_video_codec:
|
||||
transcode_codecs = settings.force_video_codec
|
||||
elif settings.transcode_h265:
|
||||
transcode_codecs = "h264,mpeg4,mpeg2video"
|
||||
elif settings.transcode_to_h265:
|
||||
transcode_codecs = "h265,hevc,h264,mpeg4,mpeg2video"
|
||||
else:
|
||||
transcode_codecs = "h264,h265,hevc,mpeg4,mpeg2video"
|
||||
|
||||
if settings.force_audio_codec:
|
||||
audio_transcode_codecs = settings.force_audio_codec
|
||||
else:
|
||||
audio_transcode_codecs = "aac,mp3,ac3,opus,flac,vorbis"
|
||||
|
||||
profile = {
|
||||
"Name": USER_APP_NAME,
|
||||
"MaxStreamingBitrate": video_bitrate * 1000,
|
||||
@ -128,7 +135,7 @@ def get_profile(
|
||||
"Container": "ts",
|
||||
"Type": "Video",
|
||||
"Protocol": "hls",
|
||||
"AudioCodec": "aac,mp3,ac3,opus,flac,vorbis",
|
||||
"AudioCodec": audio_transcode_codecs,
|
||||
"VideoCodec": transcode_codecs,
|
||||
"MaxAudioChannels": "6",
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user