如何更改 VLC 中的字幕偏移步长(默认 50 毫秒)?

Chr*_*phe 6 windows vlc-media-player

VLC 播放器 (Windows) 中默认的字幕偏移步长为 50 毫秒(热键为g/ h)。我希望它更大(例如 500 毫秒或 1 秒)。

有没有办法配置该值(无需重新编译)(首选项或注册表)?

编辑:

实际上,我找到了处理这个偏移量的代码(是的,它是硬编码的):

模块/控制/热键.c

        else if( i_action == ACTIONID_SUBDELAY_DOWN )
        {
            int64_t i_delay = var_GetTime( p_input, "spu-delay" );
            i_delay -= 50000;    /* 50 ms */
            var_SetTime( p_input, "spu-delay", i_delay );
            ClearChannels( p_intf, p_vout );
            DisplayMessage( p_vout, SPU_DEFAULT_CHANNEL,
                            _( "Subtitle delay %i ms" ),
                            (int)(i_delay/1000) );
        }
        else if( i_action == ACTIONID_SUBDELAY_UP )
        {
            int64_t i_delay = var_GetTime( p_input, "spu-delay" );
            i_delay += 50000;    /* 50 ms */
            var_SetTime( p_input, "spu-delay", i_delay );
            ClearChannels( p_intf, p_vout );
            DisplayMessage( p_vout, SPU_DEFAULT_CHANNEL,
                            _( "Subtitle delay %i ms" ),
                             (int)(i_delay/1000) );
        }
Run Code Online (Sandbox Code Playgroud)

我现在尝试在可执行文件中找到这段代码,但我不知道如何执行此操作。有什么帮助吗?

我还考虑了另一种选择,即重新编译所有内容,但我最终放弃了这个(在 Windows 上)......

ken*_*orb 1

如果你点击 G 或 H 几次,它就会增加。按 10 次按钮,就有 500 毫秒的时间。检查按住钥匙是否会产生影响。或者您可以在键盘快捷键中增加该值。

硬核方式:您可以下载Hex Workshop、TSearch 或任何其他可以附加到进程的十六进制编辑器,找到每 50ms 增加的值并尝试更改它。一旦找到正确的位置,还应该有一个指向更改值(50ms)的地址的指针。一旦在内存中找到它,您就可以轻松地在 EXE 文件中永久更改它。听起来很容易:)