如何配置 VLC 以自动调整低分辨率文件的大小

如何配置 VLC 以自动调整低分辨率文件的大小

我通过 VLC 播放 320p/480p/720p 的混合内容,每次我打开其中一个较小的分辨率进行播放时,VLC 都会将窗口变小 - 我可以对其进行配置,以便如果内容低于 500p,则自动将缩放级别设置为 200%,这样窗口的大小与 100% 的 720p 内容的大小大致相同吗?

注意:我不是在寻找固定的窗口大小,因为这会破坏 4:3 视频和 16:9 的缩放比例,并且更希望它具有固定的 % 缩放比例,而不是固定的窗口大小,然后导致奇数大小的缩放。

答案1

使用以下工具可以实现这一点:

  • 自动热键
  • mediainfo.dll,与大多数视频播放器和编解码器一起发布,而且直接可用
    由于 AutoHotkey 是 32 位,因此请使用 32 位版本。

.ahk下面的 AutoHotkey 脚本骨架可以作为解决问题的文件的一部分:

video = "file-path"
DllCall( "LoadLibrary", Str,"MediaInfo.Dll" )
hnd := MediaInfo_New()
MediaInfo_Open( hnd, video )
height := MediaInfo_Get( hnd, 1,0, "Height", 1 )
MediaInfo_Close( hnd )

if (height < 500)
  Run, "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --zoom=2 %video%
else
  Run, "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" %video%

MediaInfo_New() {
 Return DllCall( "mediainfo\MediaInfo" ( A_IsUnicode ? "" : "A" ) "_New" )
}

MediaInfo_Open( hnd, MediaFile ) {
 Return DllCall( "mediainfo.dll\MediaInfo" ( A_IsUnicode ? "" : "A" ) "_Open", UInt,hnd
               , Str,MediaFile, UInt )
}

MediaInfo_Get( hnd, StrK=0, StrN=0, Comm="", InfK=0, Srch=0 ) {
 Return DllCall( "mediainfo.dll\MediaInfo" ( A_IsUnicode ? "" : "A" ) "_Get", UInt,hnd
               , Int,StrK, Int,StrN, Str,Comm, Int,InfK, Int,Sech, Str )
}

MediaInfo_Close( hnd ) {
 Return DllCall( "mediainfo\MediaInfo" ( A_IsUnicode ? "" : "A" ) "_Close", UInt,hnd )
}

该脚本基于 AutoHotkey 论坛帖子 获取视频长度和分辨率。文章中的脚本还展示了如何创建一个 AutoHotkey 窗口,该窗口对放置在此窗口上的文件进行操作。

请注意,我还没有测试过上述脚本。

相关内容