Esta biblioteca pretende fornecer ligações para a biblioteca interna do obs-studio, denominada libobs respectivamente, com a finalidade de usá-la a partir de um tempo de execução de nó. Atualmente, apenas Windows e MacOS são suportados.
Você precisará ter o seguinte instalado:
Construir no Windows requer software adicional:
Usamos um script cmake flexível para ser o mais amplo e genérico possível, a fim de evitar a necessidade de gerenciar constantemente o script cmake para usos personalizados, ao mesmo tempo que fornecemos padrões sensatos. Ele segue um layout cmake bastante padrão e você pode executá-lo como quiser.
Exemplo:
yarn install
git submodule update --init --recursive
mkdir build
cd build
cmake .. -G"Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=%CD%/libobs-src/cmake/
cmake --build . --target install --config RelWithDebInfo
Isso irá baixar todas as dependências necessárias, construir o módulo e, em seguida, colocá-lo em um arquivo compatível com npm ou fio que você pode especificar em um determinado package.json.
Por padrão, baixamos uma versão pré-compilada de libobs se nenhuma for especificada. No entanto, esta versão pré-construída pode não ser o que você deseja usar ou talvez você esteja testando um novo recurso obs.
Você pode especificar seu próprio arquivo personalizado. No entanto, algumas alterações precisam ser feitas na configuração padrão do obs-studio antes de compilar:
ENABLE_SCRIPTING
deve ser definido como false
ENABLE_UI
deve ser definido como false
QTDIR
não deve ser especificado porque não é usado.Se você não sabe como construir o obs-studio a partir do código-fonte, você pode encontrar instruções aqui.
Instale o cppcheck de http://cppcheck.sourceforge.net/ e adicione a pasta cppcheck ao PATH Para executar a verificação na linha de comando:
cd build
cmake --build . --target CPPCHECK
O destino também pode ser criado a partir do Visula Studio. Formato de saída do relatório definido como compatível e navegação para arquivo: linha possível no painel de resultados de construção.
Alguns avisos suprimidos nos arquivos obs-studio-client/cppcheck_suppressions_list.txt
e obs-studio-server/cppcheck_suppressions_list.txt
.
Ninja
e LLVM
devem ser instalados no sistema. Aviso: depot_tool quebrou o ninja.
Para fazer a compilação abrir cmd.exe
.
mkdir build_clang
cd build_clang
"c:Program Files (x86)Microsoft Visual Studio 14.0VCbinamd64vcvars64.bat"
set CCC_CC=clang-cl
set CCC_CXX=clang-cl
set CC=ccc-analyzer.bat
set CXX=c++-analyzer.bat
#set CCC_ANALYZER_VERBOSE=1
#make ninja project
cmake -G "Ninja" -DCLANG_ANALYZE_CONFIG=1 -DCMAKE_INSTALL_PREFIX:PATH="" -DCMAKE_LINKER=lld-link -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_SYSTEM_NAME="Generic" -DCMAKE_MAKE_PROGRAM=ninja.exe ..
#try to build and "fix" errors
ninja.exe
#clean build to scan
ninja.exe clean
scan-build --keep-empty -internal-stats -stats -v -v -v -o check ninja.exe
A etapa de "fixing"
erros é importante porque a base de código e especialmente o código de terceiros não estão prontos para serem construídos com clang. E os arquivos que não foram compilados não serão verificados em busca de erros.
Os testes para o nó obs studio são escritos em Typescript e usam Mocha como estrutura de teste, com pacote elétron-mocha para fazer o Mocha rodar em Electron e Chai como estrutura de asserção.
Você precisa construir o obs-studio-node para executar os testes. Você pode construí-lo da maneira que quiser, apenas certifique-se de usar CMAKE_INSTALL_PREFIX
para instalar o obs-studio-node em uma pasta de sua escolha. Os testes utilizam esta variável para saber onde está o módulo obs-studio-node. Como usamos nosso próprio fork do Electron, você também precisa criar uma variável de ambiente chamada ELECTRON_PATH
apontando para onde o binário do Electron está na pasta node_modules após executar yarn install
. Abaixo estão três maneiras diferentes de construir obs-studio-node:
Na pasta raiz obs-studio-node:
yarn install
git submodule update --init --recursive --force
mkdir build
cmake -Bbuild -H. -G"Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="path_of_your_choosing"
cmake --build build --target install
Na pasta raiz obs-studio-node:
mkdir build
yarn local:config
yarn local:build
yarn local:clean
yarn install
Where is the source code:
Where to build the binaries:
Configure
Generate
Open Project
para abrir o Visual Studio e criar o projeto lá Alguns testes interagem com o Twitch e usamos um serviço de pool de usuários para obter usuários, mas caso não consigamos buscar um usuário dele, usamos a chave de stream fornecida por uma variável de ambiente. Crie uma variável de ambiente chamada SLOBS_BE_STREAMKEY com a chave de stream de uma conta Twitch de sua escolha.
yarn run test
yarn run test --grep describe_name_value
describe_name_value
é o nome do teste passado para a chamada de descrição em cada arquivo de teste. Exemplos: yarn run test --grep nodeobs_api
ou yarn run test -g "Start streaming"