Esta é uma ferramenta completa para gravação e transmissão no Bilibili. Suporta conversão de barragem e supressão de vídeo e upload para Bilibili. Também suporta webhooks de Recorder e blrec.
Se você é um gravador em busca de ferramentas de conversão de barragem xml, supressão de barragem e upload de webhook, se você é um fatiador em busca de uma ferramenta para baixar vídeos do site B e se está cansado de uploads multi-p no site B , você pode experimentar este software.
A intenção original de fazer esta ferramenta é resolver a fragmentação das ferramentas de gravação e transmissão. Muitas vezes, se você deseja processar completamente uma gravação e transmissão com barragem, é necessário usar a cooperação de vários softwares. aumenta a dificuldade de uso.
Você pode ver o tutorial de uso na Estação B
Se você usou este software, espero que marque o endereço do armazém na introdução ou mantenha a tag padrão. Este software não possui nenhum rastreamento de dados. Gostaria de saber aproximadamente os usuários e sua situação.
Histórico de atualizações
Suporta processamento automatizado de webhook para Recorder e blrec
Suporta conversão Danmufactory GUI barrage xml
Suporte ao fatiamento baseado em barragens
Submissão sub-P da estação B de suporte
Suporta vídeo e supressão de barragem
Suporta transcodificação e transcapsulação ffmpeg
Suporte para download de vídeo da estação B
Suporta gravação Douyu e downloads de barragem
Não há pacote de instalação do MacOS fornecido. Se precisar, você mesmo pode compilá-lo. Os arquivos binários usados precisam ser substituídos durante a compilação.
Como não estou desenvolvendo em Linux, a cobertura do teste não é limitada. Se houver algum problema, você pode levantar um problema.
Documentação de referência de uso da CLI
Endereço para download: https://github.com/renmu123/biliLive-tools/releases
Backup: https://www.alipan.com/s/iRyhxjdqGeL
Esta função é usada principalmente para resolver o problema de segmentos de gravação e transmissão cortados em vários segmentos devido a configurações de rede ou segmentação.
Depois de ligado, uma transmissão ao vivo do host será enviada para o mesmo vídeo. A definição de uma transmissão ao vivo: para o mesmo host, se houver uma diferença de n minutos entre o tempo de criação deste arquivo e o final. tempo de gravação do arquivo anterior (usando configuração), então Ele é definido como uma transmissão ao vivo, e a definição de sessão no webhook como Luboji não será usada.
Depois de ativar a gravação ou alternar a chave repetidamente, podem ocorrer erros estranhos.
Se ocorrer um bug, ajuste o nível de log nas configurações para debug
reproduzi-lo e fornecer feedback.
DanmakuFactory é usado como a camada inferior da conversão de barragem xml. A barragem da Estação B é confirmada como utilizável.
Alguns recursos, como resolução adaptativa
Usado para renderizar parcialmente vídeos com barragem, suportando importação de projetos sem perdas
ctrl+s
salvar no projeto llc
ctrl+shift+s
salvar como projeto LLC
ctrl+enter
para exportar
ctrl+z
desfazer
ctrl+shift+z
refazer
I
inicio o segmento atual no horário atual
O
termina o segmento atual no horário atual
up
do clipe anterior
down
segmento
del
excluir fragmento
space
reproduzir/pausar
ctrl+left
volta 1 segundo
ctrl+right
avança 1 segundo
ctrl+k
alternar visualização
Ao usar a função de notificação, guarde todas as informações de maneira adequada e não as compartilhe com outras pessoas. Este software não enviará nenhuma informação a nenhum servidor.
Use o serviço smtp para enviar e-mails Os parâmetros de cada provedor de serviço de e-mail são diferentes.
Serer Jiang oferece suporte a informações push gratuitas para WeChat móvel, e contas gratuitas têm restrições.
Site oficial: https://sct.ftqq.com/
O proxy do sistema é usado por padrão ao enviar informações usando tg bot.
Para construir o tg bot, encontre tutoriais por conta própria.
Site oficial: https://docs.ntfy.sh/
Se quiser acessar funções relacionadas ao webhook, você pode construir parâmetros e chamar a interface sozinho, usar o método post
, a porta é /webhook/custom
e retornar http code=200 imediatamente após recebê-lo.
Parâmetros: event
: FileClosed
| FileOpening
(Se desejar usar a função de retomada, envie o evento FileOpening
dentro do intervalo de tempo definido após o último evento FileClosed
)
filePath
: o caminho absoluto do arquivo de vídeo coverPath
: o caminho absoluto da capa do vídeo Se estiver vazio, um arquivo com o mesmo sufixo jpg
do nome do arquivo de vídeo será lido.
danmuPath
: arquivo xml
da barragem de vídeo Se estiver vazio, um arquivo xml
com o mesmo nome do arquivo de vídeo será lido.
roomId
: tipo numérico, número da sala, usado para retomar a transmissão
time
: hora usada para formatação do título, exemplo: "2021-05-14T17:52:54.946"
title
: título, usado para formatar o título do vídeo
username
: nome do host, usado para formatar o título do vídeo
Os seguintes parâmetros são usados para a função de análise de barragem. Se não for necessário, algumas barragens que contêm metadados (consulte blrec) serão analisadas automaticamente, como a platform
de barragem gerada por Danmakuji ou blrec ou douyu-cli (0.6.1). e acima). :Plataforma, se for Bilibili, é recomendado como bilibili
, Douyu recomenda como douyu
, na verdade, você pode preencher qualquer coisa.
live_start_time
: hora de início da transmissão ao vivo, exemplo: "2021-05-14T17:52:54.946" live_title
: título da transmissão ao vivo
Exemplo:
curl --location 'http://127.0.0.1:18010/webhook/custom' --header 'Tipo de conteúdo: aplicativo/json' --data '{ "event":"FileClosed", "filePath":"D:\aa.mp4", "coverPath":"D:\aa.jpg", "danmuPath":"D:\ aa.xml", "roomId":93589, "time":"2021-05-14T17:52:54.946", "title":"Eu sou um porco", "username":"djw"}'
Você pode instalá-lo usando binários ou npm i bililive-cli -g
.
Página de referência específica do documento
Se este projeto for útil para você, compre-me uma garrafa de água feliz para ajudar a manter o projeto melhor.
Afdian: https://afdian.com/a/renmu123
Você também pode recarregar minha conta Bilibili
A partir da versão 1.5.0, o título do Webhook suporta o mecanismo de modelo ejs. Consulte a documentação para obter a sintaxe específica. Se o título exceder 80 palavras, ele será automaticamente truncado e o mecanismo {{}}
modelo será executado primeiro. {{}}
o espaço reservado será substituído. Se houver um erro gramatical, será ignorado e carregado primeiro.
//A seguir estão os parâmetros que suportam injeção{ title: string; // Título da sala de transmissão ao vivo user: string; // Nome do host hora: // Hora de início da transmissão ao vivo roomId: number |
Exemplo: <%= user %>-<%= time.getFullYear() %><%= String(time.getMonth() + 1).padStart(2, "0") %>直播录像
: djw-202408直播录像
eu também não sei
Se você é um novato, primeiro selecione a codificação correspondente de acordo com seu próprio hardware. Recomenda-se usar os parâmetros padrão dos modos de qualidade, como crf ou cq. Após a compactação, verifique o tamanho do vídeo, o tempo de compactação e a qualidade da imagem. em seguida, ajuste os parâmetros para atender às suas necessidades. De acordo com os requisitos, não há melhores parâmetros, apenas os parâmetros mais adequados. Diferentes vídeos e diferentes cenas podem ter diferentes parâmetros adequados.
Para avançar, procure tutoriais relacionados ao ffmpeg.
Tente atualizar o driver da placa gráfica. Se ainda não puder ser usado após a atualização para a versão mais recente, tente alterar manualmente o arquivo executável ffmpeg para 6.0 ou use uma versão inferior a 1.0.0.
Contando com os dois webhhooks “Criação de arquivo de vídeo” e “Completação de arquivo de vídeo”, é recomendado verificar diretamente todos os eventos.
Por favor, desligue esta função e use a função "transcapturar para mp4" deste software
A tarefa de upload é dividida em três etapas, e apenas a segunda etapa suporta pausa:
Obtenha informações básicas de upload
Upload de fatia de arquivo
Mesclar arquivos e chamar a interface de envio
A tarefa de download é dividida em três etapas, e apenas a segunda etapa suporta pausa:
Obtenha informações básicas sobre arquivos baixados
Download de fatia de arquivo
Mesclagem de arquivos
Esta função consultará os primeiros 20 manuscritos no centro de submissão a cada dez minutos. Se você enviar um manuscrito para este software e tiver os comentários automáticos ativados para manuscritos revisados não renováveis, serão feitos comentários automáticos se o status de um manuscrito estiver dentro. 24 horas não é. Se a revisão for aprovada, o manuscrito será retirado da fila.
Se o seu manuscrito não atende às condições acima, mas não foi submetido, registre um problema.
Entre na fila e visualize a taxa na última coluna da tarefa. Você pode ajustar os parâmetros de supressão com base na taxa.
Verifique o log após a supressão
Atualmente, o número máximo de tarefas ffmepg e tarefas de download de vídeo Douyu são suportados. Eles podem ser definidos em "Configurações-Tarefas-FFmpeg Número máximo de tarefas".
As tarefas pausadas manualmente não serão iniciadas automaticamente
As tarefas da barra de progresso de alta energia serão automatizadas porque serão muito rápidas
O pacote zip não é um pacote verde no sentido tradicional. Os arquivos de dados e do pacote de instalação não são armazenados na mesma pasta. Se você tentar usar o pacote de instalação e depois usar o pacote compactado, o caminho do arquivo binário pode ser. incorreto e não pode ser usado. Tente modificar o caminho binário manualmente nas configurações.
Se quiser colocar os dados na mesma pasta, crie um arquivo portable
na pasta onde está o arquivo executável, sem extensão como .txt
. Reinicie o aplicativo após alterá-lo. Se necessário, faça backup das configurações em. as configurações antes de criar um novo arquivo.
Por favor, não modifique a configuração correspondente após o início da transmissão ao vivo, como título, retomada da transmissão e outras configurações. Esta transmissão ao vivo pode não ter efeito.
Suporte ao uso de ffmpeg para suprimir barragens em arquivos de vídeo
Página de ferramentas
Suporta diferentes configurações de CPU, GPU e configurações relacionadas de ffmpeg
Suporta o uso do danmufactory para processar automaticamente arquivos xml e suprimi-los
Página de ferramentas, GUI do danmufactory
Página de ferramentas, reempacotamento de flv
Suporta fusão de vídeo
Página de download
Suporte para fatiamento
Registros de log e exibição
Configure a persistência e suprima barras de progresso de alta energia
Suporte para upload de estação B
Remover dependência de arquivo binário biliup
Suporte sub-p
Suporte a múltiplas contas
suporte para webhook
Suporte para webhook Luboji
suporte para webhook blrec
Suporta upload automático
Supressão de barragem de suporte
retomar a transmissão
Suporta ffmpeg e ffprobe personalizados
Gravação Douyu
Análise de barragem
Grupo de comunicação: 872011161
Use a versão 20 do nó e superior.
$pnpm instalar $ pnpm execute instalação:bin
A função弹幕分析
depende de better-sqlite3
. Se você não conseguir compilar e instalar, tente instalar as ferramentas relacionadas a c++ em visual-studio2022 e python3 (talvez). Se você for Win, também poderá encontrar erros como cause=fork/exec %1 is not a valid Win32 application.
Modifique o arquivo de origem pnpm de acordo com os prompts. Se o aplicativo não puder ser iniciado, tente usar a reconstrução eletrônica. Se você ainda não conseguir instalá-lo no final, tente executar node scriptsgithub-ci-better-sqlite3.js
no diretório raiz do projeto para instalar as dependências manualmente.
Se a instalação das dependências binárias falhar ou sua plataforma não for suportada, tente baixar e instalar as dependências binárias manualmente.
Crie uma nova pasta packagesappresourcesbin
, que requer três arquivos. Ao mesmo tempo, você precisa definir o endereço do arquivo executável relevante nas configurações do aplicativo.
Versão autocompilada DanmukuFactory.exe
ffmpeg.exe
n7.0
ffprobe.exe
n7.0
pnpm run dev
# Aplicativo APP $ pnpm run build:app # Aplicativo APP sem arquivo binário ffmpeg $ pnpm run build:app:no-ffmpeg # Aplicativo CLI $ pnpm run build:cli
GPLv3