Novia: Arquivamento de Vídeos Simplificado e Integrado ao NOSTR

Ferramenta de arquivamento de vídeos descentralizada para o NOSTR.
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

  1. Acesso: Navegue até https://@@26uz…mvg8.nsite.lol.

  2. Login: Utilize uma extensão de navegador compatível com NOSTR para autenticar-se.

  3. 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/novia
    

    Este comando cria um container, mapeia a porta 9090 para o host e monta o diretório ./nostr/data para 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 o yt-dlp e 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.


No comments yet.