Transfira sua biblioteca do Vimeo para seu próprio pipeline
O Vimeo é um bom lugar para hospedar e compartilhar vídeos. Mas, cedo ou tarde, muitas equipes querem seus vídeos em um ambiente que controlem: seu próprio player, sua própria CDN, um acervo ou um pipeline que adicione legendas ou miniaturas. Extrair os arquivos exige escrever um cliente da API do Vimeo, percorrer as páginas da biblioteca, aguardar vídeos ainda em processamento e escolher a variante de resolução certa de cada vídeo.
🤖 /vimeo/import cuida da importação, aguarda a conclusão do
processamento por um tempo limitado e seleciona a variante de resolução solicitada antes de encaminhar
os vídeos para o restante da sua Assembly. Este exemplo importa uma página com até 20 vídeos;
page_number tem o valor padrão 1.
Etapa 1: conceder à Transloadit acesso de leitura aos seus vídeos
O Vimeo só permite que um aplicativo baixe seus arquivos de vídeo com um token que tenha a permissão Video Files. O Vimeo concede essa permissão a aplicativos de terceiros somente por meio do programa de parceiros do Vimeo. Por isso, você cria o token em um aplicativo próprio no Vimeo:
- Em developer.vimeo.com/apps, crie um aplicativo (ou abra um que você já tenha) e gere um token de acesso pessoal com Public, Private e Video Files.
- No Transloadit Console, abra Credenciais, adicione uma credencial do Vimeo, escolha
Colar um token de acesso pessoal e dê um nome a ela, por exemplo,
vimeo.

Ao salvar, a Transloadit verifica o token com o Vimeo e informa se alguma permissão está faltando. O token nunca mais é exibido. Os downloads continuam dependendo do seu plano do Vimeo e das permissões do vídeo. A documentação das Credenciais de Template traz os detalhes.

Etapa 2: um único comando
Primeiro, autentique a CLI da Transloadit. O
login pelo navegador do SDK
usa npx -y @transloadit/node auth login para obter uma chave dedicada à CLI. Essa chave é separada da
Credencial de Template do Vimeo acima.
Salve estas Assembly Instructions como vimeo.json:
{
"steps": {
"imported": {
"robot": "/vimeo/import",
"credentials": "vimeo",
"path": "me/videos",
"rendition": "720p",
"files_per_page": 20
},
"encoded_480p": {
"use": "imported",
"robot": "/video/encode",
"preset": "hls/480p",
"ffmpeg_stack": "v7"
},
"encoded_720p": {
"use": "imported",
"robot": "/video/encode",
"preset": "hls/720p",
"ffmpeg_stack": "v7"
},
"hls": {
"use": {
"steps": ["encoded_480p", "encoded_720p"],
"bundle_steps": true,
"group_by_original": true
},
"robot": "/video/adaptive",
"technique": "hls",
"playlist_name": "playlist.m3u8"
},
"stored": {
"use": "hls",
"robot": "/transloadit/store",
"path": "vimeo/${file.original_basename}/${file.meta.relative_path}/${file.name}",
"conflict_strategy": "overwrite",
"result": true
}
}
}
Depois, execute:
npx -y @transloadit/node assemblies create --steps vimeo.json -o out/
Cada vídeo da página selecionada é importado em 720p, codificado em 480p e 720p e empacotado em seu
próprio fluxo HLS adaptativo. group_by_original mantém juntas as variantes de resolução
de cada vídeo, gerando um playlist.m3u8 por vídeo, com o nome do seu ID do Vimeo:
$ find out/hls -name '*.m3u8'
out/hls/1243010274/playlist.m3u8
out/hls/1243010274/852x480_785191_25/852x480_785191_25.m3u8
out/hls/1243010274/1280x720_1367783_25/1280x720_1367783_25.m3u8
out/hls/1243010465/playlist.m3u8
out/hls/1243010465/852x480_769775_25/852x480_769775_25.m3u8
out/hls/1243010465/1280x720_1366589_25/1280x720_1366589_25.m3u8
A mesma estrutura de diretórios é salva de forma privada no seu
Transloadit Storage, em vimeo/.
A reprodução pública exige uma configuração de distribuição separada; consulte nossas
perguntas frequentes sobre hospedagem para uma visão geral.
O exemplo usa overwrite intencionalmente: executar novamente reprocessa a seleção
da página atual e cria uma nova versão retida em cada destino que já existe.
Prefere seu próprio bucket? Substitua o último Step por 🤖 /s3/store
ou por qualquer outro Robot de armazenamento com o mesmo
path.
Adapte à sua biblioteca
- Álbuns, canais e mais:
pathaceita caminhos da API do Vimeo que listam vídeos, comome/albums/:album_id/videos,me/channels/:channel_id/videosoume/likes. - Bibliotecas grandes: o Vimeo retorna até 100 vídeos por página. Defina
files_per_pagee execute uma vez porpage_number. O guia para migrar do Vimeo para o Vimeo explica as armadilhas da paginação e o rastreamento da identidade na origem. - Qualidade:
renditionaceita de240paté1080p, ousourcepara o upload original. Os originais só estão disponíveis se o Vimeo os tiver mantido, e nem todo vídeo tem todas as variantes de resolução. Quando uma delas está ausente, a Assembly informa isso em vez de falhar silenciosamente. - Ainda em processamento: a espera tem um limite. Se um vídeo ainda estiver em processamento quando o limite expirar, a importação falha e solicita que você tente novamente mais tarde. Uma falha na transcodificação do Vimeo faz a importação falhar imediatamente.
Comece agora
Crie o token, adicione a credencial, autentique a CLI e execute o comando acima com sua própria conta. A documentação do 🤖 /vimeo/import lista todos os parâmetros.

