Utilizando o Zoom para transmissões – Configurações básicas
2025, 5 anos do início da pandemia, e ainda temos pessoas que erram o básico na configuração de um zoom para transmissão. Sabe aquela reclamação “tá quadriculado!” ou “áudio tá baixo!” ou “cadê a música?”, eu vou te ensinar a nunca mais ter. E de bonus vai uma dica de ouro pro VMix pra parar de ter reclamações de eco.
Vamos começar pela qualidade de imagem e vamos da configuração básica até a mitigação de quando não tem o que fazer.
A primeira coisa importantíssima para o zoom é: saiba quem é o dono da reunião e se possível, seja o dono da conta.
Sendo o dono da conta ou tendo acesso como administrador, basta seguir as instruções desse link, o mundo ideal, você está numa conta business e vai conseguir habilitar o Full HD, se esse for seu caso eu te garanto que nunca mais terá problemas de qualidade caso o resto dos requisitos seja atendido. Se você conseguir habilitar o HD apenas, suas dores de cabeça vão diminuir, mas, nem tanto. Caso tenha interesse entre em contato que eu loco contas para eventos com o Full HD habilitado e você pode pagar só pelos addons necessários (big meeting e webinar).
Tendo a conta configurada corretamente e no caso de meeting a política de grupo criada e pros webinars a opção de HD ou Full HD habilitada, agora vamos pro client. É importante lembrar que existem configurações mínimas de hardware que são listadas no link que passei anteriormente.
Nas configurações de câmera do Zoom essas duas opções devem estar ativadas.

Agora, vamos pra situação “deu merda”, que é raro, mas, acontece muito. A melhor saída é iniciar um compartilhamento de tela com o PGM.

Iniciado esse compartilhamento você vai ter que alternar manualmente essa opção listada, “optimize for video sharing”, com isso você alterna entre a fluidez de 30 fps numa resolução mais baixa para horas de apenas movimento e quando desabilita a opção fica com maior resolução, mas, com algo em torno de 5 a 10 fps, que da uma imagem que fica travando.
A minha experiência com eventos corporativos é que essa solução não gera nem feedback depois, contanto que seja aplicada assim que a primeira reclamação de qualidade vier.
Agora vamos pro áudio:

Aqui devemos deixar a opção “Automatically adjust microphone volume” desabilitada, é comum o zoom alterar o volume, deixar ele lá em baixo e você fica que nem louco tentando descobrir o motivo.
No audio profile marcamos o “Original sound for musicians”, habilitamos o “High fidelity music mode” pra que a qualidade do áudio seja maior, deixamos o “Echo cancellation” marcado pro zoom dar uma ajudada a eliminar o eco de retorno e marcamos “Stereo audio”, pra enviar o áudio estéreo.
Depois disso, na reunião, você tem que manter esse botão marcado como “on”:

Eu não identifiquei o que faz isso, mas, é bom ficar de olho pois além de, por padrão, ele iniciar a reunião em off, ele também desliga aleatoriamente conforme algumas ações no Zoom em si, então, se está operando o Zoom da máquina encoder, lembre-se de tempos em tempos verificar se tá ok.
E agora vamos pra dica do VMix final. O grande lance da junção zoom + vmix que fazemos é que o vmix adiciona em torno de 120 a 180ms de delay no áudio, isso faz com que o filtro de eco do Zoom não seja efetivo e o ideal seria ter um sidechain compressor ou ducking. Infelizmente o vmix não oferece isso diretamente, mas, tempos o famoso scripting:
— Obrigado ao Kirill Kudryavtsev @ kin0shkin de https://sbtg.ru/ pelo script!
‘— Inicio script
dim translateInput as string = “Input Audio Zoom” ‘Nome do input com o audio da traducao
dim origInput as string = “Audio Estudio” ‘Nome do input com o audio do estudio
dim volumeStandart as string = “100” ‘Volume padrao do input estudio
dim fadeTimeStandart as string = “1200” ‘duracao do fade de audio pra quando silencio eh detectado na traducao
dim volumeSpeaking as string = “60” ‘Volume que o input do estudio fica quando algum remoto fala
dim fadeTimeSpeaking as string = “200” ‘duracao do fade pra quando o remoto inicia a fala
dim voicethreshold as string = “0.05”
dim checkingIter as integer = 10
dim checkingIterTime as integer = 200 ‘intervalo de duracao do loop, ideal entre 100 e 200
‘—- End of settings —-
dim voicemeter as string = “”
dim speaking as boolean = false
dim silence as boolean = false
dim silencechecking as integer = 0
dim muted as boolean = false
do while true
dim xml as string = API.XML()
dim x as new system.xml.xmldocument
x.loadxml(xml)
voicemeter = (x.SelectSingleNode(“//input[@title='”& translateInput &”‘]/@meterF1”).Value)
if (x.SelectSingleNode(“//input[@title='”& translateInput &”‘]/@meterF2”).Value) > voicemeter
voicemeter = (x.SelectSingleNode(“//input[@title='”& translateInput &”‘]/@meterF2”).Value)
end if
muted = (x.SelectSingleNode(“//input[@title='”& translateInput &”‘]/@muted”).Value)
‘API.Function(“SetText”,Input:=”TextInput”,SelectedName:=”Timer.Text” ,Value:=voicemeter)
‘console.writeline(voicemeter)
if voicemeter > voicethreshold And voicemeter.IndexOfAny(“[E]”.ToCharArray) = -1 And Not muted
if silencechecking >= checkingIter ‘<> 0 ‘!=
‘console.writeline(“Speaking”)
silencechecking = 0
‘API.Function(“SetTextColour”,Input:=”TextInput”,SelectedName:=”Timer.Text”,Value:=”yellow”)
‘API.Function(“SetText”,Input:=”TextInput”,SelectedName:=”Timer.Text” ,Value:=”Перевод говорит! ” + voicemeter)
Input.Find(origInput).Function(“SetVolumeFade”, volumeSpeaking + “,” + fadeTimeSpeaking)
end if
‘console.writeline(silencechecking)
else
if silencechecking < checkingIter
silencechecking += 1
end if
if silencechecking = checkingIter
‘console.writeline(“Silence”)
‘API.Function(“SetTextColour”,Input:=”TextInput”,SelectedName:=”Timer.Text”,Value:=”white”)
‘API.Function(“SetText”,Input:=”TextInput”,SelectedName:=”Timer.Text” ,Value:=”Перевод молчит! ” + voicemeter)
Input.Find(origInput).Function(“SetVolumeFade”, volumeStandart + “,” + fadeTimeStandart)
silencechecking = checkingIter + 1
end if
‘console.writeline(silencechecking)
end if
sleep(checkingIterTime)
Loop
‘— End Script
As principais linhas pra editar nesse script são:
dim translateInput as string = "Input Audio Zoom" ‘Nome do input com o audio da colaboracao remota
Coloque o nome do input que vem a colaboração remota.
dim origInput as string = "Audio Estudio" 'Nome do input com o audio do estudio
Coloque o nome do input com o áudio vindo do estúdio.
dim volumeSpeaking as string = "60" 'Volume que o input do estudio fica quando algum remoto fala
Configure conforme seu gosto, quão baixo o volume do estúdio deve ir quando alguém remoto fala.
O que esse script faz é, sempre que a pessoa remota fala algo, o áudio do estúdio é diminuído automáticamente, assim, a captação que ocorre do som atrasado dessa pessoa remota não sai no sinal de ida pro colaborador remoto e o problema de eco acaba.
No comments
Be the first to comment.