菜姬
发表于 2022-4-27 15:40:15
tonyhsie 发表于 2022-4-27 13:38
現在有些怪物級 ass 動輒幾十M
字幕特效太龐大,無法實時渲染
能直接生成sup 只要输出文件名是.sup后缀就会输出sup
tonyhsie
发表于 2022-4-27 19:14:26
菜姬 发表于 2022-4-27 15:40
能直接生成sup 只要输出文件名是.sup后缀就会输出sup
ass2bdnxml 用了感覺還不錯,雖然 27M 的 ass 轉出來變成 500M 的 sup 有點嚇人
不過至少可以即時正常播放了
菜姬
发表于 2022-4-27 19:33:14
tonyhsie 发表于 2022-4-27 19:14
ass2bdnxml 用了感覺還不錯,雖然 27M 的 ass 轉出來變成 500M 的 sup 有點嚇人
不過至少可以即時正常播 ...
像特效这种动的多的 每帧基本得一张图 感觉有点无解
b8b41e3c
发表于 2022-4-27 20:20:08
本帖最后由 b8b41e3c 于 2022-4-27 20:46 编辑
菜姬 发表于 2022-4-27 19:33
像特效这种动的多的 每帧基本得一张图 感觉有点无解
暂时不冒风险了,参数也不完全兼容,我这个用到了
spp2pgs的-s -r -x参数而且他-r是支持向下取整的
不知道你这个怎么转换,而且你还在迭代吧,等比较稳定了再切换。
另外如果能在github提供linux版本的二进制就更好了 (
菜姬
发表于 2022-4-27 21:29:08
b8b41e3c 发表于 2022-4-27 20:20
暂时不冒风险了,参数也不完全兼容,我这个用到了
spp2pgs的-s -r -x参数而且他-r是支持向下取整的
https://github.com/Masaiki/ass2bdnxml/releases/tag/1.02
b8b41e3c
发表于 2022-4-27 22:28:26
本帖最后由 b8b41e3c 于 2022-4-28 00:11 编辑
菜姬 发表于 2022-4-27 21:29
https://github.com/Masaiki/ass2bdnxml/releases/tag/1.02
多谢提供,我已经决定开始适配了。
更新:v3.5.4已用ass2bdnxml替换原有的spp2pgs进行ass转pgs.
b8b41e3c
发表于 2022-4-28 11:08:24
本帖最后由 b8b41e3c 于 2022-4-29 23:06 编辑
fuyouquan 发表于 2022-4-27 14:55
假设我的视频分辨率比是4:3,ass字幕脚本也是4:3,转成sup字幕会不会出现字幕定位超出画框的情况(ass字幕 ...
新版适配的ass2pgs支持手动设置分辨率了,你可以实际用用看。
更新:好像手动设置分辨率不起作用,会自动降到很低的分辨率,哪怕是1920*1080
再更新:问题已修复
b8b41e3c
发表于 2022-4-28 15:38:18
本帖最后由 b8b41e3c 于 2022-4-28 16:00 编辑
菜姬 发表于 2022-4-27 21:29
https://github.com/Masaiki/ass2bdnxml/releases/tag/1.02
sscanf(video_format,"%d*%d", &s_info->i_width, &s_info->i_width)
这里有问题,导致自定义分辨率工作不正常。
菜姬
发表于 2022-4-28 19:48:39
b8b41e3c 发表于 2022-4-28 15:38
这里有问题,导致自定义分辨率工作不正常。
(手残了 已经修了
b8b41e3c
发表于 2022-4-28 19:51:51
本帖最后由 b8b41e3c 于 2022-4-28 22:56 编辑
菜姬 发表于 2022-4-28 19:48
(手残了 已经修了
{:12_853:}
ps:1.0.3的二进制问题依旧
原因是如下代码:
p_param->i_height = ass->PlayResY;
p_param->i_width = ass->PlayResX;
if (!s_info->i_width || !s_info->i_height)
当字幕里有PlayResY或PlayResX的时候,a*b的方式始终不起作用。
修复方法:将
if (!s_info->i_width || !s_info->i_height)
{
if (sscanf(video_format,"%d*%d", &s_info->i_width, &s_info->i_height) != 2){
fprintf(stderr, "Error: Invalid video_format (%s).\n", video_format);
return 1;
}
}
改为
if (!(sscanf(video_format, "%d*%d", &s_info->i_width, &s_info->i_height) == 2 && s_info->i_width * s_info->i_height > 0)) {
fprintf(stderr, "Error: Invalid video_format (%s).\n", video_format);
return 1;
}另外,按照github上的方法编译不是静态的,,该如何生成静态编译的成品呢?
页:
1
2
3
[4]
5
6
7
8
9
10
11
12
13