Lançamento do PeerTube v6
(framablog.org)- O PeerTube, desenvolvido pela organização sem fins lucrativos Framasoft, é voltado a criadores, veículos de mídia, instituições e educadores que desejam operar sua própria plataforma de vídeos como alternativa ao YouTube e à Twitch
- O v6, lançado após o v5.1 e o v5.2 em 2023, é o sexto grande lançamento e incorpora ideias do site de feedback dos usuários
- A transcodificação remota do v5.2 é um recurso-base que transfere tarefas de conversão intensivas em CPU para outro servidor, reduzindo custos operacionais e a carga sobre os recursos
- O v6 amplia recursos que criadores e espectadores percebem de imediato, como proteção por senha, prévia em storyboard, reenvio de vídeos e adição de capítulos
- Com testes e otimizações de desempenho, remoção do WebTorrent e foco em HLS·WebRTC P2P, o PeerTube melhora ao mesmo tempo a experiência de administradores e espectadores
O que é o PeerTube v6
- O PeerTube é um software desenvolvido pela Framasoft para que criadores, veículos de mídia, instituições e educadores possam administrar sua própria plataforma de vídeos como alternativa ao YouTube e à Twitch
- O v6 é a sexta versão principal e é apresentado como o lançamento mais ambicioso desde a adição de livestreaming peer-to-peer
- Os novos recursos foram desenvolvidos com base em ideias de usuários propostas e votadas no site de feedback do PeerTube
- A Framasoft pretende publicar em duas semanas uma notícia separada sobre a história do PeerTube, o estado do projeto e os próximos planos
Mudanças que continuam a partir do v5.1 e v5.2 em 2023
-
PeerTube v5.1
- Em março de 2023, o PeerTube v5.1 adicionou um recurso para que administradores de instâncias possam gerenciar e revisar solicitações de conta
- Foi incluído um botão de voltar ao ao vivo para retornar ao ponto atual da transmissão em situações de atraso no livestream
- Os plugins de autenticação também foram melhorados para facilitar o login com credenciais externas
-
PeerTube v5.2
- Em junho de 2023, o PeerTube v5.2 adaptou o feed RSS dos canais do PeerTube ao padrão de podcast para que clientes de podcast possam lê-los
- Streamers podem definir antecipadamente a visibilidade do replay da live como Public, Unlisted, Private ou Internal
- A navegação sem mouse para usuários que navegam por teclado foi melhorada
- A documentação também foi reforçada
Como a transcodificação remota reduz a carga operacional
- O principal recurso do v5.2 é a transcodificação remota
- O PeerTube precisa converter vídeos enviados ou transmissões ao vivo para formatos eficientes, e esse trabalho consome muitos recursos de CPU
- Antes, operadores precisavam preparar servidores com CPU de alto desempenho até para tarefas que não eram necessárias o tempo todo
- A transcodificação remota permite transferir parte ou todo o trabalho de conversão para outro servidor mais potente
- Esse servidor também pode ser compartilhado por vários administradores
- Esse recurso torna a operação do PeerTube mais barata e resiliente, além de aumentar a eficiência energética e a possibilidade de compartilhamento de recursos entre comunidades
- As melhorias técnicas contaram com apoio financeiro do programa NGI Entrust e da fundação NLnet
Recursos adicionados para usuários no v6
-
Vídeos protegidos por senha
- Criadores com conta no PeerTube podem definir uma senha única ao enviar, importar ou alterar as configurações de um vídeo
- Isso pode ser usado para oferecer conteúdo exclusivo, liberar etapas de cursos educacionais ou compartilhar de forma restrita com pessoas de confiança
- Com a REST API, administradores e desenvolvedores podem definir e armazenar várias senhas, facilitando conceder e revogar acesso
- Esse recurso foi desenvolvido por Wicklow durante um estágio na Framasoft
-
Prévia em storyboard
- O v6 adiciona o recurso de storyboard, que mostra miniaturas de frames ao passar o mouse ou o dedo sobre a barra de progresso
- O storyboard é gerado ao enviar ou importar um vídeo, então passa a vir por padrão em novos vídeos de instâncias atualizadas para o v6
- Para vídeos existentes, administradores podem gerar storyboards executando o comando
npm run create-generate-storyboard-job - Esse trabalho pode consumir recursos de CPU
-
Reenvio de vídeos
- Criadores podem substituir um arquivo de vídeo existente por uma nova versão para corrigir erros, adicionar novas informações ou oferecer uma edição melhor
- Ao substituir, o arquivo de vídeo anterior é apagado permanentemente, mas URL, título, informações, comentários e estatísticas são mantidos
- Esse recurso exige confiança entre produtores de vídeo e administradores, por isso só pode ser usado se o administrador o ativar na plataforma PeerTube
- Vídeos atualizados exibem a tag Video re-upload
-
Adição de capítulos
- Criadores podem definir o timecode e o título de cada capítulo na nova aba de chapters da página de configurações do vídeo
- Ao importar vídeos de outras plataformas, o PeerTube pode reconhecer e importar automaticamente os capítulos do vídeo original
- Quando os capítulos são configurados, a barra de progresso é dividida por seções e o título do capítulo é mostrado ao passar o mouse ou tocar na seção correspondente
Testes e otimizações de desempenho
- Em 2022, foram realizados testes de carga de livestreaming com mais de 400 espectadores simultâneos por meio da transmissão Au Poste ! do jornalista independente francês David Dufresne e da hospedagem da Octopuce
- Em 2023, decidiu-se realizar testes simulando 1.000 usuários simultâneos em condições de livestreaming e streaming de vídeo comum
- A Octopuce apoiou a implantação da infraestrutura de testes
- A Framasoft pretende publicar no fim de 2023 ou início de 2024 um relatório com conclusões e recomendações de configuração de servidor por caso de uso
- Os resultados iniciais dos testes levaram a várias melhorias de desempenho no v6
- Processamento de tarefas HTTP unicast em worker threads
- Processamento de assinaturas de requisições ActivityPub em worker threads
- Otimização de requisições HTTP de vídeos recomendados
- Otimização de consultas SQL de vídeos ao filtrar por live ou tags
- Otimização do endpoint
/videos/{id}/viewsquando há muitos espectadores - Adição de recurso para desativar logs HTTP do PeerTube
Remoção do WebTorrent e melhorias no player
- O v6 remove o suporte a WebTorrent e passa a focar em HLS para reduzir dívida técnica
- WebTorrent e HLS são elementos tecnológicos que fornecem streaming peer-to-peer em navegadores web
- O PeerTube considera que o HLS é mais adequado para o cenário atual e os planos futuros
- O foco do v6 é HLS e WebRTC P2P
- O player de vídeo ficou mais eficiente
- Ele não é recriado toda vez que o vídeo muda
- Configurações de visualização como velocidade e tela cheia são mantidas mesmo após trocar de vídeo
- O tamanho é ajustado automaticamente à proporção do vídeo
- O SEO foi melhorado para que vídeos hospedados na plataforma PeerTube apareçam melhor nos resultados de mecanismos de busca
- Também houve melhorias de acessibilidade em vários níveis para melhorar a experiência de pessoas com deficiência
- O changelog completo pode ser consultado no lançamento do PeerTube v6.0.0
Próximos planos e apoio financeiro
- A Framasoft avalia que o PeerTube vem ganhando atenção e reconhecimento, e que sua comunidade está crescendo, em meio à reação do YouTube contra bloqueadores de anúncios, ao aumento da exploração de streamers pela Twitch e à maior percepção da toxicidade desses sistemas
- Como há muitos anúncios sobre os próximos planos do PeerTube, uma notícia separada será publicada em duas semanas
- Também está planejada uma livestream Ask Us Anything para responder perguntas sobre o PeerTube
- As novidades do PeerTube podem ser acompanhadas pela PeerTube Newsletter, pela conta do PeerTube no Mastodon e pelo Framablog
- O desenvolvimento do PeerTube é realizado em conjunto por 1 desenvolvedor remunerado em tempo integral, 1 estagiário e a comunidade
- A Framasoft é uma organização francesa sem fins lucrativos, e 75% de sua receita anual vem de doações individuais
- O financiamento do desenvolvimento do PeerTube vem principalmente de entusiastas francófonos de software livre e de código aberto e de subsídios da NLnet por meio das iniciativas NGI de 2021 e 2023
- A Framasoft precisa arrecadar €176,425 em 5 semanas para equilibrar o orçamento de 2024
1 comentários
Opiniões do Hacker News
Tenho interesse porque queria experimentar o PeerTube, mas não conheço bem
No texto, dizem que removeram o WebTorrent e escolheram HLS; então fico me perguntando se o PeerTube deixou de ser P2P
HLS soa como algo ligado a codec ou formato de contêiner, enquanto WebTorrent soa como um modo de fazer os peers transmitirem dados de vídeo entre si para que o servidor não fique facilmente congestionado em picos de tráfego
Eu achava que essa era a principal vantagem do PeerTube sobre outras plataformas, e que até o nome vinha daí; não sei se entendi errado ou se isso realmente desapareceu
No texto dizem que HLS também é um componente do streaming P2P, mas HLS não seria mais parecido com um formato de contêiner que encapsula dados de vídeo, como MP4 ou MKV?
Os dados HLS, se o WebTorrent não tivesse sido removido, parecem mais algo que poderia ser distribuído via WebTorrent
Ela precisa ser atualizada para refletir a remoção do WebTorrent, mas a parte de HLS ainda é válida
Ao usar o player HLS, o player carrega a playlist HLS do servidor de origem com hls.js, e o PeerTube fornece ao hls.js um loader personalizado para baixar segmentos não só via HTTP, mas também via P2P baseado em WebRTC
Os segmentos são recebidos por HTTP do servidor de origem e dos servidores que espelham o vídeo e, ao mesmo tempo, via WebRTC de outros navegadores assistindo ao mesmo vídeo; então o hls.js faz o streaming disso para o elemento HTML
A cópia original fica hospedada em algum site, seja o meu ou o de outra pessoa, e, se bastante gente assistir, o sistema de distribuição de streaming P2P entra em ação para acrescentar largura de banda
É apenas uma forma de não precisar de uma largura de banda enorme de hospedagem para suportar muitos espectadores
Mas quase ninguém usa PeerTube. Olhando a lista de populares da Hardlimit, o vídeo em 1º lugar tem 217 visualizações, e o vídeo que enviei há dois dias para explicar um relatório de bug está em 9º, com 14 visualizações. É um nível lamentável
Talvez decole se houver integração com WordPress, permitindo que sites WordPress sirvam vídeos via PeerTube, e se mais sites passarem a incorporar automaticamente links como vídeos reproduzíveis
https://video.hardlimit.com/videos/trending
WebTorrent é só torrent sobre streams de dados WebRTC; então, quando dizem “P2P HLS”, parece significar enviar HLS sobre streams de dados WebRTC ou sobre streams de vídeo
A remoção do WebTorrent é uma pena. Em clientes torrent reais, isso ainda era um trabalho em andamento; esse ecossistema realmente se move devagar por natureza, mas a culpa não é do WebTorrent
No fim, ele acabou sendo retirado antes mesmo de ter uma chance num ecossistema que se move lentamente
Além disso, ficou mais difícil para instâncias PeerTube fazerem P2P só com um infohash compartilhado e DHT, por exemplo
Reuploads de vídeos entram em conflito com esse tipo de solução imutável, mas isso é quase uma vantagem
Você sabia que um vídeo antigo do Crazy Frog foi silenciosamente trocado por um corte diferente bem recentemente? https://youtu.be/k85mRPqvMbE?t=75 vs. https://hobune.stream/videos/k85mRPqvMbE
Reupload deve ser reupload, e a versão anterior deve permanecer separada
Indo além, fica ainda mais impossível criar e descobrir arquivos interoperáveis do YouTube baseados na mesma origem. Os esforços de preservação e espelhamento ficam isolados e duplicados
Isso está ligado à dificuldade de implementar o streaming ao vivo oferecido desde a v3
A libwebrtc do Google é o padrão de fato e, pelo que sei, mesmo que o WebTorrent só precise de streams de dados, é necessário compilar tudo, incluindo codecs de vídeo e áudio
Mesmo no Node.js, webtorrent parece fácil por ser escrito em JavaScript, mas as opções são basicamente wrtc ou Electron
wrtc é um addon nativo, então é preciso compilá-lo a partir do código-fonte ou usar binários pré-compilados; webtorrent-hybrid usa isso, mas não recebe atualização há 3 anos
O Electron inclui a libwebrtc como parte do motor Blink, e, pelo que sei, o webtorrent-desktop usa essa abordagem
Seria bom haver uma API web melhor para tráfego P2P. Infelizmente, WebTransport não faz hole punching de firewall etc., então não serve para P2P
Se existisse uma API assim, em vez de todo mundo desperdiçar tempo compilando, usando e distribuindo libwebrtc, o ecossistema P2P poderia realmente avançar
Alguns anos atrás, criei um cliente PeerTube para Android
Gosto do PeerTube e realmente acredito neste projeto, mas não sei se o esforço que coloquei no cliente e a reescrita quase concluída com uma estrutura Jetpack/MVVM valeram a pena
Fico mal por abandonar, mas acho que provavelmente devo parar
https://github.com/sschueller/peertube-android
Fico curioso se é porque não há interesse no próprio PeerTube ou porque não há demanda pela versão Android
Parece um problema de ovo e galinha. A questão é se o PeerTube precisa ter um app para Android ou iOS para se tornar popular, ou se o PeerTube precisa ganhar popularidade para surgir demanda por um app Android
Na minha opinião, é mais o primeiro caso do que o segundo. Não posso julgar sua motivação para desistir, mas normalmente acho melhor aguentar o último passo, que costuma ser o mais difícil
Quando o app oficial sair no ano que vem, acho que serão necessários muitos colaboradores
A ideia deste projeto é realmente boa. Mas, infelizmente, há uma razão econômica pela qual é difícil o PeerTube vencer
Não é por causa do custo de hospedagem de vídeo, e isso se aplica da mesma forma mesmo que a hospedagem seja gratuita
Imagine que você é um criador popular: pode publicar seus vídeos em uma plataforma sem anúncios, onde os usuários assistem felizes e sem interrupções, ou pode publicá-los em uma plataforma sustentada por anúncios e receber uma fatia daquela doce receita publicitária
Quanto mais popular o vídeo fica, mais forte se torna a tentação da segunda opção
Assim, nas plataformas gratuitas, o conteúdo mais popular acaba saindo, e os espectadores vão embora junto
Essa lógica também se aplica, em geral, a plataformas gratuitas versus plataformas comerciais. Acho que isso chega perto da razão fundamental pela qual a internet de hoje ficou tão ruim
Se existe uma forma de resolver esse dilema, eu não sei qual é
Em geral, podcasts foram distribuídos por meio de plataformas gratuitas, e o conteúdo foi monetizado com anúncios de patrocínio
Ou seja, o criador fecha contrato diretamente com uma marca e insere, dentro do conteúdo, um bloco de anúncio lido pelo apresentador
Há um caminho claro e comprovado para criadores monetizarem mesmo em plataformas de distribuição gratuita
É claro que, como quem assiste bastante ao YouTube sabe, criadores têm receita dupla em plataformas comerciais: inserem anúncios de patrocínio e ainda dividem a receita do AdSense
Então ainda há uma grande vantagem em publicar também no YouTube. Mas, como o valor dos contratos de patrocínio está relacionado ao alcance total da plataforma, pode haver incentivo para publicar em várias plataformas, desde que as principais plataformas comerciais não imponham exclusividade
A própria premissa está errada. As condições para “vencer” não são as mesmas, então nem é útil usar essa palavra
As métricas de sucesso do PeerTube e da Framasoft são o quanto a sociedade e as comunidades são livres
Considerando o avanço do Fediverse e o aumento do uso de software livre, acho que estão em uma trajetória muito boa
Fora o Google, certamente existe um mercado de anúncios. Todas as empresas que patrocinam vídeos são exemplos disso
Na prática, parece que YouTubers ganham mais com esses patrocínios do que com o dinheiro que recebem do Google
No fim, alguém precisa fazer esse esforço
Fico curioso sobre o nível de dificuldade para instalar e operar o PeerTube
Existe uma forma de fazer a instalação do PeerTube tão facilmente quanto instalar o MediaCMS [0, 1] [2]?
Avaliei soluções de vídeo auto-hospedadas, basicamente alternativas ao YouTube, e o PeerTube pareceu muito mais maduro e popular que o MediaCMS
Mas eu queria algo “fácil”, então por enquanto fiquei com o MediaCMS. A sustentabilidade do projeto no longo prazo me preocupa um pouco, mas, como não havia opção melhor, deixei isso de lado por ora
Se for possível subir o PeerTube com a mesma facilidade, mesmo em um único servidor, gostaria de saber
Sei que este é um site técnico, mas não quero gastar muito tempo com operação e configuração fora da minha área principal de atuação
Gostaria que, na medida do possível, simplesmente funcionasse, mas fosse auto-hospedado; bare metal também serve
Sei que o PeerTube consegue fazer muito mais, mas ficaria muito grato por ideias sobre como reduzir a complexidade de hospedagem, seja real ou percebida
[0] https://mediacms.io
[1] https://news.ycombinator.com/item?id=25507204
[2] https://github.com/mediacms-io/mediacms/…
Não lembro quanto tempo levou, mas acho que não tive muitos problemas grandes
Também foi muito fácil adicionar integração de login com o servidor LDAP existente
Se você tem interesse em PeerTube/Mastodon, recomendo assistir a este vídeo recente
https://urbanists.video/w/n7xyeV1kbW8mUKr4ncchhs
Se quiser testar, esta instância está na versão 6.0.0-rc.2: https://framatube.org/videos/local
Veja também o About: https://framatube.org/about/instance
Não encontrei uma instância estável da v6
Eu rodo minha própria instância do PeerTube, assim como se roda a própria instância do Mastodon
O Mastodon é incrível. Uma instância pessoal pode se conectar a qualquer outra instância e trazer dados; ao pesquisar, minha instância faz proxy da busca para o servidor original
É só um pouquinho mais trabalhoso do que usar um único servidor grande
O PeerTube não é assim. Nominalmente, ele oferece todos os mesmos recursos, mas, quando os detalhes se somam, não funciona direito
Digamos que você queira simplesmente navegar por vídeos a partir de uma instância pessoal. Como encontrar conteúdo remoto? O servidor pode “seguir” outros servidores e replicar essa timeline para o seu lado. Desde que o servidor remoto permita
Do ponto de vista do usuário, é possível seguir canais de qualquer lugar, e esse conteúdo preenche a timeline local do seu servidor
Mas e a busca? É preciso usar um índice de busca de terceiros, e ele também é opt-in. Caso contrário, é preciso entrar diretamente em cada instância remota que você conhece e pesquisar lá
Mesmo que, de algum modo, muito conteúdo tenha chegado ao servidor, como encontrar algo que valha a pena assistir? Não dá
A maior parte dos filtros e da busca é inútil, e só o feed de assinaturas pessoais é minimamente confiável
Eu queria gostar do PeerTube, mas realmente, realmente não gosto. A descoberta de conteúdo é tão ruim que a plataforma inteira fica quase inutilizável
Na prática, é bem provável que a melhor opção seja entrar na maior instância. Isso derruba o principal sentido da estrutura distribuída e federada
Não importa quantos vídeos existam no serviço se ninguém consegue encontrá-los. Se o PeerTube não se dedicar seriamente a esse problema, vai se tornar irrelevante em poucos anos
Por algum motivo, o cabeçalho HTML da página marca o idioma como fr-FR, então o Firefox gentilmente sugeriu traduzir para o inglês
O trabalho da Framasoft é realmente inspirador
Só espero que seja mais adotado. Não sei se alguém lembra da época do Firefox 2 e 3, e do “marketing comunitário”, mas acho que um projeto desse tipo também teria valor aqui
Por exemplo, seria ótimo se criadores influentes promovessem todo ano um Framasoft February e se comprometessem a hospedar parte dos vídeos que quisessem no PeerTube
Digamos que eu publique um Show HN, ele gere reação e eu receba uma enxurrada de tráfego do HN
Em teoria, o PeerTube deveria conseguir lidar com a carga de vídeos sem depender do YouTube, mas alguém já conseguiu isso na prática?
Vou pedir aos provedores de conteúdo de que gosto que participem