Novia: Arquivamento de Vídeos Simplificado e Integrado ao NOSTR
Novia é uma ferramenta inovadora que facilita o arquivamento de vídeos e sua integração com a rede NOSTR (Notes and Other Stuff Transmitted over Relay). Funcionando como uma ponte entre ferramentas de arquivamento de vídeo tradicionais e a plataforma descentralizada, Novia oferece uma solução autônoma para a preservação e compartilhamento de conteúdo audiovisual.
Arquitetura e Funcionamento
A arquitetura de Novia é dividida em duas partes principais:
-
Frontend: Atua como a interface do usuário, responsável por solicitar o arquivamento de vídeos. Essas solicitações são encaminhadas para o backend.
-
Backend: Processa as solicitações de arquivamento, baixando o vídeo, suas descrições e a imagem de capa associada. Este componente é conectado a um ou mais relays NOSTR, permitindo a indexação e descoberta do conteúdo arquivado.
O processo de arquivamento é automatizado: após o download, o vídeo fica disponível no frontend para que o usuário possa solicitar o upload para um servidor Blossom de sua escolha.
Como Utilizar Novia
-
Acesso: Navegue até https://@@26uz…mvg8.nsite.lol.
-
Login: Utilize uma extensão de navegador compatível com NOSTR para autenticar-se.
-
Execução via Docker: A forma mais simples de executar o backend é através de um container Docker. Execute o seguinte comando:
docker run -it --rm -p 9090:9090 -v ./nostr/data:/data --add-host=host.docker.internal:host-gateway teamnovia/noviaEste comando cria um container, mapeia a porta 9090 para o host e monta o diretório
./nostr/datapara persistir os dados.
Configuração Avançada
Novia oferece amplas opções de configuração através de um arquivo yaml. Abaixo, um exemplo comentado:
mediaStores:
- id: media
type: local
path: /data/media
watch: true
database: /data/novia.db
download:
enabled: true
ytdlpPath: yt-dlp
ytdlpCookies: ./cookies.txt
tempPath: /tmp
targetStoreId: media
secret: false
publish:
enabled: true
key: nsec
thumbnailUpload:
- https://nostr.download
videoUpload:
- url: https://nostr.download
maxUploadSizeMB: 300
cleanUpMaxAgeDays: 5
cleanUpKeepSizeUnderMB: 2
- url: https://files.v0l.io
maxUploadSizeMB: 300
cleanUpMaxAgeDays: 5
cleanUpKeepSizeUnderMB: 2
- url: https://nosto.re
maxUploadSizeMB: 300
cleanUpMaxAgeDays: 5
cleanUpKeepSizeUnderMB: 2
- url: https://blossom.primal.net
maxUploadSizeMB: 300
cleanUpMaxAgeDays: 5
cleanUpKeepSizeUnderMB: 2
relays:
- ws://host.docker.internal:4869
- wss://bostr.bitcointxoko.com
secret: false
autoUpload:
enabled: true
maxVideoSizeMB: 100
fetch:
enabled: false
fetchVideoLimitMB: 10
relays:
- <a relay with the video events to mirror>
match:
- nostr
- bitcoin
server:
port: 9090
enabled: true
Explicação das Configurações:
mediaStores: Define onde os arquivos de mídia serão armazenados (localmente, neste exemplo).database: Especifica o local do banco de dados.download: Controla as configurações de download de vídeos, incluindo o caminho para oyt-dlpe um arquivo de cookies para autenticação.publish: Configura a publicação de vídeos e thumbnails no NOSTR, incluindo a chave privada (nsec), servidores de upload e relays. Atenção: Mantenha sua chave privada em segredo.fetch: Permite buscar eventos de vídeo de relays NOSTR para arquivamento.server: Define as configurações do servidor web interno de Novia.
Conclusão
Novia surge como uma ferramenta promissora para o arquivamento e a integração de vídeos com o ecossistema NOSTR. Sua arquitetura modular, combinada com opções de configuração flexíveis, a tornam uma solução poderosa para usuários que buscam preservar e compartilhar conteúdo audiovisual de forma descentralizada e resistente à censura. A utilização de Docker simplifica a implantação e o gerenciamento da ferramenta. Para obter mais informações e explorar o código-fonte, visite o repositório do projeto no GitHub: https://github.com/teamnovia/novia.