Fila de trabalhos do Linux para conversão de FFmpeg

2

Estou iniciando um servidor web Debian que hospedará um site onde os usuários podem fazer upload de arquivos de vídeo e reproduzi-los.

Assim, os arquivos de vídeo precisam ser convertidos no formato adequado (mp4, ogg, webm) para compatibilidade com os diferentes navegadores existentes.

Até agora, eu escrevi um script que faz o truque usando o FFmpeg. O problema é que, quando muitos usuários fazem upload de um vídeo ao mesmo tempo, meu servidor da web fica muito lento.

Estou procurando uma solução curta e fácil que enfileire chamadas diferentes para o script de conversão, para que apenas uma instância possa ser executada ao mesmo tempo. Eu tentei usar o comando batch, mas não consigo encontrar muita informação sobre como usá-lo. Eu também considerei criar um pipe nomeado, também sem sucesso.

Qualquer ajuda muito apreciada

    
por Flock Dawson 31.01.2013 / 18:08

2 respostas

1

Coloque todos os arquivos carregados completos em um diretório, com o idioma da Web que você estiver usando.

Em seguida, você pode agendar um cronjob com seu script, para ser executado, por exemplo, a cada hora e converter os vídeos que estão no diretório / pendente.

Você pode querer usar o flock para que apenas uma instância deste script possa ser executada no mesmo momento, mesmo que demore mais que o esperado e o cron inicie outro script.

Dentro do script você pode usar legal para reduzir sua prioridade, para que o servidor web tenha maior prioridade.

    
por 31.01.2013 / 20:58
0

Eu criei um servidor de codificação de vídeo python3 para meu uso interno. Com alguns mods, deve fazer o truque para você. Com o meu servidor python, tudo o que você precisa fazer é criar um link simbólico em um diretório de fila especial e lidar com ele de lá, ele também lida com saltos comerciais (dos quais eu sou o portador do Linux) que você pode comentar se estiver não está interessado nisso.

link

link

    
por 06.02.2013 / 02:24