我通过 VLC 播放 320p/480p/720p 的混合内容,每次我打开其中一个较小的分辨率进行播放时,VLC 都会将窗口变小 - 我可以对其进行配置,以便如果内容低于 500p,则自动将缩放级别设置为 200%,这样窗口的大小与 100% 的 720p 内容的大小大致相同吗?
注意:我不是在寻找固定的窗口大小,因为这会破坏 4:3 视频和 16:9 的缩放比例,并且更希望它具有固定的 % 缩放比例,而不是固定的窗口大小,然后导致奇数大小的缩放。
答案1
使用以下工具可以实现这一点:
.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 窗口,该窗口对放置在此窗口上的文件进行操作。
请注意,我还没有测试过上述脚本。