sapo-videos/index.html.erb

104 lines
4.7 KiB
Plaintext

<style>
body { max-width: 960px; margin: 0 auto; }
code, pre { font-size: 1rem; font-weight: bold; }
</style>
<body>
<h1>Vamos arquivar o SAPO Vídeos</h1>
O <a href="https://videos.sapo.pt">videos.sapo.pt</a> vai fechar as portas a 17
de setembro, e os vídeos vão ser apagados. Estamos a tentar arquivar o conteúdo
antes que isso aconteça. Podes ajudar de duas formas:
<ol>
<li><a href="#descarregar">Descarregar os vídeos</a>: se tiveres uns terabytes livres, podes correr o programa abaixo para ir descarregando novos vídeos;</li>
<li><a href="#descobrir">Descobrir vídeos novos</a>: temos indexados 1.5 milhões de vídeos, mas estima-se que haja 5 milhões.</li>
</ol>
<p>No fim da página há algumas <a href="#estatisticas">estatísticas</a> que descrevem o estado do projecto.</p>
<h2 id="descarregar">Descarregar vídeos</h2>
<p>
Nota: Só temos instruções para GNU/Linux.
</p>
<ol>
<li>Faz <a href="/saca-sapos.tar.gz">download do saca-sapos</a></li>
<li>Descomprime o programa (<code>tar xzf /caminho/para/o/saca-sapos.tar.gz</code>)</li>
<li>Instala as dependências: <code>curl</code> e <code>jq</code></li>
<li>
Corre o programa a partir de uma pasta com espaço suficiente para descarregar o número de vídeos especificado:
<pre>$ cd /pasta/com/bastante/espaço
$ /caminho/para/o/saca-sapos download QUANTIDADE_DE_VIDEOS TEU_ENDERECO_DE_EMAIL
</pre>
</li>
<li>Vamos contactar-te a pedir que nos mandes os vídeos que descarregaste, por isso garante que usas um endereço válido</li>
<li>Quando o programa acabar, já está! Corre novamente para descarregar mais uns quantos vídeos.</li>
</ol>
<p>O programa saca até 4 vídeos em simultâneo, mas pode ser configurado para mais ou menos. Por exemplo:</p>
<pre>$ cd /pasta/com/bastante/espaço
$ PROCS=10 /caminho/para/o/saca-sapos download 1000 eu@exemplo.pt
</pre>
<p>Para ajudar a ter noção de quanto ocupa um certo número de vídeos, temos nas estatísticas o tamanho médio por vídeo.</p>
<h2 id="descobrir">Descobrir vídeos novos</h2>
<p>
O <a href="https://git.ansol.org/hugopeixoto/sapo-videos/">repositório de
código deste projecto</a> tem os scripts usados para varrer a plataforma
e guardar todos os identificadores de vídeos que encontrar. Por exemplo, é possível
varrer todas as 1468 páginas da categoria "Animação" (3) correndo o comando:
</p>
<pre>./get-category.sh 3 1468</pre>
<p>
No total, temos recolhidos 1.5 milhões de vídeos. Supostamente há cerca de 5 milhões.
Diponibilizamos os <a href="/videos.jsonl">metadados dos vídeos encontrados (1.5 GiB)</a> em formato JSONL.
Cada linha é um objecto JSON que representa um vídeo.
</p>
<p>
Os endpoints de pesquisa devolvem os metadados completos de cada resultado.
Não sabemos de nenhum endpoint que devolva os metadados de um vídeo em
específico.
</p>
<p>Coisas que já foram feitas:</p>
<ul>
<li>Varridos os resultados das pesquisas por letras únicas de <code>a</code> a <code>z</code> (<code>./get-search.sh a 105</code>, etc);</li>
<li>Varridos os resultados das pesquisas por um só espaço (<code>./get-search.sh " " 13716</code>);</li>
<li>Varridos todos os utilizadores dos vídeos encontrados nos passos anteriores;</li>
<li>Varridas todas as categorias;</li>
<li>Varridos os resultados das pesquisas por um números até 16 (<code>./get-search.sh 1 6007</code>, etc);</li>
</ul>
<p>
Os scripts à volta desta tarefa não estão muito optimizados para distribuir
trabalho / fazer trabalho incremental, mas qualquer ajuda a descobrir mais
vídeos é bem-vinda. Mandem mensagens no fediverso (<a href="https://ciberlandia.pt/@hugopeixoto">@hugopeixoto@ciberlandia.pt</a>) para coordenarmos trabalho.
</p>
<h2 id="estatisticas">Estatísticas</h2>
<p>Número de vídeos conhecidos: <%= videos_known %></p>
<p>Número de vídeos descarregados: <%= videos_downloaded %> (<%= (videos_downloaded * 100.0 / videos_known).round(2) %>%)</p>
<p>Tamanho descarregado: <%= h bytes_downloaded %></p>
<p>Tamanho médio: <%= h(bytes_downloaded / videos_downloaded) %>/vídeo</p>
<p>Tamanho total estimado: <%= h bytes_downloaded / videos_downloaded * videos_known %></p>
<p>Número de pessoas a descarregar vídeos: <%= users %></p>
<p>Tamanho descarregado por cada pessoa:</p>
<ol>
<% downloads_per_user.each_with_index do |downloads, index| %>
<li><%= h downloads["size"] %> (<%= downloads["total"] %> vídeos)</li>
<% end %>
</ol>
<footer>
<hr />
<p>Este projecto é <a href="https://git.ansol.org/hugopeixoto/sapo-videos/">Software Livre</a></p>
</footer>
</body>