Como é que podemos ter a certeza de que se trata de uma transmissão de vídeo? Deve ser 24 horas por dia, 7 dias por semana, flexível, tão autónoma quanto possível e não depender de forma alguma do seu computador. É sobre isto que falaremos a seguir.
A solução ideal é alugar um servidor virtual. Pode escolher o VPS/VDS a partir da gama de tarifas oferecidas no nosso sítio Web. Os preços são democráticos. A qualidade é elevada.
Depois de criar um servidor, a primeira coisa que tem de fazer é ligar-se a ele através de SSH. Pode utilizar a aplicação Secure Shell, que é executada no Google Chrome. Depois disso, é preciso alterar o nome do host, configurar a sincronização de horário, atualizar o sistema, configurar o iptables
e realizar algumas outras ações. Embora essas etapas não sejam obrigatórias, achei interessante configurar o servidor e ter a satisfação de concluir as tarefas com êxito.
Há alguns passos específicos que têm de ser seguidos:
EPEL
.(vsftp
).o ffmpeg
.O ffmpeg
é um conjunto de bibliotecas gratuito e de código aberto que permite gravar, converter e transferir gravações digitais de áudio e vídeo numa variedade de formatos.
Utilizando o ffmpeg
, pode extrair som de um vídeo, cortar um fragmento de vídeo sem transcodificar, converter de um formato para outro e muitas outras acções. Por exemplo, um ficheiro pode ser convertido num fluxo e redireccionado para o YouTube.
É necessário seguir alguns passos específicos e utilizar as ferramentas adequadas para configurar o servidor para transmitir e converter o vídeo.
A seguir, vamos criar uma transmissão no YouTube. Para isso, precisamos de um link de transmissão e de uma chave que teremos de utilizar no passo de configuração da transmissão. É mais fácil encontrá-los rapidamente na página do YouTube onde a transmissão está a ser criada.
Em seguida, temos de carregar os ficheiros de vídeo que queremos transmitir para o servidor. Se tiver uma forma mais conveniente de carregar ficheiros, não precisa de configurar um servidor FTP.
Para iniciar a transmissão, precisamos de executar o ffmpeg
com alguns atributos. Criar um comando curto para este fim foi um processo bastante complicado, mas se for feito corretamente, o YouTube deverá detetar com êxito o fluxo que está a ser transmitido.
Quando o YouTube tiver detectado a transmissão, clique no botão "Start Broadcast" (Iniciar transmissão) no painel de controlo e a transmissão será iniciada com êxito.
O guião acima ajudá-lo-á a criar uma transmissão 24/7 a partir de ficheiros de vídeo. É importante executar o processo em segundo plano usando o comando nohup bash
. Agora pode personalizar a sua emissão e deixá-la correr independentemente da sua presença. Não te esqueças de que a chave para a tua emissão tem de ser escrita no comando apropriado.
Comando 1... (iniciar a transmissão do ficheiro lecture1.mp4
)
Comando 2... (iniciar a transmissão da aula2.mp4
)
Comando 3... (iniciar a transmissão da aula3.mp4
) bash start.sh
Versão do script:
ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY% nohup bash start.sh $
Desejamos-lhe uma transmissão bem sucedida!
Vamos fazer alguns ajustes finos para uma melhor transmissão
ffmpeg -re -i lecture1.mp4 -vf "drawtext=text='Lecture 1':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
Neste exemplo, o texto "Lecture 1" será sobreposto no centro do vídeo. O tamanho da letra é de 30 pixéis. O fundo do texto será transparente com um traço preto.
Terá de alterar o texto no comando para cada aula. E para automatizar este processo e eliminar a introdução manual, terá de criar um ficheiro .sh
com uma lista de todas as aulas e respectivos nomes. Assim:
aula1.mp4
Aula 1 aula2.mp4
Aula 2 palestra3.mp4
Palestra 3
Em seguida, precisamos de escrever um script que leia este ficheiro e adicione automaticamente texto ao vídeo.
Aqui está um script desse género:
while read line; do
file=$(echo $line | cut -d' ' -f1)
text=$(echo $line | cut -d' ' -f2-)
ffmpeg -re -i $file -vf "drawtext=text='$text':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
done < lectures.txt
Neste script, lemos cada linha do ficheiro lectures .txt
, destacando o nome do ficheiro e o título da aula. Depois, usamos o comando ffmpeg
para adicionar o texto ao vídeo.
Assim, agora temos uma transmissão com títulos de palestras, o que a tornará mais cómoda para os espectadores e facilitará a procura do conteúdo de que necessitam.