今天我发布了一个想法,以在未来版本的 obs 中添加一些功能。想法听起来是这样的:
第一步 - 我们按下录制按钮。2 步 - 如果声级大于 >= 大于 ..x.. dB,那么它会s continue to recording. 3 step - if sound level less <= than ..x.. dB then it
暂停我们的录音。*它与过滤器相同 - 压缩器,但包括暂停\取消暂停功能。
一切都很简单!因为那个。如果我们录制一些长流,例如 3 多个小时。如果我们使用这种方法(或插件,或脚本),我们只能得到 15-45 分钟的视频,没有静音。因为它会被自动切割。只是没有记录下沉默的时刻。并且无需在 Sony Vegas 自己手动操作(很无聊)。
也许论坛主题已经包含这样的东西。如果是。请告诉我。
ps:我在网上查了很多资料。我发现这些东西可以手动自动跳转:
Time bolt - 站点 Vegas vegasaur - 插件 AutoJumpCut 1.0 - 程序 After effect - 脚本 Py autojumpcut - python ffmpeg 脚本
指导如何运行
- 打开 obs 并设置热键https://i.imgur.com/xjuOlIJ.jpg
- 在 ahk 论坛上下载声级检测库
我的错误 ahk 代码:
#Include 3.ahk
;https://autohotkey.com/board/topic/21984-vista-audio-control-functions/
Loop
{
;;;;;;;;;;;;;;;;;
; Get the device which we'll be monitoring.
device := VA_GetDevice("capture") ;playback capture
; Get IAudioClient interface.
VA_IMMDevice_Activate(device, IID_IAudioClient:="{1CB9AD4C-DBFA-4c32-B178-C2F568A703B2}", 7, 0, audioClient)
; Get mixer format to pass to Initialize.
VA_IAudioClient_GetMixFormat(audioClient, format)
; Initialize audio client to ensure peak meter is active.
VA_IAudioClient_Initialize(audioClient, 0, 0, 0, 0, format, 0)
; Get IAudioMeterInformation interface.
audioMeter := VA_GetAudioMeter(device)
; No longer needed, so free it:
MeterLength = 1 ;30
; "The peak value for each channel is recorded over one device
; period and made available during the subsequent device period."
VA_GetDevicePeriod("capture", devicePeriod)
Loop
{
VA_IAudioMeterInformation_GetPeakValue(audioMeter, peakValue)
;ToolTip, %peakValue%
b := peakValue * 1000
;SetFormat, Float, 0.2
ToolTip, %b%, 887, 944 ;tooooooooooooooooooooltip
;ToolTip % (peakValue * 1000)
;Sleep, %devicePeriod%
if b >= 20
{
ControlSend,, {-}, OBS
}
else
{
ControlSend,, {=}, OBS
}
}
;;;;;;;;;;;;;;;;;;;;;;
Sleep, 500
}
2::Pause
return
4::Reload
return
如果我们使用它 - 程序将崩溃。所以我们需要在obs中使用lua ..